@charset "UTF-8";
/*
Theme Name: xAmplify2
Theme URI: https://charger.agency
Author: Charger Agency
Description: custom theme for xAmplify
Version: 1.0
Text Domain: xa
*/
/* BUILD: 20260824-1437 */
@import url("https://fonts.googleapis.com/css2?family=Host+Grotesk:ital,wght@0,300..800;1,300..800&family=Roboto+Mono:wght@100..700&display=swap");
@import url("https://use.typekit.net/kdr3fgo.css");
.pointer {
  cursor: pointer;
}

.fit-content {
  width: fit-content;
}

.space-20 {
  width: auto;
  height: 20px;
}

header, footer, article, section, hgroup, nav, figure, aside {
  display: block;
}

section {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  position: relative;
}

body, html {
  margin: 0;
  padding: 0;
  height: 100%;
}

body.fixed {
  overflow: hidden;
}

.wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}

figure {
  margin: 0;
  padding: 0;
  border: none;
}

:focus, :active {
  outline: 0;
}

img {
  border-style: none;
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  color: #1C0A43;
  transition: all 0.3s;
}

ol li,
ul li,
p {
  font-weight: 300;
  font-size: 16px;
  line-height: 22px;
}

p {
  margin: 0 0 30px;
}
p:last-of-type {
  margin: 0;
}
@media (max-width: 1023px) {
  p {
    margin-bottom: 28px;
  }
}

div {
  box-sizing: border-box;
}

b, strong {
  font-weight: 700;
}

clearfix:after {
  content: "";
  clear: right;
  display: table;
}

h1, h2, h3 {
  font-family: "Host Grotesk", sans-serif;
}

.btn, .button {
  width: auto;
  height: auto;
  padding: 3px 18px;
  border-radius: 44px;
  border: none;
  cursor: pointer;
  font-weight: 600;
  font-size: 12px;
  line-height: 25px;
  text-decoration: none;
  text-align: center;
  box-sizing: border-box;
  display: block;
  font-family: "acumin-pro", sans-serif;
  background: #1C0A43;
  color: #fff;
  transition: all 400ms ease-in-out;
  -webkit-appearance: none;
}
.btn.btn-blue, .button.btn-blue {
  background-color: #1C0A43;
}
.btn.btn-blue:hover, .btn.btn-blue:active, .button.btn-blue:hover, .button.btn-blue:active {
  background-color: #4e7bff;
}
.btn.btn-secondary, .button.btn-secondary {
  background-color: #F04E58;
  color: #F7F7F7;
}
.btn.btn-secondary:hover, .button.btn-secondary:hover {
  background-color: #1C0A43;
}
.btn:hover, .btn:active, .button:hover, .button:active {
  background-color: #F04E58;
}

.gform_validation_errors {
  display: none !important;
}

form .gform-body {
  width: 100%;
}
form .gfield {
  width: 100%;
  grid-column: 1/-1;
  position: relative;
}
form .gfield.gfield_error input:not([type=submit]), form .gfield.gfield_error select {
  border-color: red;
}
form input {
  font-size: 13px;
  line-height: 17px;
}
form .gfield_validation_message {
  background: transparent !important;
  border: 0 !important;
  color: red !important;
  font-size: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  position: absolute;
  bottom: -22px;
  left: 0;
  text-align: center;
}

input,
select,
textarea {
  border-radius: 0;
  outline: none;
  appearance: none;
}

::placeholder {
  color: rgb(0, 0, 0);
}

a[href^=tel] {
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}

/* == WordPress WYSIWYG Editor Styles == */
.entry-content img {
  margin: 0 0 1.5em 0;
}

.alignleft, img.alignleft {
  margin-right: 1.5em;
  display: inline;
  float: left;
}

.alignright, img.alignright {
  margin-left: 1.5em;
  display: inline;
  float: right;
}

.aligncenter, img.aligncenter {
  margin-right: auto;
  margin-left: auto;
  display: block;
  clear: both;
}

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

body {
  min-width: 320px;
  background-color: var(--surface, #F7F7F7);
  background-image: var(--surface-image, none);
  color: var(--text, #1C0A43);
  -webkit-text-size-adjust: 100%;
  font-family: "acumin-pro", sans-serif;
  font-weight: 500;
}
body .wrap {
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
  /*
   * Side gutter.
   *
   * Was a flat 20px, which is right on a phone but leaves desktop
   * content almost touching the viewport edge. .wrap caps at 1400px,
   * so this padding is only visible below that width -- exactly the
   * laptop and tablet range where it was too tight.
   *
   * clamp keeps the phone value and scales up from there.
   */
  padding: 0 clamp(20px, 3.6vw, 80px);
  max-width: 1400px;
}
@media (max-width: 479px) {
  body .wrap {
    padding: 0 15px;
  }
}
body main,
body section.main {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: auto;
  width: 100%;
  padding-top: 62px;
  /*
   * No overflow here.
   *
   * overflow:hidden creates a scroll container and disables
   * position:sticky for every descendant. overflow:clip is meant to
   * avoid that, but WebKit still breaks sticky under it -- which is
   * why the Digital One block wouldn't pin on iPad.
   *
   * The overflow this was hiding came from elements sized at 100vw
   * (100vw includes the scrollbar width, so it exceeds the content
   * box). Those are now 100% instead, so there is nothing to clip.
   */
}
body .row {
  display: flex;
}
body header {
  width: 100%;
  padding: 13px 0 8px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
  background: #F7F7F7;
  border-bottom: 1px solid #1C0A43;
}
body header:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: -100%;
  transition: all 0.2s ease-in-out;
}
body header.fixed:before {
  top: 0;
  transition: all 0.3s ease-in-out;
}
body header .wrap {
  position: relative;
  z-index: 10;
}
body header ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
body header .row {
  width: 100%;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
body header .logo {
  display: flex;
  flex-shrink: 0;
  position: relative;
  z-index: 15;
}
body header .logo img {
  height: 40px;
  width: auto;
}
body header #nav {
  display: flex;
  flex: auto;
  justify-content: flex-end;
}
@media (max-width: 1023px) {
  body header #nav {
    position: fixed;
    left: 100%;
    width: 100%;
    height: 100%;
    top: 0;
    background: #F7F7F7;
    transition: all 400ms ease-in-out;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  body header #nav.show {
    left: 0;
  }
}
body header #menu-toggle {
  display: none;
  position: relative;
  z-index: 1000;
  width: 20px;
  height: 11px;
  cursor: pointer;
  appearance: none;
  box-shadow: none;
  border-radius: none;
  border: none;
  cursor: pointer;
  box-sizing: border-box;
  margin-bottom: 6px;
}
@media (max-width: 1023px) {
  body header #menu-toggle {
    display: block;
  }
}
body header #menu-toggle.active span {
  width: 0;
}
body header #menu-toggle.active span::before {
  top: 0;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body header #menu-toggle.active span::after {
  bottom: 0;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
body header #menu-toggle.active span::before, body header #menu-toggle.active span::after {
  transition-delay: 0s, 0.3s;
  -webkit-transition-delay: 0s, 0.3s;
}
body header #menu-toggle span {
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  right: 0;
  width: 100%;
  height: 1px;
  background: #F04E58;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
body header #menu-toggle span:before {
  top: -5px;
  transition-property: top, transform;
  -webkit-transition-property: top, transform;
}
body header #menu-toggle span:after {
  bottom: -5px;
  transition-property: bottom, transform;
  -webkit-transition-property: bottom, transform;
}
body header #menu-toggle span:before, body header #menu-toggle span:after {
  content: "";
  position: absolute;
  display: block;
  width: 20px;
  height: 1px;
  left: 0;
  background-color: #F04E58;
  transition-duration: 0.3s, 0.3s;
  transition-delay: 0.3s, 0s;
  -webkit-transition-duration: 0.3s, 0.3s;
  -webkit-transition-delay: 0.3s, 0s;
}
body header ul.menu {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
}
body header ul.menu li.menu-item {
  margin-left: 53px;
  line-height: 14px;
  position: relative;
}
@media (max-width: 1169px) and (min-width: 1024px) {
  body header ul.menu li.menu-item {
    margin-left: 38px;
  }
}
body header ul.menu li.menu-item:first-of-type {
  margin-left: 0;
}
body header ul.menu li.menu-item a {
  color: #1C0A43;
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  position: relative;
  transition: all 0.3s;
}
body header ul.menu li.menu-item a:after {
  content: "";
  display: block;
  position: absolute;
  right: -25px;
  top: 50%;
  margin-top: -9px;
  width: 19px;
  height: 19px;
  background: url("images/arrow-btn.svg") no-repeat center;
  background-size: contain;
  transition: all 0.3s;
  opacity: 0;
}
body header ul.menu li.menu-item a:hover {
  color: #F04E58;
}
body header ul.menu li.menu-item a:hover:after {
  opacity: 1;
}
body header ul.menu li.menu-item.btn {
  margin-left: 58px;
  line-height: 24px;
}
body header ul.menu li.menu-item.btn a {
  color: #fff;
  font-weight: 600;
  font-size: 12px;
  line-height: 24px;
}
body header ul.menu li.menu-item.btn a:after {
  display: none;
}
@media (min-width: 1024px) {
  body header ul.menu li.menu-item:not(.btn) {
    height: 62px;
    margin-top: -24px;
    margin-bottom: -20px;
    display: flex;
  }
  body header ul.menu li.menu-item:not(.btn) a {
    padding: 23px 0 20px;
  }
}
body header ul.menu li.menu-item .sub-menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: absolute;
  display: none;
  background: #F7F7F7;
  width: auto;
  min-width: 530px;
  box-shadow: 2px 5px 12px rgba(0, 0, 114, 0.43);
  padding: 6px 13px;
  left: 0;
  border: 1px solid #1C0A43;
  border-top: none;
  top: 100%;
  white-space: nowrap;
  flex-wrap: wrap;
}
@media (max-width: 1023px) {
  body header ul.menu li.menu-item .sub-menu {
    display: none !important;
  }
}
body header ul.menu li.menu-item .sub-menu li {
  padding: 0;
  margin: 4px 0;
  width: 50%;
  height: auto;
}
body header ul.menu li.menu-item .sub-menu li a {
  font-size: 12px;
  font-weight: 500;
  line-height: 9px;
  padding: 7px 10px 7px 32px;
  padding: 7px 10px 7px 10px;
  text-transform: none;
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  position: relative;
  white-space: normal;
}
body header ul.menu li.menu-item .sub-menu li a .menu-icon {
  position: absolute;
  left: 0;
  top: 7px;
  width: 17px;
  height: auto;
}
body header ul.menu li.menu-item .sub-menu li a .menu-description {
  display: block;
  font-size: 11px;
  line-height: 13px;
  font-weight: 400;
  margin: 5px 0 0;
  color: #1C0A43;
}
body header ul.menu li.menu-item .sub-menu li a:after {
  display: none;
}
body header ul.menu li.menu-item .sub-menu li.current-menu-item a,
body header ul.menu li.menu-item .sub-menu li a:hover {
  color: #F04E58;
}
body header ul.menu li.menu-item:hover .sub-menu {
  display: flex;
}
@media (max-width: 1023px) {
  body header ul.menu {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  body header ul.menu li.menu-item {
    margin-left: 0;
    margin-bottom: 25px;
  }
  body header ul.menu li.menu-item.btn {
    margin-left: 0;
  }
  body header ul.menu a {
    font-size: 20px;
  }
  body header ul.menu a:last-child {
    margin-bottom: 0;
  }
}
body {
  /* ---------------------------------------------------------------------------
     Mega dropdown -- three columns grouped by outcome
     ---------------------------------------------------------------------------

     Applies automatically to any top-level item whose dropdown contains a
     third level -- :has() detects the nesting, so no admin class is needed.
     The `mega` class is kept as a manual override.

     Dropdowns with only two levels keep the existing two-column list.

     Expects a three-level menu:
       Our Services            <- .menu-item.mega
         Better Decisions      <- column heading
           AI & Data           <- capability
           Digital Strategy
         Greater Resilience
           ...

     The third level is rendered inline inside its column rather than as a
     nested flyout.
  --------------------------------------------------------------------------- */
  /* NOTE: this partial is imported inside `body { }` in style.scss, so the
     selector must NOT start with `body` -- that compiles to `body body`, which
     matches nothing. */
}
body header ul.menu li.menu-item.mega > .sub-menu,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu {
  display: none;
  grid-template-columns: repeat(3, minmax(210px, 1fr));
  align-items: start;
  gap: 8px 32px;
  padding: 22px 26px 24px;
  white-space: normal;
  /*
   * Centred under the trigger rather than anchored to its left edge.
   * At 780px wide, left:0 pushed the panel off the right of the screen
   * for any nav item past the middle. Capping to the viewport means it
   * can never be clipped whatever the item's position.
   */
  left: 50%;
  transform: translateX(-50%);
  min-width: min(860px, 100vw - 48px);
  max-width: calc(100vw - 48px);
}
@media (max-width: 1279px) {
  body header ul.menu li.menu-item.mega > .sub-menu,
  body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu {
    min-width: min(760px, 100vw - 40px);
    grid-template-columns: repeat(3, minmax(185px, 1fr));
    gap: 8px 22px;
  }
}
body header ul.menu li.menu-item.mega:hover > .sub-menu,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu):hover > .sub-menu {
  display: grid;
}
body header ul.menu li.menu-item.mega > .sub-menu > li,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li {
  width: auto;
  margin: 0;
}
body header ul.menu li.menu-item.mega,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) {
  /*
   * Non-clickable column headings.
   *
   * WP menu items require a URL, so an outcome that isn't a real page is
   * added as a Custom Link with "#". Targeting that href (or an explicit
   * `heading` class) makes it behave as a label: no pointer, no focus
   * stop, and hidden from the accessibility tree as a link.
   */
}
body header ul.menu li.menu-item.mega > .sub-menu > li.heading > a,
body header ul.menu li.menu-item.mega > .sub-menu > li > a[href="#"],
body header ul.menu li.menu-item.mega > .sub-menu > li > a[href$="/#"],
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li.heading > a,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li > a[href="#"],
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li > a[href$="/#"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}
body header ul.menu li.menu-item.mega > .sub-menu > li.heading > a:hover,
body header ul.menu li.menu-item.mega > .sub-menu > li > a[href="#"]:hover,
body header ul.menu li.menu-item.mega > .sub-menu > li > a[href$="/#"]:hover,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li.heading > a:hover,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li > a[href="#"]:hover,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li > a[href$="/#"]:hover {
  color: #F04E58;
}
body header ul.menu li.menu-item.mega > .sub-menu > li > a,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li > a {
  display: block;
  padding: 0 0 10px;
  margin: 0 0 12px;
  font-family: "Roboto Mono", monospace;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: -0.3px;
  text-transform: uppercase;
  color: #F04E58;
  border-bottom: 1px solid rgba(28, 10, 67, 0.18);
  white-space: nowrap;
}
body header ul.menu li.menu-item.mega > .sub-menu > li > a:hover,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li > a:hover {
  color: #F04E58;
}
@media (max-width: 1279px) {
  body header ul.menu li.menu-item.mega > .sub-menu > li > a,
  body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li > a {
    font-size: 11px;
  }
}
body header ul.menu li.menu-item.mega,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) {
  /*
   * Capabilities: a plain list beneath their outcome, not a flyout.
   *
   * Every positioning property the base .sub-menu rule sets is reset
   * explicitly -- position, offsets, transform and width. Leaving any of
   * them inherited is what put the list beside its heading instead of
   * under it.
   */
}
body header ul.menu li.menu-item.mega > .sub-menu > li > .sub-menu,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li > .sub-menu {
  position: static !important;
  display: block !important;
  top: auto;
  left: auto;
  right: auto;
  bottom: auto;
  transform: none;
  float: none;
  min-width: 0;
  max-width: none;
  width: 100%;
  padding: 0;
  margin: 0;
  border: none;
  box-shadow: none;
  background: transparent;
  white-space: normal;
}
body header ul.menu li.menu-item.mega > .sub-menu > li > .sub-menu > li,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li > .sub-menu > li {
  display: block;
  width: 100%;
  margin: 0 0 10px;
  padding: 0;
}
body header ul.menu li.menu-item.mega > .sub-menu > li > .sub-menu > li:last-child,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li > .sub-menu > li:last-child {
  margin-bottom: 0;
}
body header ul.menu li.menu-item.mega > .sub-menu > li > .sub-menu a,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li > .sub-menu a {
  display: block;
  padding: 0;
  font-size: 13px;
  line-height: 1.3;
  white-space: normal;
  color: #1C0A43;
}
body header ul.menu li.menu-item.mega > .sub-menu > li > .sub-menu a:hover,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li > .sub-menu a:hover {
  color: #F04E58;
}
body header ul.menu li.menu-item.mega > .sub-menu > li > .sub-menu .menu-description,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li > .sub-menu .menu-description {
  display: block;
  margin: 3px 0 0;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 400;
  opacity: 0.72;
}
body header ul.menu li.menu-item.mega > .sub-menu > li,
body header ul.menu li.menu-item:has(> .sub-menu > li > .sub-menu) > .sub-menu > li {
  display: block;
}
body #footer {
  background-color: #F7F7F7;
  color: #1C0A43;
  padding: 56px 0 0;
  border-top: 1px solid #1C0A43;
}
@media (max-width: 767px) {
  body #footer {
    padding: 40px 0 0;
  }
}
body #footer ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
body #footer .row {
  width: 100%;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
}
body #footer .column-logo {
  width: 33.33%;
}
@media (min-width: 631px) {
  body #footer .column-logo .logo img {
    height: 40px;
    width: auto;
  }
}
@media (max-width: 1023px) {
  body #footer .column-logo {
    width: 25%;
  }
}
@media (max-width: 767px) {
  body #footer .column-logo {
    width: 126px;
  }
}
@media (max-width: 630px) {
  body #footer .column-logo {
    width: 100%;
  }
  body #footer .column-logo .logo {
    width: 140px;
    display: block;
    margin: 0 auto 20px;
  }
}
body #footer .column-main {
  width: 66.66%;
  display: flex;
  flex-wrap: wrap;
  padding-left: 8px;
  padding-top: 12px;
}
@media (max-width: 1023px) {
  body #footer .column-main {
    width: 60%;
  }
}
@media (max-width: 767px) {
  body #footer .column-main {
    width: calc(100% - 126px);
    padding-left: 10%;
    padding-top: 0;
  }
}
@media (max-width: 630px) {
  body #footer .column-main {
    padding-left: 0;
    width: 100%;
  }
}
body #footer .column-main .part-left {
  width: 52%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
@media (max-width: 1279px) {
  body #footer .column-main .part-left {
    width: 60%;
  }
}
@media (max-width: 1023px) {
  body #footer .column-main .part-left {
    width: 66%;
  }
}
@media (max-width: 479px) {
  body #footer .column-main .part-left {
    width: 100%;
    justify-content: center;
  }
}
body #footer .column-main .part-left .menu-column {
  width: 50%;
}
body #footer .column-main .part-right {
  width: 48%;
  padding-left: 43px;
}
@media (max-width: 1279px) {
  body #footer .column-main .part-right {
    width: 40%;
    padding-left: 30px;
  }
}
@media (max-width: 1023px) {
  body #footer .column-main .part-right {
    width: 34%;
  }
}
@media (max-width: 479px) {
  body #footer .column-main .part-right {
    width: 100%;
    padding: 30px 0 0;
    text-align: center;
  }
}
body #footer .column-main .btn {
  margin: 18px 0 18px;
}
@media (max-width: 479px) {
  body #footer .column-main .btn {
    margin-bottom: 30px;
  }
}
body #footer .column-main h5 {
  margin: 0 0 7px;
  font-family: "Roboto Mono", monospace;
  font-size: 11px;
  line-height: 17px;
  font-weight: 700;
  letter-spacing: -0.44px;
  text-transform: uppercase;
}
body #footer .column-main p {
  font-size: 10px;
  line-height: 12px;
  font-family: "Roboto Mono", monospace;
  width: 50%;
  margin: 0;
}
body #footer .column-main .info-hold {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 479px) {
  body #footer .column-main .info-hold {
    text-align: center;
    align-items: center;
  }
}
body #footer .column-main .info-hold h5 {
  margin: 0 0 15px;
}
body #footer .column-main .menu li a {
  color: #1C0A43;
  font-family: "Roboto Mono", monospace;
  font-size: 12px;
  line-height: 15px;
  font-weight: 400;
  text-transform: uppercase;
  text-decoration: underline;
}
body #footer .column-main .menu li a:hover, body #footer .column-main .menu li a:active {
  color: #F04E58;
}
body #footer .footer-bottom {
  border-top: 1px solid #1C0A43;
  margin: 40px 0 0;
  padding: 20px 0;
}
body #footer .footer-bottom p {
  font-family: "Roboto Mono", monospace;
  font-size: 11px;
  line-height: 14px;
  letter-spacing: -0.44px;
  margin: 0;
}
@media (max-width: 767px) {
  body #footer .footer-bottom .row > p {
    width: 100%;
    text-align: center;
  }
}
body #footer .footer-bottom .column-copyright {
  width: 50%;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  body #footer .footer-bottom .column-copyright {
    width: 100%;
    justify-content: center;
    margin: 30px 0 0;
  }
}
body #footer .footer-bottom .column-copyright .menu {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
}
body #footer .footer-bottom .column-copyright .menu li {
  line-height: 14px;
  position: relative;
  padding-left: 20px;
  color: #1C0A43;
  font-family: "Roboto Mono", monospace;
  font-size: 11px;
  line-height: 14px;
}
body #footer .footer-bottom .column-copyright .menu li:before {
  content: "|";
  display: block;
  position: absolute;
  left: 10px;
  top: 0;
}
body #footer .footer-bottom .column-copyright .menu li a {
  color: #1C0A43;
  font-family: "Roboto Mono", monospace;
  font-size: 11px;
  line-height: 14px;
  letter-spacing: -0.44px;
  text-decoration: underline;
}
body #footer .footer-bottom .column-copyright .menu li a:hover, body #footer .footer-bottom .column-copyright .menu li a:active {
  color: #F04E58;
}
body .section-block .num {
  font-size: 12px;
  line-height: 17px;
  color: #F04E58;
  font-family: "Roboto Mono", monospace;
}
body .section-block h1 {
  font-weight: 200;
  font-family: "Host Grotesk", sans-serif;
  font-size: 80px;
  line-height: 0.95;
  letter-spacing: -2px;
  margin: 0 0 35px;
}
body .section-block h1 em {
  color: #F04E58;
}
@media (max-width: 1279px) {
  body .section-block h1 {
    font-size: 55px;
  }
}
@media (max-width: 1023px) {
  body .section-block h1 {
    font-size: 46px;
    letter-spacing: -1px;
  }
}
body .section-block h2 {
  color: #1C0A43;
  font-weight: 200;
  font-family: "Host Grotesk", sans-serif;
  font-size: 60px;
  line-height: 1.1;
}
@media (max-width: 1279px) {
  body .section-block h2 {
    font-size: 50px;
  }
}
@media (max-width: 1023px) {
  body .section-block h2 {
    font-size: 38px;
  }
}
@media (max-width: 767px) {
  body .section-block h2 {
    font-size: 32px;
  }
}
body .section-block h2 em {
  color: #F04E58;
}
body .section-block h3 {
  color: #1C0A43;
  font-weight: 200;
  font-family: "Host Grotesk", sans-serif;
  font-size: 40px;
  line-height: 1.15;
}
@media (max-width: 1279px) {
  body .section-block h3 {
    font-size: 34px;
  }
}
@media (max-width: 1023px) {
  body .section-block h3 {
    font-size: 25px;
  }
}
body .section-block h3 em {
  color: #F04E58;
}
body .section-block .decor,
body .section-block .decor-custom {
  width: 100%;
  height: 24px;
  position: relative;
  margin: 0 0 94px;
}
@media (max-width: 1023px) {
  body .section-block .decor,
  body .section-block .decor-custom {
    margin-bottom: 60px;
  }
}
@media (max-width: 767px) {
  body .section-block .decor,
  body .section-block .decor-custom {
    margin-bottom: 40px;
  }
}
body .section-block .decor {
  background: url("images/decor-center-red.svg") center no-repeat;
  background-size: 25px;
}
body .section-block .decor:before, body .section-block .decor:after {
  content: "";
  display: block;
  width: 12px;
  height: 24px;
  position: absolute;
  top: 0;
}
body .section-block .decor:before {
  background: url("images/decor-left-red.svg") center no-repeat;
  background-size: 100%;
  left: 0;
}
body .section-block .decor:after {
  background: url("images/decor-right-red.svg") center no-repeat;
  background-size: 100%;
  right: 0;
}
body .section-block .decor-custom {
  display: flex;
  justify-content: center;
}
body .section-block .decor-custom svg {
  padding: 0;
}
body .section-block .decor-custom svg:first-child, body .section-block .decor-custom svg:last-child {
  position: absolute;
  top: 0;
}
body .section-block .decor-custom svg:first-child {
  left: 0;
}
body .section-block .decor-custom svg:last-child {
  right: 0;
}
body .section-block.line-top {
  border-top: 1px solid #F04E58;
}
body .section-block.border-bottom .row {
  border-bottom: 1px solid #F04E58;
}
body .section-block.no-border .row {
  border-bottom: none;
}
body .section-block.no-border.tiles-block.bg-blue .tiles:after {
  display: block;
  background-color: #1C0A43;
}
body .section-block.with-borders {
  border-top: 1px solid #F04E58;
  border-bottom: 1px solid #F04E58;
}
body .section-block.no-lines.text-image-block .row .column-image figure:before {
  display: none;
}
body .section-block.no-paddings {
  padding: 0;
}
body .section-block.no-paddings .row {
  padding-bottom: 0;
}
@media (max-width: 767px) {
  body .section-block.no-paddings {
    padding: 20px 0 0;
  }
  body .section-block.no-paddings .row {
    padding-bottom: 20px;
  }
}
body .section-block.no-bottom-padding {
  padding-bottom: 0;
}
body .section-block.no-margins {
  margin: 0;
}
body .section-block.no-margins .decor, body .section-block.no-margins .decor-custom {
  margin-bottom: 0;
}
body .section-block.hide {
  display: none;
}
body .section-block.paint-btn-blue .btn {
  background-color: #1C0A43;
  color: #fff;
}
body .section-block.paint-btn-blue .btn:hover, body .section-block.paint-btn-blue .btn:active {
  background-color: #4e7bff;
}
body .section-block.paint-btn-black .btn {
  background-color: #131628;
  color: #fff;
}
body .section-block.paint-btn-black .btn:hover, body .section-block.paint-btn-black .btn:active {
  background-color: #2454E0;
}
body .decor-line-block {
  padding: 48px 0 0;
}
body .decor-line-block .row {
  width: 100%;
}
body .decor-line-block .decor {
  margin-bottom: 0;
}
body .decor-line-block + .cta-block .row {
  padding-top: 10px;
}
body .main-banner-block {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: #fff;
  height: calc(100vh - 62px);
  height: calc(var(--vh, 1vh) * 100 - 62px);
  min-height: 860px;
  justify-content: center;
}
@media (max-width: 1919px) {
  body .main-banner-block {
    min-height: 800px;
  }
}
@media (max-width: 1279px) {
  body .main-banner-block {
    min-height: 768px;
  }
}
@media (max-width: 767px) {
  body .main-banner-block {
    min-height: 0;
  }
}
body .main-banner-block {
  position: relative;
}
body .main-banner-block .hold {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
body .main-banner-block .hold:before, body .main-banner-block .hold:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  width: 50%;
}
body .main-banner-block .hold:before {
  left: 50%;
}
@media (max-width: 767px) {
  body .main-banner-block .hold:before {
    display: none;
  }
}
body .main-banner-block .hold:after {
  background: #1C0A43;
  opacity: 0.3;
}
@media (max-width: 767px) {
  body .main-banner-block .hold:after {
    width: 100%;
  }
}
body .main-banner-block .hold .wrap {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 2;
  height: 100%;
}
body .main-banner-block .hold .data {
  width: 50%;
  padding-right: 76px;
}
@media (max-width: 767px) {
  body .main-banner-block .hold .data {
    width: 100%;
    max-width: 600px;
  }
}
body .main-banner-block .hold .data .decor {
  margin: 0 0 30px;
  background-size: 18px;
  height: 18px;
}
body .main-banner-block .hold .data .decor:before, body .main-banner-block .hold .data .decor:after {
  width: 9px;
  height: 18px;
}
body .main-banner-block .hold .data .text-hold {
  max-width: 310px;
  width: 100%;
}
body .main-banner-block .hold .data .text-hold p {
  font-weight: 300;
  font-size: 18px;
  line-height: 22px;
}
@media (max-width: 1023px) {
  body .main-banner-block .hold .data .text-hold p {
    font-size: 16px;
  }
}
body .main-banner-block .hold .data .next-section {
  width: 100%;
  max-width: 522px;
  height: 18px;
  position: relative;
  margin: 56px 0 0;
}
body .main-banner-block .hold .data .next-section a {
  margin: 0 auto;
  text-indent: 200%;
  overflow: hidden;
  white-space: nowrap;
  width: 18px;
  height: 18px;
  display: block;
  background: url("images/arrow-btn.svg") no-repeat center;
  background-size: contain;
}
body .main-banner-block .hold .data .next-section:before, body .main-banner-block .hold .data .next-section:after {
  content: "";
  display: block;
  width: 9px;
  height: 18px;
  position: absolute;
  top: 0;
}
body .main-banner-block .hold .data .next-section:before {
  background: url("images/decor-left-red.svg") center no-repeat;
  background-size: 100%;
  left: 0;
}
body .main-banner-block .hold .data .next-section:after {
  background: url("images/decor-right-red.svg") center no-repeat;
  background-size: 100%;
  right: 0;
}
body .main-banner-block .bg {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
body .main-banner-block .bg img {
  max-width: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body .main-banner-block .hero-video-block {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
body .main-banner-block .hero-video-block video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body .main-banner-block h1 small {
  font-size: 45px;
}
body .main-banner-block .contact-form-banner {
  padding-top: 40px;
}
body .main-banner-block .contact-form-banner h2 {
  font-size: 25px;
}
body .main-banner-form-block {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: #fff;
  height: calc(100vh - 62px);
  height: calc(var(--vh, 1vh) * 100 - 62px);
  min-height: 860px;
  justify-content: center;
}
@media (max-width: 1919px) {
  body .main-banner-form-block {
    min-height: 800px;
  }
}
@media (max-width: 1279px) {
  body .main-banner-form-block {
    min-height: 768px;
  }
}
@media (max-width: 767px) {
  body .main-banner-form-block {
    min-height: 0;
  }
}
body .main-banner-form-block {
  position: relative;
}
body .main-banner-form-block .hold {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
body .main-banner-form-block .hold:before, body .main-banner-form-block .hold:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  width: 50%;
}
body .main-banner-form-block .hold:before {
  left: 50%;
}
@media (max-width: 767px) {
  body .main-banner-form-block .hold:before {
    display: none;
  }
}
body .main-banner-form-block .hold:after {
  background: #1C0A43;
  opacity: 0.3;
}
@media (max-width: 767px) {
  body .main-banner-form-block .hold:after {
    width: 100%;
  }
}
body .main-banner-form-block .hold .wrap {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 2;
  height: 100%;
}
body .main-banner-form-block .hold .data {
  width: 50%;
  padding-right: 76px;
}
@media (max-width: 767px) {
  body .main-banner-form-block .hold .data {
    width: 100%;
    max-width: 600px;
  }
}
body .main-banner-form-block .hold .data .decor {
  margin: 0 0 30px;
  background-size: 18px;
  height: 18px;
}
body .main-banner-form-block .hold .data .decor:before, body .main-banner-form-block .hold .data .decor:after {
  width: 9px;
  height: 18px;
}
body .main-banner-form-block .hold .data .text-hold {
  max-width: 310px;
  width: 100%;
}
body .main-banner-form-block .hold .data .text-hold p {
  font-weight: 300;
  font-size: 18px;
  line-height: 22px;
}
@media (max-width: 1023px) {
  body .main-banner-form-block .hold .data .text-hold p {
    font-size: 16px;
  }
}
body .main-banner-form-block .hold .data .next-section {
  width: 100%;
  max-width: 522px;
  height: 18px;
  position: relative;
  margin: 56px 0 0;
}
body .main-banner-form-block .hold .data .next-section a {
  margin: 0 auto;
  text-indent: 200%;
  overflow: hidden;
  white-space: nowrap;
  width: 18px;
  height: 18px;
  display: block;
  background: url("images/arrow-btn.svg") no-repeat center;
  background-size: contain;
}
body .main-banner-form-block .hold .data .next-section:before, body .main-banner-form-block .hold .data .next-section:after {
  content: "";
  display: block;
  width: 9px;
  height: 18px;
  position: absolute;
  top: 0;
}
body .main-banner-form-block .hold .data .next-section:before {
  background: url("images/decor-left-red.svg") center no-repeat;
  background-size: 100%;
  left: 0;
}
body .main-banner-form-block .hold .data .next-section:after {
  background: url("images/decor-right-red.svg") center no-repeat;
  background-size: 100%;
  right: 0;
}
body .main-banner-form-block .bg {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
body .main-banner-form-block .bg img {
  max-width: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body .main-banner-form-block .hero-video-block {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
body .main-banner-form-block .hero-video-block video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body .main-banner-form-block .contact-form h3 {
  color: #fff;
}
body {
  /*
   * .main-text-plain-block shares every rule here -- it is the same block with
   * the crosshair markup removed from its template. Keeping one rule set means
   * the two can't drift apart. (.main-text-classic-block is deliberately
   * separate, since its whole purpose is to stay on the original styling.)
   */
  /*
   * No crosshairs means no closing-decor margin, so the copy would sit hard
   * against the coral rule. Restore that separation as padding.
   */
}
body .main-text-plain-block .row {
  padding-bottom: 118px;
}
@media (max-width: 1023px) {
  body .main-text-plain-block .row {
    padding-bottom: 92px;
  }
}
@media (max-width: 767px) {
  body .main-text-plain-block .row {
    padding-bottom: 68px;
  }
}
body .main-text-block,
body .main-text-plain-block {
  padding: 32px 0 0;
}
@media (max-width: 1023px) {
  body .main-text-block,
  body .main-text-plain-block {
    padding-top: 26px;
  }
}
@media (max-width: 767px) {
  body .main-text-block,
  body .main-text-plain-block {
    padding-top: 20px;
  }
}
body .main-text-block.text-center .row,
body .main-text-plain-block.text-center .row {
  align-items: center;
}
body .main-text-block.text-center h1, body .main-text-block.text-center h2, body .main-text-block.text-center .subtitle, body .main-text-block.text-center .text-hold, body .main-text-block.text-center .text-hold p,
body .main-text-plain-block.text-center h1,
body .main-text-plain-block.text-center h2,
body .main-text-plain-block.text-center .subtitle,
body .main-text-plain-block.text-center .text-hold,
body .main-text-plain-block.text-center .text-hold p {
  text-align: center;
}
body .main-text-block.text-center h1, body .main-text-block.text-center h2, body .main-text-block.text-center .text-hold,
body .main-text-plain-block.text-center h1,
body .main-text-plain-block.text-center h2,
body .main-text-plain-block.text-center .text-hold {
  margin-left: auto;
  margin-right: auto;
}
body .main-text-block .row,
body .main-text-plain-block .row {
  flex-direction: column;
  align-items: flex-start;
  padding: 0 0 56px;
}
@media (max-width: 1023px) {
  body .main-text-block .row,
  body .main-text-plain-block .row {
    padding-bottom: 44px;
  }
}
@media (max-width: 767px) {
  body .main-text-block .row,
  body .main-text-plain-block .row {
    padding-bottom: 32px;
  }
}
body .main-text-block .row,
body .main-text-plain-block .row {
  /*
   * Crosshairs top and bottom. The opening set keeps its default
   * bottom margin; the closing set (added in main-text.php) flips to
   * a top margin so it sits clear of the copy above it.
   */
  /*
   * Hide the OPENING crosshairs, keep the closing set.
   *
   * :not(.decor-bottom) targets only the first .decor in the row, so
   * this needs no template change -- the markup still outputs both.
   */
}
body .main-text-block .row .decor:not(.decor-bottom),
body .main-text-block .row .decor-custom:not(.decor-bottom),
body .main-text-plain-block .row .decor:not(.decor-bottom),
body .main-text-plain-block .row .decor-custom:not(.decor-bottom) {
  display: none;
}
body .main-text-block .row,
body .main-text-plain-block .row {
  /*
   * The plain variant has no crosshairs at all, so the closing decor's
   * 72px top margin isn't there to separate the copy from the rule.
   * Give that space back as row padding instead.
   */
}
body .main-text-block .row .decor-bottom,
body .main-text-plain-block .row .decor-bottom {
  margin: 72px 0 0;
}
@media (max-width: 1023px) {
  body .main-text-block .row .decor-bottom,
  body .main-text-plain-block .row .decor-bottom {
    margin-top: 52px;
  }
}
@media (max-width: 767px) {
  body .main-text-block .row .decor-bottom,
  body .main-text-plain-block .row .decor-bottom {
    margin-top: 40px;
  }
}
body .main-text-block .row,
body .main-text-plain-block .row {
  border-bottom: 1px solid #F04E58;
  width: 100%;
}
body .main-text-block .row .subtitle,
body .main-text-plain-block .row .subtitle {
  font-family: "Host Grotesk", sans-serif;
  font-size: 22px;
  line-height: 30px;
  margin: 0 0 30px;
  letter-spacing: -0.88px;
}
body .main-text-block .row h1, body .main-text-block .row h2, body .main-text-block .row .text-hold,
body .main-text-plain-block .row h1,
body .main-text-plain-block .row h2,
body .main-text-plain-block .row .text-hold {
  max-width: 66.66%;
}
@media (max-width: 767px) {
  body .main-text-block .row h1, body .main-text-block .row h2, body .main-text-block .row .text-hold,
  body .main-text-plain-block .row h1,
  body .main-text-plain-block .row h2,
  body .main-text-plain-block .row .text-hold {
    max-width: none;
  }
}
body .main-text-block .row h1, body .main-text-block .row h2,
body .main-text-plain-block .row h1,
body .main-text-plain-block .row h2 {
  font-size: 60px;
  line-height: 1;
  letter-spacing: -2.4px;
}
@media (max-width: 1279px) {
  body .main-text-block .row h1, body .main-text-block .row h2,
  body .main-text-plain-block .row h1,
  body .main-text-plain-block .row h2 {
    font-size: 50px;
    letter-spacing: -1.8px;
  }
}
@media (max-width: 1023px) {
  body .main-text-block .row h1, body .main-text-block .row h2,
  body .main-text-plain-block .row h1,
  body .main-text-plain-block .row h2 {
    font-size: 38px;
    letter-spacing: -1.4px;
  }
}
@media (max-width: 767px) {
  body .main-text-block .row h1, body .main-text-block .row h2,
  body .main-text-plain-block .row h1,
  body .main-text-plain-block .row h2 {
    font-size: 32px;
    letter-spacing: -1px;
  }
}
body .main-text-block .row .text-hold,
body .main-text-plain-block .row .text-hold {
  margin-top: 28px;
}
body .main-text-block .row .text-hold p,
body .main-text-plain-block .row .text-hold p {
  font-size: clamp(19px, 1.6vw, 26px);
  line-height: 1.5;
  margin: 0 0 22px;
}
body .main-text-block .row .text-hold p:last-of-type,
body .main-text-plain-block .row .text-hold p:last-of-type {
  margin-bottom: 0;
}
body .main-text-block .row .btn,
body .main-text-plain-block .row .btn {
  margin: 40px 0 0;
}
body .main-text-block.bg-blue .row .btn,
body .main-text-plain-block.bg-blue .row .btn {
  color: #fff;
  background-color: #F04E58;
}
body .main-text-block.bg-blue .row .btn:hover, body .main-text-block.bg-blue .row .btn:active,
body .main-text-plain-block.bg-blue .row .btn:hover,
body .main-text-plain-block.bg-blue .row .btn:active {
  background-color: #4e7bff;
}
body .text-image-block {
  padding: 39px 0 0;
}
body .text-image-block.full-width .wrap {
  max-width: 100%;
  padding: 0;
}
body .text-image-block.full-width.image-right .row .column-image {
  padding-left: 0;
  padding-right: calc((100% - 1920px) / 2);
}
@media (max-width: 1919px) {
  body .text-image-block.full-width.image-right .row .column-image {
    padding-right: 0;
  }
}
body .text-image-block.full-width.image-right .row .column-data {
  padding-left: calc((100% - 1380px) / 2);
}
@media (max-width: 1379px) {
  body .text-image-block.full-width.image-right .row .column-data {
    padding-left: 20px;
  }
}
@media (max-width: 800px) {
  body .text-image-block.full-width.image-right .row .column-data {
    padding-right: 20px;
  }
}
body .text-image-block.full-width.image-left .row .column-image {
  padding-left: calc((100% - 1920px) / 2);
  padding-right: 0;
}
@media (max-width: 1919px) {
  body .text-image-block.full-width.image-left .row .column-image {
    padding-left: 0;
  }
}
body .text-image-block.full-width.image-left .row .column-data {
  padding-right: calc((100% - 1380px) / 2);
}
@media (max-width: 1379px) {
  body .text-image-block.full-width.image-left .row .column-data {
    padding-right: 20px;
  }
}
@media (max-width: 800px) {
  body .text-image-block.full-width.image-left .row .column-data {
    padding-left: 20px;
  }
}
body .text-image-block.white-bg {
  background-color: #fff;
}
body .text-image-block.dark-bg {
  background-color: #131628;
}
body .text-image-block.dark-bg h3 em {
  color: #fff;
}
body .text-image-block.top-plus .row .column-data .decor-top-plus {
  display: block;
}
body .text-image-block.bottom-plus-arrow .row .column-data .decor-bottom-arrow-plus {
  display: block;
}
body .text-image-block.bottom-plus-arrow .row .column-data .btn {
  float: none;
  width: max-content;
}
body .text-image-block.top-bottom-plus .row .column-data .decor-top-plus,
body .text-image-block.top-bottom-plus .row .column-data .decor-bottom-plus {
  display: block;
}
body .text-image-block.top-bottom-plus .row .column-data .btn {
  float: none;
  width: max-content;
}
body .text-image-block.top-bottom-plus-arrow .row .column-data .decor-top-plus,
body .text-image-block.top-bottom-plus-arrow .row .column-data .decor-bottom-arrow-plus {
  display: block;
}
body .text-image-block.top-bottom-plus-arrow .row .column-data .btn {
  float: none;
  width: max-content;
}
body .text-image-block .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  padding: 0 0 39px;
  border-bottom: 1px solid #F04E58;
}
@media (max-width: 800px) {
  body .text-image-block .row {
    flex-direction: column;
  }
}
body .text-image-block .row .column-image {
  width: 66.66%;
  padding-right: 14px;
  box-sizing: border-box;
}
body .text-image-block .row .column-image figure {
  position: relative;
  overflow: hidden;
  /*&:before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: url('images/lines-3.svg') no-repeat center top;
      background-size: cover;
      z-index: 1;
  }*/
}
body .text-image-block .row .column-image figure img {
  width: 100%;
  max-width: none;
  height: auto;
}
body .text-image-block .row .column-image figure svg {
  object-fit: cover;
  width: auto;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 800px) {
  body .text-image-block .row .column-image {
    width: 100%;
    margin-bottom: 35px;
    padding-right: 0;
  }
}
body .text-image-block .row .column-data {
  width: 33.33%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0 0 0 36px;
}
@media (max-width: 800px) {
  body .text-image-block .row .column-data {
    width: 100%;
    padding: 0;
  }
}
body .text-image-block .row .column-data.text-color-white {
  color: #fff;
}
body .text-image-block .row .column-data.text-color-white h3 {
  color: #fff;
}
body .text-image-block .row .column-data.text-color-white .btn {
  background-color: #F04E58;
}
body .text-image-block .row .column-data.text-color-white .btn:hover, body .text-image-block .row .column-data.text-color-white .btn:active {
  background-color: #4e7bff;
}
body .text-image-block .row .column-data .decor {
  display: none;
  height: 24px;
  background-size: 24px;
  background: url("images/decor-center-red.svg") center no-repeat;
}
body .text-image-block .row .column-data .decor:before, body .text-image-block .row .column-data .decor:after {
  content: "";
  display: block;
  width: 12px;
  height: 24px;
  position: absolute;
  top: 0;
}
body .text-image-block .row .column-data .decor:before {
  background: url("images/decor-left-red.svg") center no-repeat;
  background-size: 100%;
  left: 0;
}
body .text-image-block .row .column-data .decor:after {
  background: url("images/decor-right-red.svg") center no-repeat;
  background-size: 100%;
  right: 0;
}
body .text-image-block .row .column-data .decor.decor-top-plus {
  margin: 0 0 40px;
}
body .text-image-block .row .column-data .decor.decor-bottom-plus {
  margin: 40px 0 0;
}
body .text-image-block .row .column-data .decor.decor-bottom-arrow-plus {
  background: url("images/arrow-btn.svg") center no-repeat;
  background-size: 24px;
  margin: 40px 0 0;
}
body .text-image-block .row .column-data .subtitle {
  color: #F04E58;
  font-family: "Roboto Mono", monospace;
  text-transform: uppercase;
  font-size: 17px;
  line-height: 25px;
  margin: 0 0 33px;
}
body .text-image-block .row .column-data .text-intro {
  width: 100%;
  margin: 0 auto;
}
body .text-image-block .row .column-data .text-intro h3 {
  margin: 0 0 30px;
}
@media (max-width: 767px) {
  body .text-image-block .row .column-data .text-intro h3 {
    margin: 0 0 16px;
  }
}
body .text-image-block .row .column-data .text-intro h1 {
  font-size: 60px;
  line-height: 1;
  letter-spacing: -2.4px;
  font-weight: 200;
}
@media (max-width: 1279px) {
  body .text-image-block .row .column-data .text-intro h1 {
    font-size: 50px;
  }
}
@media (max-width: 1023px) {
  body .text-image-block .row .column-data .text-intro h1 {
    font-size: 38px;
  }
}
@media (max-width: 767px) {
  body .text-image-block .row .column-data .text-intro h1 {
    font-size: 32px;
  }
}
body .text-image-block .row .column-data .text-hold {
  margin: 0 0 28px;
}
body .text-image-block .row .column-data .btn {
  max-width: none;
  float: left;
  width: auto;
}
body .text-image-block.image-right .row {
  flex-direction: row-reverse;
}
@media (max-width: 800px) {
  body .text-image-block.image-right .row {
    flex-direction: column;
  }
}
body .text-image-block.image-right .row .column-image {
  padding-right: 0;
  padding-left: 14px;
}
@media (max-width: 800px) {
  body .text-image-block.image-right .row .column-image {
    margin-bottom: 35px;
    padding-left: 0;
  }
}
body .text-image-block.image-right .row .column-data {
  padding: 0 36px 0 0;
}
@media (max-width: 800px) {
  body .text-image-block.image-right .row .column-data {
    padding: 0;
  }
}
@media (min-width: 801px) {
  body .text-image-block.proportions-equal .row .column-image, body .text-image-block.proportions-equal .row .column-data {
    width: 50%;
  }
}
body .text-image-block.proportions-equal .row .column-data {
  justify-content: center;
}
@media (min-width: 801px) {
  body .text-image-block.proportions-equal.line-between .column-image {
    padding-right: 84px;
    position: relative;
  }
  body .text-image-block.proportions-equal.line-between .column-image:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 1px;
    background: #F04E58;
  }
  body .text-image-block.proportions-equal.line-between .column-data {
    padding-left: 84px;
  }
  body .text-image-block.proportions-equal.line-between.image-right .column-image {
    padding-right: 0;
    padding-left: 84px;
  }
  body .text-image-block.proportions-equal.line-between.image-right .column-image:after {
    left: 0;
  }
  body .text-image-block.proportions-equal.line-between.image-right .column-data {
    padding-left: 0;
    padding-right: 84px;
  }
}
body .tabs-image-block .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  width: 100%;
}
@media (max-width: 800px) {
  body .tabs-image-block .row {
    flex-direction: column;
  }
}
body .tabs-image-block .row .column-image {
  width: 50%;
  box-sizing: border-box;
}
body .tabs-image-block .row .column-image figure {
  position: relative;
  height: 100%;
  width: 100%;
}
body .tabs-image-block .row .column-image figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body .tabs-image-block .row .column-image .tabs-images img {
  opacity: 0;
  transition: opacity 300ms;
}
body .tabs-image-block .row .column-image .tabs-images img:not(:first-child) {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
body .tabs-image-block .row .column-image .tabs-images img.active {
  opacity: 1;
}
@media (max-width: 800px) {
  body .tabs-image-block .row .column-image {
    width: 100%;
    margin-bottom: 35px;
  }
}
body .tabs-image-block .row .column-data {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  justify-content: center;
  padding: 30px 36px 30px 36px;
}
@media (max-width: 800px) {
  body .tabs-image-block .row .column-data {
    width: 100%;
    padding: 0;
  }
}
body .tabs-image-block .row .column-data p + .accordion {
  margin-top: 40px;
}
body .tabs-image-block .row .column-data .accordion {
  text-align: left;
  margin: 0 0 30px 0;
  position: relative;
}
body .tabs-image-block .row .column-data .accordion:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -36px;
  width: 3px;
  height: 100%;
  background: #F04E58;
  opacity: 0.29;
}
body .tabs-image-block .row .column-data .accordion:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #F04E58;
  opacity: 0.48;
}
body .tabs-image-block .row .column-data .accordion .ui-state-default,
body .tabs-image-block .row .column-data .accordion .ui-widget-content .ui-state-default,
body .tabs-image-block .row .column-data .accordion .ui-widget-header .ui-state-default {
  position: relative;
  padding: 16px 50px 16px 0;
  cursor: pointer;
}
body .tabs-image-block .row .column-data .accordion .accordion-title {
  position: relative;
  font-family: "Roboto Mono", monospace;
  font-size: 20px;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: -0.8px;
  color: #E5FF8C;
  cursor: pointer;
  padding: 30px 56px 28px 0px;
  box-sizing: border-box;
  margin: 0;
}
body .tabs-image-block .row .column-data .accordion .accordion-title:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #E5FF8C;
  opacity: 0.48;
}
body .tabs-image-block .row .column-data .accordion .accordion-title:first-child {
  padding-top: 10px;
}
body .tabs-image-block .row .column-data .accordion .accordion-title:first-child:before {
  display: none;
}
body .tabs-image-block .row .column-data .accordion .accordion-title:first-child svg {
  margin-top: -20px;
}
body .tabs-image-block .row .column-data .accordion .accordion-title:after {
  content: "";
  display: block;
  position: absolute;
  left: -36px;
  top: 0;
  height: 0;
  width: 3px;
  background: #F04E58;
  z-index: 1;
  transition: 400ms height;
}
@media (max-width: 1023px) {
  body .tabs-image-block .row .column-data .accordion .accordion-title {
    font-size: 18px;
    padding-top: 22px;
    padding-bottom: 22px;
  }
}
@media (max-width: 479px) {
  body .tabs-image-block .row .column-data .accordion .accordion-title {
    font-size: 16px;
    line-height: 23px;
  }
}
body .tabs-image-block .row .column-data .accordion .accordion-title svg {
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -15px;
  width: 30px;
  height: 30px;
  padding: 0;
  transform: rotate(-90deg);
}
body .tabs-image-block .row .column-data .accordion .accordion-title .ui-accordion-header-icon {
  display: block;
  width: 32px;
  height: 32px;
  text-align: center;
  position: absolute;
  right: 0px;
  top: 50%;
  margin-top: -16px;
}
body .tabs-image-block .row .column-data .accordion .accordion-title .ui-accordion-header-icon:before {
  content: "";
  width: 32px;
  height: 32px;
  text-align: center;
  display: block;
  box-sizing: border-box;
  background: none;
  background-size: 23px;
  transform: rotate(-90deg);
}
body .tabs-image-block .row .column-data .accordion .accordion-title.ui-state-active:after {
  height: 100%;
}
body .tabs-image-block .row .column-data .accordion .accordion-title.ui-state-active svg {
  transform: rotate(0deg);
}
body .tabs-image-block .row .column-data .accordion .accordion-title.ui-state-active .ui-accordion-header-icon:before {
  transform: rotate(-180deg);
}
body .tabs-image-block .row .column-data .accordion .accordion-title.ui-state-active + .accordion-content:before {
  height: 100%;
}
body .tabs-image-block .row .column-data .accordion .accordion-content {
  position: relative;
}
body .tabs-image-block .row .column-data .accordion .accordion-content:before {
  content: "";
  display: block;
  position: absolute;
  left: -36px;
  top: 0;
  height: 0;
  width: 3px;
  background: #F04E58;
  z-index: 1;
  transition: 400ms height;
}
body .tabs-image-block .row .column-data .accordion .accordion-content.ui-widget-content {
  box-sizing: border-box;
  padding: 0 0 23px;
}
body .tabs-image-block .row .column-data .accordion .accordion-content p {
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0;
  margin: 0 0 22px;
}
body .tabs-image-block .row .column-data .accordion .accordion-content p:last-child {
  margin-bottom: 0;
}
body .tabs-image-block .row .column-data .accordion .accordion-content ul {
  padding: 0 0 0 20px;
}
body .tabs-image-block .row .column-data .accordion .accordion-content ul li {
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0;
}
body .tabs-image-block .row .column-data .accordion .accordion-content a {
  color: #F04E58;
  text-decoration: underline;
}
body .tabs-image-block.head-font-serif .row .column-data .accordion .accordion-title {
  font-size: 40px;
  font-family: "Host Grotesk", sans-serif;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: -1.6px;
  color: #000 !important;
  padding: 11px 56px 11px 0px;
}
body .tabs-image-block.head-font-serif .row .column-data .accordion .accordion-title.ui-state-active {
  color: #F04E58 !important;
  font-style: italic;
}
body .tabs-image-block.image-right .row {
  flex-direction: row-reverse;
}
@media (max-width: 800px) {
  body .tabs-image-block.image-right .row {
    flex-direction: column;
  }
}
@media (max-width: 800px) {
  body .tabs-image-block.image-right .row .column-image {
    margin-bottom: 35px;
  }
}
body .tabs-image-block.image-right .row .column-data {
  padding: 30px 36px 30px 36px;
}
@media (max-width: 800px) {
  body .tabs-image-block.image-right .row .column-data {
    padding: 0;
  }
}
body .tabs-image-block + .testimonial-block.section-block {
  margin-top: 65px;
}
body .text-block {
  padding: 52px 0;
}
@media (max-width: 1023px) {
  body .text-block {
    padding: 40px 0;
  }
}
@media (max-width: 767px) {
  body .text-block {
    padding: 30px 0;
  }
}
body .text-block .text-hold {
  width: 100%;
}
body .text-block .logo {
  width: 220px;
  height: 100px;
  margin: 0 auto 30px;
}
@media (max-width: 767px) {
  body .text-block .logo {
    width: 160px;
    height: 80px;
    margin-bottom: 20px;
  }
}
body .text-block .logo img {
  max-width: none;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
body .text-block h1,
body .text-block h2 {
  text-align: center;
}
body .text-block.layout-narrow .wrap {
  max-width: 920px;
}
body .text-block ul {
  padding: 0;
  margin: 0;
  list-style: none;
  margin: 0 0 40px;
}
body .text-block ul li {
  font-size: 16px;
  font-style: normal;
  letter-spacing: 0.32px;
  line-height: 24px;
  position: relative;
  padding: 0 0 0 28px;
  margin: 0 0 20px;
}
@media (max-width: 479px) {
  body .text-block ul li {
    font-size: 14px;
    letter-spacing: 0px;
    line-height: 21px;
    margin: 0 0 15px;
  }
}
body .text-block ul li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 6px;
  width: 12px;
  height: 13px;
  background: url("images/icon-checkmark.svg") no-repeat;
  background-size: contain;
}
body .text-block blockquote {
  color: #6d6e70;
  font-size: 16px;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.32px;
  line-height: 27px;
  position: relative;
  padding: 0 45px;
  margin: 30px 0 30px 0;
}
@media (max-width: 479px) {
  body .text-block blockquote {
    padding-right: 0;
  }
}
body .text-block blockquote:after {
  content: "";
  display: block;
  position: absolute;
  left: 28px;
  top: 6px;
  height: calc(100% - 12px);
  width: 1px;
}
body .text-with-toc-block {
  padding: 48px 0 0;
}
body .text-with-toc-block .row {
  border-bottom: 1px solid #F04E58;
  padding-bottom: 48px;
  flex-wrap: wrap;
}
body .text-with-toc-block .toc {
  width: 33.33%;
  padding-right: 36px;
}
@media (max-width: 767px) {
  body .text-with-toc-block .toc {
    width: 100%;
    padding-right: 0;
    padding-bottom: 30px;
  }
}
body .text-with-toc-block .toc .decor {
  height: 12px;
  margin: 0 0 20px;
  background-size: 12px;
}
body .text-with-toc-block .toc .decor:before, body .text-with-toc-block .toc .decor:after {
  width: 6px;
  height: 12px;
}
body .text-with-toc-block .toc .toc-title {
  font-size: 18px;
  line-height: 22px;
  letter-spacing: 0px;
  margin: 0 0 15px;
  color: #F04E58;
}
body .text-with-toc-block .toc ul {
  padding: 0;
  margin: 0;
  list-style: none;
  border-bottom: 1px solid #F04E58;
}
body .text-with-toc-block .toc ul li {
  margin: 0 0 12px;
}
body .text-with-toc-block .toc ul li a {
  letter-spacing: 0px;
  color: #141628;
}
body .text-with-toc-block .text-hold {
  width: 66.67%;
  padding-left: 36px;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  body .text-with-toc-block .text-hold {
    width: 100%;
    padding-left: 0;
  }
}
body .text-with-toc-block .text-hold h2, body .text-with-toc-block .text-hold h3, body .text-with-toc-block .text-hold h4 {
  font-family: "acumin-pro", sans-serif;
  font-weight: 700;
  line-height: 1.1;
  color: #F04E58;
}
body .text-with-toc-block .text-hold h2 {
  font-size: 26px;
}
body .text-with-toc-block .text-hold h3 {
  font-size: 22px;
}
body .text-with-toc-block .text-hold h4 {
  font-size: 18px;
}
body .text-with-toc-block .text-hold ul li {
  margin-bottom: 15px;
}
body .text-with-toc-block .text-hold a {
  color: #F04E58;
  text-decoration: underline;
}
body .text-with-steps-block {
  border-bottom: 1px solid #F04E58;
  padding-top: 54px;
}
@media (max-width: 1023px) {
  body .text-with-steps-block {
    padding-top: 34px;
  }
}
@media (max-width: 767px) {
  body .text-with-steps-block {
    padding-top: 15px;
  }
}
body .text-with-steps-block:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: #1C0A43;
  opacity: 0.6;
}
body .text-with-steps-block .wrap {
  position: relative;
  z-index: 1;
}
body .text-with-steps-block .col-wrap {
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: center;
  justify-content: flex-start;
  color: #fff;
}
@media (max-width: 1279px) {
  body .text-with-steps-block .col-wrap {
    width: 60%;
  }
}
@media (max-width: 1023px) {
  body .text-with-steps-block .col-wrap {
    width: 70%;
  }
}
@media (max-width: 767px) {
  body .text-with-steps-block .col-wrap {
    width: 100%;
  }
}
body .text-with-steps-block h3 {
  color: #fff;
  text-align: center;
}
body .text-with-steps-block .text-hold, body .text-with-steps-block .text-hold p {
  font-size: 18px;
  line-height: 26px;
}
@media (max-width: 1023px) {
  body .text-with-steps-block .text-hold, body .text-with-steps-block .text-hold p {
    font-size: 16px;
    line-height: 24px;
  }
}
body .text-with-steps-block .text-hold {
  margin-bottom: 80px;
}
@media (max-width: 1023px) {
  body .text-with-steps-block .text-hold {
    margin-bottom: 70px;
  }
}
@media (max-width: 767px) {
  body .text-with-steps-block .text-hold {
    margin-bottom: 55px;
  }
}
body .text-with-steps-block .list-points {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
body .text-with-steps-block .list-points .list-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding-bottom: 50px;
  margin-bottom: 30px;
  position: relative;
}
body .text-with-steps-block .list-points .list-item:before, body .text-with-steps-block .list-points .list-item:after {
  content: "";
  display: block;
  position: absolute;
  width: 39%;
  height: 1px;
  background-color: #F04E58;
  bottom: 0;
}
body .text-with-steps-block .list-points .list-item:before {
  left: 0;
}
body .text-with-steps-block .list-points .list-item:after {
  right: 0;
}
body .text-with-steps-block .list-points .list-item:last-child {
  margin-bottom: 0;
}
body .text-with-steps-block .list-points .list-item .title-item {
  width: 100%;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  body .text-with-steps-block .list-points .list-item .text-item p {
    font-size: 14px;
  }
}
body .text-with-steps-block .list-points .list-item .arrow-btn {
  position: absolute;
  bottom: -9px;
  left: 50%;
  transform: translateX(-50%);
}
body .text-with-steps-block .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
body .text-with-steps-block .bg img {
  display: block;
  object-fit: cover;
  height: 100%;
}
@media (max-width: 767px) {
  body .text-with-steps-block .bg img {
    /*width: 220%;
    max-width: none;
    margin-left: -60%;*/
  }
}
@media (min-width: 2000px) {
  body .text-with-steps-block .bg img {
    width: 100%;
  }
}
body .two-columns-text {
  padding: 94px 0;
}
@media (max-width: 1023px) {
  body .two-columns-text {
    padding: 64px 0;
  }
}
@media (max-width: 767px) {
  body .two-columns-text {
    padding: 35px 0;
  }
}
body .two-columns-text.dark-bg {
  background-color: #131628;
  color: #fff;
}
body .two-columns-text.dark-bg h3 {
  color: #fff;
}
body .two-columns-text.dark-bg h3 em {
  color: #fff;
}
body .two-columns-text.dark-bg .btn {
  background-color: #F04E58;
}
body .two-columns-text.dark-bg .btn:hover, body .two-columns-text.dark-bg .btn:active {
  background-color: #4e7bff;
}
@media (max-width: 800px) {
  body .two-columns-text .row {
    flex-direction: column;
  }
}
body .two-columns-text .column-content {
  width: 50%;
}
@media (max-width: 800px) {
  body .two-columns-text .column-content {
    width: 100%;
  }
}
body .two-columns-text .column-content.column-left {
  padding: 0 36px 0 0;
}
@media (max-width: 800px) {
  body .two-columns-text .column-content.column-left {
    padding: 0;
    margin-bottom: 45px;
  }
}
body .two-columns-text .column-content.column-right {
  padding: 0 0 0 36px;
}
@media (max-width: 800px) {
  body .two-columns-text .column-content.column-right {
    padding: 0;
  }
}
body .two-columns-text .column-content.top-plus .decor-top-plus {
  display: block;
}
body .two-columns-text .column-content.bottom-plus .decor-bottom-plus {
  display: block;
}
body .two-columns-text .column-content.bottom-plus-arrow .decor-bottom-arrow-plus {
  display: block;
}
body .two-columns-text .column-content.bottom-plus-arrow .btn {
  float: none;
  width: max-content;
}
body .two-columns-text .column-content.top-bottom-plus .decor-top-plus,
body .two-columns-text .column-content.top-bottom-plus .decor-bottom-plus {
  display: block;
}
body .two-columns-text .column-content.top-bottom-plus .btn {
  float: none;
  width: max-content;
}
body .two-columns-text .column-content .subtitle {
  width: 100%;
  margin-bottom: 20px;
  text-transform: uppercase;
}
body .two-columns-text .column-content h3 {
  margin: 0 0 30px;
}
body .two-columns-text .column-content .btn {
  max-width: none;
  float: left;
  width: auto;
  margin-top: 28px;
}
body .two-columns-text .column-content .decor {
  display: none;
  height: 24px;
  background-size: 24px;
  background: url("images/decor-center-red.svg") center no-repeat;
}
body .two-columns-text .column-content .decor:before, body .two-columns-text .column-content .decor:after {
  content: "";
  display: block;
  width: 12px;
  height: 24px;
  position: absolute;
  top: 0;
}
body .two-columns-text .column-content .decor:before {
  background: url("images/decor-left-red.svg") center no-repeat;
  background-size: 100%;
  left: 0;
}
body .two-columns-text .column-content .decor:after {
  background: url("images/decor-right-red.svg") center no-repeat;
  background-size: 100%;
  right: 0;
}
body .two-columns-text .column-content .decor.decor-top-plus {
  margin: 0 0 40px;
}
body .two-columns-text .column-content .decor.decor-bottom-plus {
  margin: 40px 0 0;
}
body .two-columns-text .column-content .decor.decor-bottom-arrow-plus {
  background: url("images/arrow-btn.svg") center no-repeat;
  background-size: 24px;
  margin: 40px 0 0;
}
body .two-columns-with-points {
  padding: 94px 0;
}
@media (max-width: 1023px) {
  body .two-columns-with-points {
    padding: 64px 0;
  }
}
@media (max-width: 767px) {
  body .two-columns-with-points {
    padding: 35px 0;
  }
}
@media (max-width: 800px) {
  body .two-columns-with-points .row {
    flex-direction: column;
  }
}
body .two-columns-with-points .column-content {
  width: 50%;
}
@media (max-width: 800px) {
  body .two-columns-with-points .column-content {
    width: 100%;
  }
}
body .two-columns-with-points .column-content.column-left {
  padding: 0 36px 0 0;
}
@media (max-width: 800px) {
  body .two-columns-with-points .column-content.column-left {
    padding: 0;
    margin-bottom: 45px;
  }
}
body .two-columns-with-points .column-content.column-right {
  padding: 0 0 0 36px;
}
@media (max-width: 800px) {
  body .two-columns-with-points .column-content.column-right {
    padding: 0;
  }
}
body .two-columns-with-points .column-content .column-data {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-bottom: 45px;
}
body .two-columns-with-points .column-content .column-data.text-color-white {
  color: #fff;
}
body .two-columns-with-points .column-content .column-data.text-color-white h3 {
  color: #fff;
}
body .two-columns-with-points .column-content .column-data.text-color-white .btn {
  background-color: #2454E0;
}
body .two-columns-with-points .column-content .column-data.text-color-white .btn:hover, body .two-columns-with-points .column-content .column-data.text-color-white .btn:active {
  background-color: #4e7bff;
}
body .two-columns-with-points .column-content .column-data .decor {
  height: 24px;
  background-size: 24px;
  background: url("images/decor-center-red.svg") center no-repeat;
}
body .two-columns-with-points .column-content .column-data .decor:before, body .two-columns-with-points .column-content .column-data .decor:after {
  content: "";
  display: block;
  width: 12px;
  height: 24px;
  position: absolute;
  top: 0;
}
body .two-columns-with-points .column-content .column-data .decor:before {
  background: url("images/decor-left-red.svg") center no-repeat;
  background-size: 100%;
  left: 0;
}
body .two-columns-with-points .column-content .column-data .decor:after {
  background: url("images/decor-right-red.svg") center no-repeat;
  background-size: 100%;
  right: 0;
}
body .two-columns-with-points .column-content .column-data .decor.decor-top-plus {
  margin: 0 0 40px;
}
body .two-columns-with-points .column-content .column-data .decor.decor-bottom-plus {
  margin: 40px 0 0;
}
body .two-columns-with-points .column-content .column-data .decor.decor-bottom-arrow-plus {
  background: url("images/arrow-btn.svg") center no-repeat;
  background-size: 24px;
  margin: 40px 0 0;
}
body .two-columns-with-points .column-content .column-data .subtitle {
  font-family: "Roboto Mono", monospace;
  text-transform: uppercase;
  font-size: 17px;
  line-height: 25px;
  margin: 0 0 33px;
}
body .two-columns-with-points .column-content .column-data .text-intro {
  width: 100%;
  margin: 0 auto;
}
body .two-columns-with-points .column-content .column-data .text-intro h3 {
  margin: 0 0 30px;
}
@media (max-width: 767px) {
  body .two-columns-with-points .column-content .column-data .text-intro h3 {
    margin: 0 0 16px;
  }
}
body .two-columns-with-points .column-content .column-data .text-intro h1 {
  font-size: 60px;
  line-height: 1;
  letter-spacing: -2.4px;
  font-weight: 200;
}
@media (max-width: 1279px) {
  body .two-columns-with-points .column-content .column-data .text-intro h1 {
    font-size: 50px;
  }
}
@media (max-width: 1023px) {
  body .two-columns-with-points .column-content .column-data .text-intro h1 {
    font-size: 38px;
  }
}
@media (max-width: 767px) {
  body .two-columns-with-points .column-content .column-data .text-intro h1 {
    font-size: 32px;
  }
}
body .two-columns-with-points .column-content .column-data .text-hold {
  margin: 0 0 28px;
}
body .two-columns-with-points .column-content .column-data .btn {
  max-width: none;
  float: left;
  width: auto;
}
body .two-columns-with-points .column-content .testimonial {
  background-color: #131628;
  padding: 40px 25px 40px 0;
  position: relative;
}
body .two-columns-with-points .column-content .testimonial:before {
  content: "";
  display: block;
  width: 1000%;
  height: 100%;
  background-color: #131628;
  position: absolute;
  top: 0;
  right: 0;
}
@media (max-width: 800px) {
  body .two-columns-with-points .column-content .testimonial {
    padding: 40px 0;
  }
  body .two-columns-with-points .column-content .testimonial:before {
    right: 50%;
    transform: translateX(50%);
  }
}
body .two-columns-with-points .column-content .testimonial blockquote {
  margin: 0 0 18px;
  padding: 0;
  font-weight: 200;
  font-family: "Host Grotesk", sans-serif;
  font-size: 35px;
  line-height: 1.15;
  letter-spacing: -1px;
  color: #fff;
  position: relative;
  z-index: 3;
}
@media (max-width: 1279px) {
  body .two-columns-with-points .column-content .testimonial blockquote {
    font-size: 30px;
  }
}
@media (max-width: 1023px) {
  body .two-columns-with-points .column-content .testimonial blockquote {
    font-size: 20px;
  }
}
body .two-columns-with-points .column-content .testimonial .author {
  font-weight: 400;
  font-size: 15px;
  color: #F04E58;
  font-family: "Roboto Mono", monospace;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 3;
}
body .two-columns-with-points .column-content .testimonial .author .photo {
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #F04E58;
  width: 68px;
  height: 68px;
  margin-right: 24px;
  flex-shrink: 0;
  position: relative;
  z-index: 3;
}
@media (max-width: 1023px) {
  body .two-columns-with-points .column-content .testimonial .author .photo {
    width: 50px;
    height: 50px;
    margin-right: 14px;
  }
}
@media (max-width: 1023px) {
  body .two-columns-with-points .column-content .testimonial .author {
    font-size: 12px;
  }
}
body .two-columns-with-points .column-content .list-points {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
body .two-columns-with-points .column-content .list-points .list-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding-bottom: 50px;
  margin-bottom: 30px;
  position: relative;
}
body .two-columns-with-points .column-content .list-points .list-item:before, body .two-columns-with-points .column-content .list-points .list-item:after {
  content: "";
  display: block;
  position: absolute;
  width: 39%;
  height: 1px;
  background-color: #F04E58;
  bottom: 0;
}
body .two-columns-with-points .column-content .list-points .list-item:before {
  left: 0;
}
body .two-columns-with-points .column-content .list-points .list-item:after {
  right: 0;
}
body .two-columns-with-points .column-content .list-points .list-item:last-child {
  margin-bottom: 0;
}
body .two-columns-with-points .column-content .list-points .list-item:last-child:before, body .two-columns-with-points .column-content .list-points .list-item:last-child:after {
  display: none;
}
body .two-columns-with-points .column-content .list-points .list-item:last-child .arrow-btn {
  display: none;
}
body .two-columns-with-points .column-content .list-points .list-item .title-item {
  width: 100%;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  body .two-columns-with-points .column-content .list-points .list-item .text-item p {
    font-size: 14px;
  }
}
body .two-columns-with-points .column-content .list-points .list-item .arrow-btn {
  position: absolute;
  bottom: -9px;
  left: 50%;
  transform: translateX(-50%);
}
body .contact-block {
  padding-top: 80px;
}
@media (max-width: 1023px) {
  body .contact-block {
    padding-top: 60px;
  }
}
@media (max-width: 767px) {
  body .contact-block {
    padding-top: 40px;
  }
}
body .contact-block .row {
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
body .contact-block .form-hold {
  max-width: 850px;
  width: 100%;
}
body .contact-block .form-hold .subtitle {
  font-family: "Host Grotesk", sans-serif;
  font-size: 22px;
  line-height: 30px;
  margin: 0 0 30px;
  letter-spacing: -0.88px;
  text-align: center;
}
body .contact-block .form-hold h1, body .contact-block .form-hold h2 {
  text-align: center;
  letter-spacing: -2.4px;
  margin: 0 0 40px;
}
body .contact-block .form-hold .text-hold {
  text-align: center;
  margin: 0 auto 30px;
}
body .contact-block .form-hold .gform_wrapper.gravity-theme {
  margin: 0 auto;
  max-width: 680px;
}
body .contact-block .form-hold .gform_wrapper.gravity-theme .gform_fields {
  grid-column-gap: 20px;
  grid-row-gap: 10px;
}
body .contact-block .form-hold form {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
}
body .contact-block .form-hold form .gfield {
  margin-bottom: 0;
  position: relative;
}
@media (max-width: 767px) {
  body .contact-block .form-hold form .gfield {
    margin-bottom: 15px;
  }
}
body .contact-block .form-hold form .gfield.gfield_error input:not([type=submit]), body .contact-block .form-hold form .gfield.gfield_error select {
  border: 0;
  border-bottom: 1px solid red;
}
body .contact-block .form-hold form input:not([type=submit]), body .contact-block .form-hold form select, body .contact-block .form-hold form textarea {
  background: #fff;
  border: none;
  border-radius: 8px;
  color: #1C0A43;
  font-family: "Roboto Mono", monospace;
  font-weight: 400;
  font-size: 14px;
  line-height: 21px !important;
  padding: 5px 10px !important;
}
body .contact-block .form-hold form select {
  background: #fff;
}
body .contact-block .form-hold form .gfield_required {
  display: none;
}
body .contact-block .form-hold form #field_2_10 {
  margin-top: 9px;
}
body .contact-block .form-hold form .gfield_label {
  color: #F04E58;
  font-family: "Roboto Mono", monospace;
  font-weight: 400;
  font-size: 12px;
  line-height: 1;
  margin-bottom: 9px;
  text-transform: uppercase;
}
body .contact-block .form-hold form .ginput_container_select {
  position: relative;
}
body .contact-block .form-hold form .ginput_container_select:before {
  content: "";
  display: block;
  width: 12px;
  height: 7px;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.59375 0.5L5.59375 5.5L10.9062 0.5' stroke='black' /%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 15px;
  right: 8px;
  z-index: -1;
}
body .contact-block .form-hold form textarea {
  height: 128px !important;
  font-family: "Roboto Mono", monospace;
  font-weight: 400;
  font-size: 14px;
  line-height: 143%;
}
body .contact-block .form-hold form select option.gf_placeholder {
  color: rgba(0, 0, 0, 0.5);
}
body .contact-block .form-hold form .gfield_checkbox {
  display: flex;
  flex-wrap: wrap;
  max-width: 600px;
}
body .contact-block .form-hold form .gfield_checkbox .gchoice {
  width: 30%;
  margin: 0 58px 10px 0;
  position: relative;
}
body .contact-block .form-hold form .gfield_checkbox .gchoice input {
  display: block;
  position: absolute !important;
  left: -9999em !important;
}
body .contact-block .form-hold form .gfield_checkbox .gchoice label {
  font-family: "Roboto Mono", monospace;
  font-weight: 400;
  font-size: 12px;
  font-style: normal;
  letter-spacing: normal;
  line-height: 16px;
  letter-spacing: -0.48px;
  position: relative;
  padding-right: 21px;
  cursor: pointer;
  text-transform: uppercase;
  display: block;
  width: 100%;
  max-width: none;
}
body .contact-block .form-hold form .gfield_checkbox .gchoice label:before, body .contact-block .form-hold form .gfield_checkbox .gchoice label:after {
  content: "";
  display: block;
  position: absolute;
}
body .contact-block .form-hold form .gfield_checkbox .gchoice label:before {
  width: 12px;
  height: 12px;
  border: 1px solid #1C0A43;
  border-radius: 2px;
  position: absolute;
  right: 0;
  top: 4px;
  background: #fff;
}
body .contact-block .form-hold form .gfield_checkbox .gchoice label:after {
  width: 0;
  height: 0;
  border-bottom: 0px solid #2454E0;
  border-right: 0px solid #2454E0;
  position: absolute;
  right: 2px;
  top: 4px;
  transition: 200ms all ease-in-out;
  opacity: 0;
}
body .contact-block .form-hold form .gfield_checkbox .gchoice input:checked + label:after {
  width: 2px;
  height: 9px;
  right: 4px;
  top: 5px;
  opacity: 1;
  border-bottom-width: 2px;
  border-right-width: 2px;
  transform: rotate(45deg);
  border-color: #1C0A43;
}
body .contact-block .form-hold form .gform_footer {
  margin: 0;
  padding: 0;
  width: 100%;
  justify-content: center;
}
body .contact-block .form-hold form [type=submit] {
  width: max-content;
  background: #1C0A43;
  font-family: "acumin-pro", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 21px;
  margin-top: 25px;
  position: relative;
  transition: all 0.3s;
  border-radius: 20px;
  min-width: 125px;
  padding: 5px 18px;
}
body .contact-block .form-hold form [type=submit]:hover {
  background-color: #F04E58;
  transition: all 0.3s;
}
@media (max-width: 767px) {
  body .contact-block .form-hold form [type=submit] {
    margin-top: 10px;
  }
}
body .cta-block .row {
  padding: 74px 0 88px;
}
@media (max-width: 767px) {
  body .cta-block .row {
    padding: 60px 0;
  }
}
@media (max-width: 479px) {
  body .cta-block .row {
    padding: 50px 0;
  }
}
body .cta-block .row {
  text-align: center;
  display: flex;
  align-items: center;
  width: 100%;
  flex-direction: column;
}
body .cta-block h3 {
  margin: 0 0 20px;
}
body .cta-block.bg-blue .btn {
  color: #fff;
  background-color: #F04E58;
}
body .cta-block.bg-blue .btn:hover, body .cta-block.bg-blue .btn:active {
  background-color: #4e7bff;
}
body .cta-block + .case-studie-featured-block:before {
  content: "";
  display: block;
  max-width: 1360px;
  margin: -48px auto 48px;
  width: 100%;
  height: 1px;
  background: #F04E58;
}
body .features-block:last-child {
  margin-bottom: -1px;
}
body .features-block .features {
  display: flex;
  flex-wrap: wrap;
}
body .features-block .features .item {
  width: 50%;
  border-bottom: 1px solid #E5FF8C;
  padding: 45px 0;
}
@media (max-width: 767px) {
  body .features-block .features .item {
    width: 100%;
  }
}
@media (max-width: 479px) {
  body .features-block .features .item {
    padding: 30px 0;
  }
}
body .features-block .features .item .hold {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  padding: 15px 30px;
  align-items: center;
  justify-content: flex-end;
}
@media (max-width: 1023px) {
  body .features-block .features .item .hold {
    padding: 12px 24px;
  }
}
@media (max-width: 479px) {
  body .features-block .features .item .hold {
    padding: 0 15px;
  }
}
@media (max-width: 767px) {
  body .features-block .features .item .hold {
    padding: 0;
  }
}
body .features-block .features .item:nth-child(2n+1) .hold {
  border-right: 1px solid #E5FF8C;
}
@media (max-width: 767px) {
  body .features-block .features .item:nth-child(2n+1) .hold {
    border-right: none;
  }
}
body .features-block .features .item:nth-child(2n+1) .hold {
  padding-left: 0;
}
body .features-block .features .item:nth-child(2n) .hold {
  padding-right: 0;
}
body .features-block .features .item .icon {
  width: 150px;
  width: 75px;
  display: flex;
  justify-content: center;
}
@media (max-width: 1023px) {
  body .features-block .features .item .icon {
    width: 134px;
    width: 67px;
  }
}
body .features-block .features .item .data {
  width: calc(100% - 150px);
  width: calc(100% - 75px);
  padding-right: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 1023px) {
  body .features-block .features .item .data {
    padding-right: 25px;
    width: calc(100% - 134px);
    width: calc(100% - 67px);
  }
}
body .features-block .features .item .data .subtitle {
  font-size: 17px;
  line-height: 24px;
  font-family: "Roboto Mono", monospace;
  color: #F04E58;
  text-transform: uppercase;
  margin: 0 0 12px;
}
body .features-block .features .item .data h4 {
  margin: 0;
}
body .features-block .features .item .data .btn {
  min-width: 142px;
  margin-top: 10px;
}
body .intro-text-block {
  padding: 80px 0 0;
}
@media (max-width: 1023px) {
  body .intro-text-block {
    padding-top: 60px;
  }
}
@media (max-width: 767px) {
  body .intro-text-block {
    padding-top: 40px;
  }
}
body .intro-text-block .row {
  flex-wrap: wrap;
  border-bottom: 1px solid #F04E58;
  padding-bottom: 80px;
  width: 100%;
}
@media (max-width: 1023px) {
  body .intro-text-block .row {
    padding-bottom: 60px;
  }
}
@media (max-width: 767px) {
  body .intro-text-block .row {
    padding-bottom: 40px;
  }
}
body .intro-text-block .column-sub {
  width: 33.33%;
}
body .intro-text-block .column-sub .subtitle {
  font-size: 22px;
  font-family: "Host Grotesk", sans-serif;
  line-height: 1.2;
  font-weight: 400;
}
@media (max-width: 1279px) {
  body .intro-text-block .column-sub .subtitle {
    font-size: 20px;
  }
}
@media (max-width: 1023px) {
  body .intro-text-block .column-sub .subtitle {
    font-size: 18px;
  }
}
body .intro-text-block .column-main {
  width: 66.66%;
  padding-left: 18px;
}
body .intro-text-block .column-main h2 {
  margin: 0;
}
body .intro-text-block.bg-blue .btn {
  color: #fff;
  background-color: #F04E58;
}
body .intro-text-block.bg-blue .btn:hover, body .intro-text-block.bg-blue .btn:active {
  background-color: #4e7bff;
}
body .intro-text-block.smaller h2 {
  font-size: 32px;
  line-height: 40px;
}
@media (max-width: 767px) {
  body .intro-text-block.smaller h2 {
    font-size: 24px;
    line-height: 30px;
  }
}
@media (max-width: 479px) {
  body .intro-text-block.smaller h2 {
    font-size: 20px;
    line-height: 26px;
  }
}
body .logo-slider-block {
  padding: 110px 0;
}
@media (max-width: 1279px) {
  body .logo-slider-block {
    padding: 80px 0;
  }
}
@media (max-width: 1023px) {
  body .logo-slider-block {
    padding: 60px 0;
  }
}
@media (max-width: 767px) {
  body .logo-slider-block {
    padding: 40px 0;
  }
}
body .logo-slider-block .logo-slider {
  display: flex;
  justify-content: space-between;
  width: 100%;
  flex-wrap: wrap;
}
@media (max-width: 479px) {
  body .logo-slider-block .logo-slider {
    width: calc(100% + 30px);
    margin: 0 -15px;
  }
}
body .logo-slider-block .logo-slider .slide {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
@media (max-width: 479px) {
  body .logo-slider-block .logo-slider .slide {
    padding: 15px;
  }
}
@media (max-width: 1400px) {
  body .logo-slider-block .logo-slider .slide img {
    height: 40px;
    width: auto;
  }
}
@media (max-width: 479px) {
  body .logo-slider-block .logo-slider .slide img {
    height: 26px;
  }
}
body .subscription-form-block {
  background: #F7F7F7;
  color: #1C0A43;
  padding: 54px 0;
}
body .subscription-form-block .row {
  flex-wrap: wrap;
}
body .subscription-form-block .decor {
  margin-bottom: 75px;
}
body .subscription-form-block .column-sub {
  width: 33.33%;
}
body .subscription-form-block .column-sub .subtitle {
  font-size: 22px;
  font-family: "Host Grotesk", sans-serif;
  line-height: 1.2;
  font-weight: 400;
}
@media (max-width: 1279px) {
  body .subscription-form-block .column-sub .subtitle {
    font-size: 20px;
  }
}
@media (max-width: 1023px) {
  body .subscription-form-block .column-sub .subtitle {
    font-size: 18px;
  }
}
body .subscription-form-block .column-main {
  width: 50%;
  padding-left: 8px;
}
@media (max-width: 767px) {
  body .subscription-form-block .column-main {
    width: 66.66%;
  }
}
body .subscription-form-block.section-block .column-main h3 {
  margin: 10px 0 30px;
}
body .subscription-form-block .column-socials {
  width: 16.66%;
  padding-top: 24px;
}
@media (max-width: 767px) {
  body .subscription-form-block .column-socials {
    padding-top: 0;
    width: 100%;
  }
}
body .subscription-form-block .column-socials .socials {
  display: flex;
  justify-content: flex-end;
}
body .subscription-form-block .column-socials .socials a {
  display: block;
  text-indent: 200%;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 26px;
}
body .subscription-form-block .column-socials .socials a.linkedin {
  width: 25px;
  height: 24px;
  background: url("images/icon-linkedin.svg") no-repeat;
  background-size: contain;
}
body .subscription-form-block .column-socials .socials a.email {
  width: 28px;
  height: 24px;
  background: url("images/icon-email.svg") no-repeat;
  background-size: contain;
}
body .subscription-form-block .form-newsletter {
  width: 100%;
  margin-bottom: 35px;
  max-width: 394px;
}
@media (max-width: 1023px) {
  body .subscription-form-block .form-newsletter {
    margin-bottom: 0;
  }
}
body .subscription-form-block .form-newsletter form {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
body .subscription-form-block .form-newsletter .gfield {
  grid-column: 1/-1 !important;
}
body .subscription-form-block .form-newsletter input:not(.gform_button):not(.gform-button) {
  width: 100%;
  background-color: #fff;
  border: 1px solid #fff;
  color: #1C0A43;
  line-height: 24px;
  font-size: 13px;
  font-family: "acumin-pro", sans-serif;
  padding: 12px 15px;
  border-radius: 60px;
}
body .subscription-form-block .form-newsletter input::placeholder {
  color: #BBBBBB;
}
body .subscription-form-block .form-newsletter .gform_footer {
  padding: 11px 0;
}
body .subscription-form-block .form-newsletter .gform_button.button,
body .subscription-form-block .form-newsletter .gform-button.button {
  max-width: 97px;
  width: 100%;
  height: 30px;
  background-color: #F04E58;
  border: none;
  color: #F7F7F7;
  line-height: 14px;
  transition: all 0.3s;
  font-size: 13px;
  font-weight: 600;
  font-family: "acumin-pro", sans-serif;
  padding: 2px 16px;
}
body .subscription-form-block .form-newsletter .gform_button.button:hover,
body .subscription-form-block .form-newsletter .gform-button.button:hover {
  background-color: #fff;
  transition: all 0.3s;
}
body .testimonial-block {
  position: relative;
}
body .testimonial-block .hold {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
body .testimonial-block .hold:before, body .testimonial-block .hold:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  width: 50%;
}
@media (max-width: 767px) {
  body .testimonial-block .hold:before {
    display: none;
  }
}
body .testimonial-block .hold:after {
  left: 50%;
  background: #1C0A43;
  opacity: 0.3;
}
@media (max-width: 767px) {
  body .testimonial-block .hold:after {
    left: 0;
    width: 100%;
  }
}
body .testimonial-block .hold .wrap {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  position: relative;
  z-index: 2;
  height: 100%;
}
body .testimonial-block .hold .data {
  width: 50%;
  padding: 90px 66px 90px 90px;
}
@media (max-width: 1279px) {
  body .testimonial-block .hold .data {
    padding: 40px 40px 40px 60px;
  }
}
@media (max-width: 767px) {
  body .testimonial-block .hold .data {
    padding: 40px 30px;
    width: 100%;
  }
}
body .testimonial-block .hold .data .decor-custom,
body .testimonial-block .hold .data .decor {
  margin: 30px 0;
  height: 18px;
}
@media (max-width: 1023px) {
  body .testimonial-block .hold .data .decor-custom,
  body .testimonial-block .hold .data .decor {
    margin: 22px 0;
  }
}
body .testimonial-block .hold .data .decor {
  background-size: 18px;
}
body .testimonial-block .hold .data .decor:before, body .testimonial-block .hold .data .decor:after {
  width: 9px;
  height: 18px;
}
body .testimonial-block .hold .data .decor-custom svg {
  height: 18px;
  width: auto;
}
body .testimonial-block .hold .data blockquote {
  margin: 0 0 18px;
  padding: 0;
  font-weight: 200;
  font-family: "Host Grotesk", sans-serif;
  font-size: 40px;
  line-height: 1.15;
  letter-spacing: -1px;
  color: #fff;
}
@media (max-width: 1279px) {
  body .testimonial-block .hold .data blockquote {
    font-size: 34px;
  }
}
@media (max-width: 1023px) {
  body .testimonial-block .hold .data blockquote {
    font-size: 26px;
  }
}
body .testimonial-block .hold .data .author {
  font-weight: 400;
  font-size: 15px;
  color: #F04E58;
  font-family: "Roboto Mono", monospace;
  text-transform: uppercase;
  display: flex;
  align-items: center;
}
body .testimonial-block .hold .data .author .photo {
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #F04E58;
  width: 68px;
  height: 68px;
  margin-right: 24px;
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  body .testimonial-block .hold .data .author .photo {
    width: 50px;
    height: 50px;
    margin-right: 14px;
  }
}
@media (max-width: 1023px) {
  body .testimonial-block .hold .data .author {
    font-size: 12px;
  }
}
body .testimonial-block .bg {
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  body .testimonial-block .bg img {
    width: 220%;
    max-width: none;
    margin-left: -60%;
  }
}
@media (min-width: 2000px) {
  body .testimonial-block .bg img {
    width: 100%;
  }
}
body .testimonial-block .darkbg {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  width: 50%;
  left: 50%;
  background: #131628;
  opacity: 0;
  transform: translateX(100vw);
  transition-timing-function: ease-out;
}
@media (max-width: 767px) {
  body .testimonial-block .darkbg {
    left: 0;
    width: 100%;
  }
}
body .testimonial-block .darkbg.aos-animate {
  transform: translateX(0);
  opacity: 0.3;
}
body .testimonial-block.text-left .wrap {
  align-items: flex-start;
}
body .testimonial-block.text-left .darkbg {
  left: 0;
  transform: translateX(-100vw);
}
body .testimonial-block.text-left .darkbg.aos-animate {
  transform: translateX(0);
}
body .testimonial-block.text-left .hold:after {
  left: 0;
}
body .testimonial-block.text-left .lines-general-custom {
  left: 50%;
}
body .testimonial-block + .intro-text-block {
  padding-top: 178px;
}
@media (max-width: 1279px) {
  body .testimonial-block + .intro-text-block {
    padding-top: 100px;
  }
}
body .tiles-block .wrap {
  overflow: hidden;
}
body .tiles-block.bg-blue .tiles:after {
  display: none;
}
body .tiles-block:last-child.bg-blue .tiles:after {
  display: block;
  background-color: #1C0A43;
}
body .tiles-block .tiles {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -28px;
  position: relative;
  width: calc(100% + 56px);
}
body .tiles-block .tiles:after {
  content: "";
  display: block;
  position: absolute;
  background: #F7F7F7;
  width: 100%;
  left: 0;
  bottom: 0;
  height: 1px;
  z-index: 1;
}
body .tiles-block .tiles.only-two .item {
  width: 50%;
}
@media (max-width: 539px) {
  body .tiles-block .tiles.only-two .item {
    width: 100%;
  }
}
body .tiles-block .tiles.only-two .item:last-child .hold:after {
  display: none;
}
body .tiles-block .tiles .item {
  width: 33.33%;
  padding: 32px 28px 0;
}
@media (max-width: 767px) {
  body .tiles-block .tiles .item {
    width: 50%;
  }
}
@media (max-width: 540px) {
  body .tiles-block .tiles .item {
    width: 100%;
  }
}
body .tiles-block .tiles .item .hold {
  border-bottom: 1px solid #E5FF8C;
  padding: 0 0 30px;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
body .tiles-block .tiles .item .hold:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -28px;
  height: calc(100% - 30px);
  width: 1px;
  background: #E5FF8C;
}
body .tiles-block .tiles .item:nth-child(3n) .hold:after {
  display: none;
}
body .tiles-block .tiles .item figure {
  margin: 0 0 24px;
}
body .tiles-block .tiles .item .data {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 540px) {
  body .tiles-block .tiles .item .data {
    min-height: 0;
  }
}
body .tiles-block .tiles .item .data .subtitle {
  color: #F04E58;
  text-transform: uppercase;
  font-family: "Roboto Mono", monospace;
  margin: 0 0 16px;
}
body .tiles-block .tiles .item .data h4 {
  font-weight: 200;
  font-size: 24px;
  line-height: 26px;
  font-family: "Host Grotesk", sans-serif;
  margin: 10px 0 10px;
  letter-spacing: -0.35px;
}
body .tiles-block .tiles .item .data p {
  font-size: 16px;
  line-height: 22px;
  font-weight: 300;
  flex: 1;
  margin: 0 0 20px;
}
body .tiles-block .tiles .item .data .btn {
  margin: 14px 0 0;
}
body .tiles-block + .testimonial-block {
  border-top: 1px solid #E5FF8C;
  border-bottom: 1px solid #E5FF8C;
  margin-top: -1px;
  z-index: 1;
}
body .stats-block {
  text-align: center;
  padding: 20px 0 40px;
}
body .stats-block .wrap {
  align-items: center;
}
body .stats-block .text-hold {
  max-width: 800px;
  margin: 0 auto 40px;
}
body .stats-block .stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1080px;
  margin: 0 auto;
  width: 100%;
}
body .stats-block .stats .item {
  width: 33.33%;
}
@media (max-width: 700px) {
  body .stats-block .stats .item {
    width: 100%;
  }
}
body .stats-block .stats .item:not(:last-child) {
  border-right: 1px solid #F04E58;
}
@media (max-width: 700px) {
  body .stats-block .stats .item:not(:last-child) {
    border-right: none;
    border-bottom: 1px solid #F04E58;
  }
}
body .stats-block .stats .item .hold {
  padding: 0 40px;
}
@media (max-width: 700px) {
  body .stats-block .stats .item .hold {
    padding: 30px 0;
  }
}
body .stats-block .stats .item .number-value {
  color: #F04E58;
  font-family: "Host Grotesk", sans-serif;
  font-style: italic;
  font-size: 60px;
  line-height: 1;
  margin: 0 0 10px;
}
body .stats-block .stats .item .number-value .value {
  letter-spacing: -2.4px;
}
body .stats-block .stats .item .number-value .sign {
  font-size: 62%;
  vertical-align: baseline;
  margin-left: 0.04em;
}
body .stats-block .stats .item .icon {
  min-height: 60px;
  width: 100%;
  margin: 0 0 10px;
  display: flex;
  justify-content: center;
}
body .stats-block .stats .item .icon img {
  width: auto;
  height: 60px;
}
body .stats-block .stats .item h4 {
  font-family: "Roboto Mono", monospace;
  text-transform: uppercase;
  font-size: 17px;
  line-height: 22px;
  font-weight: 400;
  letter-spacing: -0.68px;
  margin: 0;
}
body .stats-block .btn {
  min-width: 160px;
  margin-top: 80px;
}
body .stats-block {
  /*+ .tabs-image-block {
      margin-top: 20px; 
     .wrap .row {
          padding-top: 65px;
          border-top: 1px solid $accent_color;
      }
  }*/
}
body .title-with-bg-block {
  text-align: center;
}
body .title-with-bg-block.text-color-white h2 {
  color: #fff;
}
body .title-with-bg-block .wrap {
  justify-content: center;
  align-items: center;
  height: 605px;
}
body .title-with-bg-block figure {
  position: absolute;
  top: 80px;
  height: calc(100% - 160px);
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
body .title-with-bg-block figure img {
  height: 100%;
  width: auto;
}
body .title-with-bg-block h2 {
  position: relative;
  z-index: 1;
}
body .post-item {
  margin-bottom: 52px;
}
body .post-item:last-child {
  margin-bottom: 0;
}
body .post-item:last-child .hold {
  padding-bottom: 0;
}
body .post-item:last-child .hold:after {
  display: none;
}
body .post-item .category {
  color: #688cf4;
  font-family: "Roboto Mono", monospace;
  letter-spacing: -0.56px;
  font-size: 14px;
  line-height: 1;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0 0 7px;
}
body .post-item .title {
  font-family: "Host Grotesk", sans-serif;
  font-size: 30px;
  line-height: 1.17;
  letter-spacing: -1.2px;
  font-weight: 600;
  color: #1C0A43;
  display: block;
  margin: 0 0 2px;
}
body .post-item .meta {
  font-size: 10px;
  font-weight: 700;
  line-height: 12px;
  color: #1C0A43;
  margin: 0 0 16px;
}
body .post-item .excerpt p {
  font-size: 14px;
  line-height: 1.43;
}
body .post-item figure {
  width: 305px;
}
@media (max-width: 1023px) {
  body .post-item figure {
    width: 190px;
  }
}
@media (max-width: 579px) {
  body .post-item figure {
    width: 100%;
  }
}
body .post-item .hold {
  display: flex;
  position: relative;
  padding-bottom: 40px;
  flex-wrap: wrap;
}
body .post-item .hold:after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  opacity: 0.5;
  background-color: #2554e0;
  position: absolute;
  bottom: 0;
  left: 0;
}
body .post-item .data {
  padding-left: 34px;
  width: calc(100% - 305px);
  padding-top: 14px;
}
@media (max-width: 1023px) {
  body .post-item .data {
    padding-left: 25px;
    width: calc(100% - 190px);
  }
}
@media (max-width: 579px) {
  body .post-item .data {
    padding-left: 0;
    width: 100%;
  }
}
body .post-item.item-small {
  margin-bottom: 17px;
}
body .post-item.item-small .category {
  margin-bottom: 10px;
}
body .post-item.item-small figure {
  width: 112px;
}
@media (max-width: 1023px) {
  body .post-item.item-small figure {
    width: 100px;
  }
}
body .post-item.item-small .title {
  font-size: 19px;
  line-height: 1;
  letter-spacing: -0.76px;
  margin: 0 0 10px;
}
body .post-item.item-small .meta {
  margin-bottom: 0;
}
body .post-item.item-small .data {
  padding-left: 26px;
  width: calc(100% - 112px);
}
@media (max-width: 1023px) {
  body .post-item.item-small .data {
    width: calc(100% - 100px);
    padding-left: 20px;
  }
}
body .post-item.item-small .hold {
  padding-bottom: 18px;
}
body .post-item.item-small:last-child {
  margin-bottom: 0;
}
body .post-item.item-small:last-child .hold {
  padding-bottom: 0;
}
body .posts-featured-block {
  margin: 48px 0 32px;
}
body .posts-featured-block .row {
  padding-bottom: 22px;
  border-bottom: 1px solid #F04E58;
}
body .posts-featured-block .posts-featured {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
body .posts-featured-block .posts-featured .column {
  padding: 0 10px;
}
body .posts-featured-block .posts-featured .column:first-child {
  width: 68%;
}
@media (max-width: 1023px) {
  body .posts-featured-block .posts-featured .column:first-child {
    width: 100%;
  }
}
@media (min-width: 768px) {
  body .posts-featured-block .posts-featured .column:first-child .post-item .hold .data {
    padding: 28px 28px;
  }
  body .posts-featured-block .posts-featured .column:first-child .post-item .hold .data .title {
    max-width: 350px;
    letter-spacing: -1.2px;
    font-size: 30px;
    line-height: 35px;
  }
  body .posts-featured-block .posts-featured .column:first-child .post-item .hold .data .meta {
    margin: 0;
  }
}
body .posts-featured-block .posts-featured .column:last-child {
  width: 32%;
}
@media (max-width: 1023px) {
  body .posts-featured-block .posts-featured .column:last-child {
    width: calc(100% + 24px);
    margin: 0 -12px;
    display: flex;
    flex-wrap: wrap;
  }
  body .posts-featured-block .posts-featured .column:last-child .post-item {
    width: 50%;
    padding: 0 12px;
  }
}
@media (max-width: 767px) {
  body .posts-featured-block .posts-featured .column:last-child .post-item {
    width: 100%;
  }
}
body .posts-featured-block .posts-featured .post-item {
  margin: 0 0 20px;
}
body .posts-featured-block .posts-featured .post-item .hold {
  position: relative;
  padding: 0;
}
body .posts-featured-block .posts-featured .post-item .hold:after {
  display: none;
}
body .posts-featured-block .posts-featured .post-item .hold figure {
  width: 100%;
}
body .posts-featured-block .posts-featured .post-item .hold .data {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background-image: linear-gradient(to bottom, rgba(20, 22, 40, 0), rgba(20, 22, 40, 0.58) 51%, #141628);
  color: #fff;
  padding: 22px 14px;
}
body .posts-featured-block .posts-featured .post-item .hold .data .category {
  margin: 0 0 5px;
}
body .posts-featured-block .posts-featured .post-item .hold .data .title {
  color: #fff;
  font-size: 25px;
  line-height: 1;
  letter-spacing: -1px;
  font-weight: 600;
  font-family: "Host Grotesk", sans-serif;
  margin: 0 0 3px;
  display: block;
}
body .posts-featured-block .posts-featured .post-item .hold .data .meta {
  color: #fff;
}
body .posts-2-columns-block {
  margin: 0 0 34px;
}
body .posts-2-columns-block h3 {
  font-size: 30px;
  line-height: 35px;
  letter-spacing: -1.2px;
  color: #fff;
  background: #1C0A43;
  width: 100%;
  margin: 0;
  padding: 12px 14px;
  box-sizing: border-box;
  font-weight: 600;
}
body .posts-2-columns-block .posts-grid {
  padding: 26px;
}
body .posts-2-columns-block .row {
  margin: 0 -10px;
  flex-wrap: wrap;
}
body .posts-2-columns-block .column-left {
  width: 68%;
  padding: 0 10px;
}
@media (max-width: 1023px) {
  body .posts-2-columns-block .column-left {
    width: 60%;
  }
}
@media (max-width: 767px) {
  body .posts-2-columns-block .column-left {
    width: 100%;
    margin-bottom: 20px;
  }
}
body .posts-2-columns-block .column-left .hold {
  background: #fff;
  height: 100%;
}
body .posts-2-columns-block .column-right {
  width: 32%;
  padding: 0 10px;
}
@media (max-width: 1023px) {
  body .posts-2-columns-block .column-right {
    width: 40%;
  }
}
@media (max-width: 767px) {
  body .posts-2-columns-block .column-right {
    width: 100%;
  }
}
body .posts-2-columns-block .column-right .hold {
  background: #fff;
  height: 100%;
}
body .posts-2-columns-block .column-right .posts-grid {
  padding-left: 14px;
  padding-right: 14px;
}
body .posts-2-columns-block.no-side .column-left {
  width: 100%;
}
body .posts-with-subscribe-block {
  margin: 0 0 32px;
}
body .posts-with-subscribe-block .row {
  margin: 0 -10px;
  flex-wrap: wrap;
}
body .posts-with-subscribe-block .column-subscribe {
  width: 32%;
  padding: 0 10px;
}
@media (max-width: 767px) {
  body .posts-with-subscribe-block .column-subscribe {
    width: 100%;
  }
}
body .posts-with-subscribe-block .column-posts {
  width: 68%;
  padding: 0 10px;
}
@media (max-width: 767px) {
  body .posts-with-subscribe-block .column-posts {
    width: 100%;
  }
}
body .posts-with-subscribe-block .column-posts .posts-grid {
  background: #fff;
  padding: 29px;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 1023px) {
  body .posts-with-subscribe-block .column-posts .posts-grid {
    padding: 24px;
  }
}
@media (min-width: 640px) {
  body .posts-with-subscribe-block .column-posts .posts-grid .post-item.item-small {
    width: 48%;
    margin-right: 2%;
  }
  body .posts-with-subscribe-block .column-posts .posts-grid .post-item.item-small:nth-child(2n) {
    margin-left: 2%;
    margin-right: 0;
  }
  body .posts-with-subscribe-block .column-posts .posts-grid .post-item.item-small:last-child .hold {
    padding-bottom: 22px;
  }
  body .posts-with-subscribe-block .column-posts .posts-grid .post-item.item-small:last-child .hold:after {
    display: block;
  }
}
@media (max-width: 639px) {
  body .posts-with-subscribe-block .column-posts .posts-grid .post-item.item-small {
    width: 100%;
  }
}
body .posts-with-subscribe-block .column-posts .posts-grid .post-item.item-small {
  margin-bottom: 32px;
}
body .posts-with-subscribe-block .column-posts .posts-grid .post-item.item-small .hold {
  padding-bottom: 22px;
}
body .full-subscription-hold {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
  padding: 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 1023px) {
  body .full-subscription-hold {
    padding: 28px;
  }
}
body .full-subscription-hold:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -3;
  background: #1C0A43;
}
body .full-subscription-hold .bg {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  background-size: cover;
  opacity: 0.83;
}
body .full-subscription-hold:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 320px;
  z-index: -1;
  background: transparent linear-gradient(0deg, rgba(20, 22, 40, 0) 0%, rgba(20, 22, 40, 0.5843137255) 51%, #141628 100%) 0% 0% no-repeat padding-box;
}
body .full-subscription-hold .subtitle {
  text-align: center;
  letter-spacing: -0.56px;
  font-size: 14px;
  line-height: 1;
  font-weight: 400;
  color: #F04E58;
  font-family: "Roboto Mono", monospace;
  margin: 0 0 24px;
}
body .full-subscription-hold h3 {
  letter-spacing: -1.36px;
  color: #FFFFFF;
  font-weight: 600;
  font-size: 34px;
  line-height: 40px;
  text-align: center;
  margin: 0 0 66px;
}
body .full-subscription-hold .gform_wrapper.gravity-theme .gform_fields {
  grid-row-gap: 10px;
}
body .full-subscription-hold .gform_wrapper.gravity-theme input:not([type=submit]), body .full-subscription-hold .gform_wrapper.gravity-theme select, body .full-subscription-hold .gform_wrapper.gravity-theme textarea {
  background: #fff;
  border: none;
  border-radius: 9px;
  color: #688CF4;
  font-family: "Roboto Mono", monospace;
  font-weight: 400;
  font-size: 14px;
  line-height: 143% !important;
  letter-spacing: -0.56px;
  padding: 5px 11px !important;
}
body .full-subscription-hold .gform_wrapper.gravity-theme .gform_footer {
  margin: 15px 0 0;
  justify-content: center;
}
body .full-subscription-hold .gform_wrapper.gravity-theme .gform_footer .button {
  min-width: 182px;
  background-color: #2454E0;
  font-size: 14px;
}
body .full-subscription-hold .gform_wrapper.gravity-theme .gform_footer .button:hover, body .full-subscription-hold .gform_wrapper.gravity-theme .gform_footer .button:active {
  background-color: #4e7bff;
}
body .case-studie-featured-block {
  padding: 39px 0 0;
}
body .case-studie-featured-block .wrap {
  overflow: hidden;
}
body .case-studie-featured-block .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  padding: 0 0 39px;
  margin: 0 -28px;
}
@media (max-width: 800px) {
  body .case-studie-featured-block .row {
    margin: 0;
  }
}
body .case-studie-featured-block .row:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 28px;
  height: 1px;
  width: calc(100% - 56px);
  background: #F04E58;
}
@media (max-width: 800px) {
  body .case-studie-featured-block .row:after {
    left: 0;
    width: 100%;
  }
}
@media (max-width: 800px) {
  body .case-studie-featured-block .row {
    flex-direction: column;
  }
}
body .case-studie-featured-block .row .column-image {
  width: 66.66%;
  padding: 0 28px;
  box-sizing: border-box;
}
body .case-studie-featured-block .row .column-image figure {
  position: relative;
}
@media (max-width: 800px) {
  body .case-studie-featured-block .row .column-image {
    width: 100%;
    margin-bottom: 35px;
    padding: 0;
  }
}
body .case-studie-featured-block .row .column-data {
  width: 33.33%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0 28px;
}
@media (max-width: 800px) {
  body .case-studie-featured-block .row .column-data {
    width: 100%;
    padding: 0;
  }
}
body .case-studie-featured-block .row .column-data .data {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
body .case-studie-featured-block .row .column-data .meta-hold {
  margin: 0 0 15px;
  display: flex;
  justify-content: flex-start;
}
body .case-studie-featured-block .row .column-data .meta-hold .subtitle {
  color: #F04E58;
  font-family: "Roboto Mono", monospace;
  text-transform: uppercase;
  font-size: 17px;
  line-height: 25px;
  margin: 0 36px 5px 0;
  font-weight: 400;
}
body .case-studie-featured-block .row .column-data .meta-hold .sectors {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  align-items: flex-start;
}
body .case-studie-featured-block .row .column-data .meta-hold .sectors li {
  border-width: 1px;
  border-style: solid;
  color: #fff;
  border-radius: 10px;
  font-size: 10px;
  line-height: 12px;
  padding: 4px 8px;
  margin: 0 5px 5px 0;
  white-space: nowrap;
}
body .case-studie-featured-block .row .column-data h3 {
  font-size: 30px;
  line-height: 35px;
  font-weight: 300;
  letter-spacing: -1.2px;
  margin: 0 0 20px;
}
body .case-studie-featured-block .row .column-data .text-hold {
  margin: 0 0 25px;
}
body .case-studie-featured-block .row .column-data .text-hold p {
  font-size: 14px;
  line-height: 20px;
}
body .case-studie-featured-block .row .column-data .btn {
  min-width: 160px;
}
@media (min-width: 801px) {
  body .case-studie-featured-block.image-right .row {
    flex-direction: row-reverse;
  }
}
body .case-studies-tiles-block .wrap {
  overflow: hidden;
}
body .case-studies-tiles-block .tiles {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -28px;
  position: relative;
  width: calc(100% + 56px);
}
body .case-studies-tiles-block .tiles:after {
  content: "";
  display: block;
  position: absolute;
  background: #F7F7F7;
  width: 100%;
  left: 0;
  bottom: 0;
  height: 1px;
  z-index: 1;
}
body .case-studies-tiles-block .tiles .item {
  width: 33.33%;
  padding: 32px 28px 0;
}
@media (max-width: 767px) {
  body .case-studies-tiles-block .tiles .item {
    width: 50%;
  }
}
@media (max-width: 540px) {
  body .case-studies-tiles-block .tiles .item {
    width: 100%;
  }
}
body .case-studies-tiles-block .tiles .item .hold {
  border-bottom: 1px solid #F04E58;
  padding: 0 0 30px;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
body .case-studies-tiles-block .tiles .item .hold:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -28px;
  height: calc(100% - 30px);
  width: 1px;
  background: #F04E58;
}
body .case-studies-tiles-block .tiles .item:nth-child(3n) .hold:after {
  display: none;
}
body .case-studies-tiles-block .tiles .item figure {
  margin: 0 0 12px;
}
body .case-studies-tiles-block .tiles .item .data {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
}
body .case-studies-tiles-block .tiles .item .data .meta {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin: 0 0 6px;
}
body .case-studies-tiles-block .tiles .item .data .meta .date {
  letter-spacing: 0px;
  color: #1E1E1E;
  font-size: 10px;
  line-height: 22px;
}
body .case-studies-tiles-block .tiles .item .data .meta .sectors {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  width: 100%;
  justify-content: flex-end;
}
body .case-studies-tiles-block .tiles .item .data .meta .sectors li {
  border-width: 1px;
  border-style: solid;
  color: #fff;
  border-radius: 10px;
  font-size: 10px;
  line-height: 12px;
  padding: 4px 8px;
  margin: 0 0 5px 5px;
}
body .case-studies-tiles-block .tiles .item .data .subtitle {
  color: #F04E58;
  text-transform: uppercase;
  font-family: "Roboto Mono", monospace;
  margin: 0 0 7px;
  font-weight: 400;
}
body .case-studies-tiles-block .tiles .item .data h4 {
  font-weight: 200;
  font-size: 24px;
  line-height: 26px;
  font-family: "Host Grotesk", sans-serif;
  margin: 10px 0 10px;
  letter-spacing: -0.35px;
}
body .case-studies-tiles-block .tiles .item .data p {
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  flex: 1;
  margin: 0 0 20px;
}
body .case-studies-tiles-block .tiles .item .data .btn {
  margin: 0;
  min-width: 160px;
}
body .single-post .article-body .section-grid {
  display: grid;
  grid-template-columns: 30% 70%;
  gap: 20px;
}
body .single-post .article-body .section-grid .index .index-menu {
  position: sticky;
  top: 80px;
}
body .posts-listing-block {
  padding: 40px 0;
}
body .posts-listing-block .posts-listing {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
body .posts-listing-block .posts-listing .post-item {
  width: 33.33%;
  margin: 0 0 20px;
  padding: 0 10px;
}
@media (max-width: 1023px) {
  body .posts-listing-block .posts-listing .post-item {
    width: 50%;
  }
}
@media (max-width: 640px) {
  body .posts-listing-block .posts-listing .post-item {
    width: 100%;
  }
}
body .posts-listing-block .posts-listing .post-item:last-child .hold {
  padding-bottom: 40px;
}
body .posts-listing-block .posts-listing .post-item:last-child .hold:after {
  display: block;
}
body .posts-listing-block .posts-listing .post-item .hold {
  height: 100%;
}
body .posts-listing-block .posts-listing .post-item .hold figure {
  width: 100%;
  margin: 0 0 10px;
}
body .posts-listing-block .posts-listing .post-item .hold .data {
  width: 100%;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
body .posts-listing-block .posts-listing .post-item .hold .data .excerpt {
  margin-bottom: 10px;
  flex: 1;
}
body .posts-listing-block .buttons-hold {
  margin: 20px 0 0;
  display: flex;
  justify-content: center;
}
body .single-post {
  padding: 44px 0 50px;
}
body .single-post .page-hold {
  background: #fff;
  padding: 30px 40px;
  margin: 0 0 28px;
}
@media (max-width: 767px) {
  body .single-post .page-hold {
    padding: 20px 30px;
  }
}
body .single-post .page-hold .article-heading {
  position: relative;
  z-index: 1;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  body .single-post .page-hold .article-heading {
    margin: -20px -30px 30px;
  }
}
body .single-post .page-hold .article-heading:before {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background: #BECDF8;
  bottom: -20px;
  left: 0;
  position: absolute;
}
@media (max-width: 767px) {
  body .single-post .page-hold .article-heading:before {
    display: none;
  }
}
body .single-post .page-hold .article-heading .data-hold {
  z-index: 2;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 30px;
}
body .single-post .page-hold .article-heading .data-hold h1 {
  color: #fff;
}
body .single-post .page-hold .article-heading:after {
  content: "";
  display: block;
  position: absolute;
  background: transparent linear-gradient(180deg, rgba(20, 22, 40, 0) 0%, rgba(20, 22, 40, 0.5843137255) 51%, #141628 100%) 0% 0% no-repeat padding-box;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 66%;
  z-index: 1;
  display: none;
}
body .single-post .page-hold .article-heading figure img {
  max-width: none;
  width: 100%;
  height: auto;
}
body .single-post .page-hold .article-heading figure .mobile {
  display: none;
}
@media (max-width: 639px) {
  body .single-post .page-hold .article-heading figure .desktop {
    display: none;
  }
  body .single-post .page-hold .article-heading figure .mobile {
    display: block;
  }
}
body .single-post .page-hold .article-body .row {
  padding-bottom: 48px;
  flex-wrap: wrap;
}
body .single-post .page-hold .article-body .toc {
  width: 33.33%;
  padding-right: 36px;
}
@media (max-width: 767px) {
  body .single-post .page-hold .article-body .toc {
    width: 100%;
    padding-right: 0;
    padding-bottom: 30px;
  }
}
body .single-post .page-hold .article-body .toc .decor {
  height: 12px;
  margin: 0 0 20px;
  background-size: 12px;
}
body .single-post .page-hold .article-body .toc .decor:before, body .single-post .page-hold .article-body .toc .decor:after {
  width: 6px;
  height: 12px;
}
body .single-post .page-hold .article-body .toc .toc-title {
  font-size: 18px;
  line-height: 22px;
  letter-spacing: 0px;
  margin: 0 0 15px;
  color: #2554e0;
}
body .single-post .page-hold .article-body .toc ul {
  padding: 0;
  margin: 0;
  list-style: none;
  border-bottom: 1px solid #BECDF8;
}
body .single-post .page-hold .article-body .toc ul li {
  margin: 0 0 12px;
}
body .single-post .page-hold .article-body .toc ul li a {
  letter-spacing: 0px;
  color: #141628;
}
body .single-post .page-hold .article-body .toc ul li a:hover {
  color: #2554e0;
}
body .single-post .page-hold .article-body .toc + .content {
  width: 66.67%;
  padding-left: 36px;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  body .single-post .page-hold .article-body .toc + .content {
    width: 100%;
    padding-left: 0;
  }
}
body .single-post .page-hold .article-body h1 {
  font-size: 48px;
  line-height: 1.1;
}
@media (max-width: 767px) {
  body .single-post .page-hold .article-body h1 {
    font-size: 24px;
  }
}
body .single-post .page-hold .article-body .content h2, body .single-post .page-hold .article-body .content h3, body .single-post .page-hold .article-body .content h4 {
  font-family: "acumin-pro", sans-serif;
  font-weight: 700;
  line-height: 1.1;
}
body .single-post .page-hold .article-body .content h2 {
  font-size: 20px;
}
body .single-post .page-hold .article-body .content h3 {
  font-size: 18px;
}
body .single-post .page-hold .article-body .content h4 {
  font-size: 16px;
}
body .single-post .related-posts {
  background: #fff;
  padding: 0 20px 20px;
  box-sizing: border-box;
}
body .single-post .related-posts > h3 {
  font-size: 30px;
  line-height: 35px;
  letter-spacing: -1.2px;
  color: #fff;
  background: #1C0A43;
  width: calc(100% + 40px);
  margin: 0 -20px 20px;
  padding: 6px 14px;
  box-sizing: border-box;
}
body .single-post .related-posts .row {
  margin: 0 -10px;
  flex-wrap: wrap;
}
body .single-post .related-posts .column-subscribe {
  width: 32%;
  padding: 0 10px;
}
@media (max-width: 767px) {
  body .single-post .related-posts .column-subscribe {
    width: 100%;
  }
}
body .single-post .related-posts .column-posts {
  width: 68%;
  padding: 0 10px;
}
@media (max-width: 767px) {
  body .single-post .related-posts .column-posts {
    width: 100%;
  }
}
body .single-post .related-posts .column-posts .posts-grid {
  background: #fff;
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 900px) {
  body .single-post .related-posts .column-posts .posts-grid {
    padding: 20px 0 0;
  }
}
@media (min-width: 640px) {
  body .single-post .related-posts .column-posts .posts-grid .post-item.item-small {
    width: 48%;
    margin-right: 2%;
  }
  body .single-post .related-posts .column-posts .posts-grid .post-item.item-small:nth-child(2n) {
    margin-left: 2%;
    margin-right: 0;
  }
  body .single-post .related-posts .column-posts .posts-grid .post-item.item-small:last-child .hold {
    padding-bottom: 22px;
  }
  body .single-post .related-posts .column-posts .posts-grid .post-item.item-small:last-child .hold:after {
    display: block;
  }
}
@media (max-width: 639px) {
  body .single-post .related-posts .column-posts .posts-grid .post-item.item-small {
    width: 100%;
  }
}
body .single-post .related-posts .column-posts .posts-grid .post-item.item-small {
  margin-bottom: 32px;
}
body .single-post .related-posts .column-posts .posts-grid .post-item.item-small .hold {
  padding-bottom: 22px;
}
body .main-banner-block .hold:before, body .main-banner-block .hold:after {
  display: none;
}
body .main-banner-block .hold .data .decor,
body .main-banner-block .hold .next-section,
body .main-banner-block .hold .lines-general {
  display: none;
}
body .intro-text-block:not(.bg-blue) .decor-custom {
  display: none;
}
body .intro-text-block:not(.bg-blue) .row {
  border-bottom: none;
}
body .intro-text-block.bg-blue .decor-custom {
  opacity: 0;
}
body .text-image-block .row {
  border-bottom: none;
}
body .text-image-block .row .column-image figure svg {
  display: none;
}
body .features-block .features .item {
  border: none;
}
body .features-block .features .item:nth-child(2n+1) .hold {
  border: none;
}
body .tiles-block .tiles .item .hold {
  border-bottom-color: #F7F7F7;
}
body .tiles-block .tiles .item .hold:after {
  background-color: #F7F7F7;
}
body .tiles-block .tiles .item .data .tiles-footer .icon-logo {
  display: none !important;
}
body .testimonial-block .decor-custom {
  display: none;
}
body .testimonial-block .lines-general-custom {
  display: none;
}
body .grecaptcha-badge {
  display: none !important;
}
body.page-id-390 .grecaptcha-badge {
  display: block !important;
}

body .main-banner-block .hold:after {
  opacity: 0.6;
}
body .bg-blue {
  background-color: #3D405B;
  color: #F7F7F7;
}
body .bg-blue h2, body .bg-blue h3 {
  color: #F7F7F7;
}
body .bg-blue .btn {
  background-color: #F04E58;
  color: #F7F7F7;
}
body .bg-blue .btn:hover {
  background-color: #2454E0;
  color: #fff;
}
body .bg-blue .tiles-footer .icon-logo {
  display: block !important;
}
body .bg-blue svg {
  padding: 25px 0 0;
}
body .bg-blue.intro-text-block .row {
  border-bottom-color: #F7F7F7;
}
body .tiles-block .tiles .item:hover {
  transition: box-shadow 0.3s ease;
}
body .tiles-block .tiles .item:hover img {
  box-shadow: 0px 10px 20px rgba(240, 78, 88, 0.5);
}
body .tiles-block .tiles .item .data .tiles-footer {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body .tiles-block .tiles .item .data .tiles-footer .icon-logo {
  display: none;
}
body .tiles-block.bg-blue .tiles .item .data .subtitle {
  color: #F04E58;
}
body .video-block {
  background-color: #1C0A43;
}
body .video-block .video-hold {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
}
body .video-block .video-hold iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
body .bg img {
  width: 100%;
  height: auto;
}

/* lines animation */
.lines-general,
.lines-general-custom {
  position: absolute;
  visibility: hidden;
  top: 0;
  width: 50%;
  height: 100%;
}

.lines-general-custom svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lines-general-custom.lines-right {
  clip-path: circle(0% at 0 0);
  transform-origin: 0 0;
  transition: clip-path 2s ease-out, visibility 2s ease-out;
}
.lines-general-custom.lines-right.aos-animate, .lines-general-custom.lines-right.animate-circle {
  clip-path: circle(100% at 50% 50%);
  visibility: visible;
}
.lines-general-custom.lines-left {
  clip-path: circle(0% at 100% 0);
  transform-origin: 100% 0;
  transition: clip-path 2s ease-out, visibility 2s ease-out;
}
.lines-general-custom.lines-left.aos-animate, .lines-general-custom.lines-left.animate-circle {
  clip-path: circle(150% at 100% 0);
  visibility: visible;
}
.lines-general-custom.lines-both-sides {
  clip-path: circle(0% at 50% 50%);
  transform-origin: 100% 0;
  transition: clip-path 2s ease-out, visibility 2s ease-out;
}
.lines-general-custom.lines-both-sides.aos-animate, .lines-general-custom.lines-both-sides.animate-circle {
  clip-path: circle(100% at 50% 50%);
  visibility: visible;
}

.lines-general.lines-right {
  left: 50%;
  background: url("images/lines-1.svg") no-repeat right top;
  background-size: cover;
  clip-path: circle(0% at 0 0);
  transform-origin: 0 0;
  transition: clip-path 2s ease-out, visibility 2s ease-out;
}
.lines-general.lines-right.animate-circle-right {
  clip-path: circle(100% at 50% 50%);
  visibility: visible;
}
.lines-general.lines-left {
  left: 0;
  background: url("images/lines-2.svg") no-repeat right top;
  background-size: cover;
  clip-path: circle(0% at 100% 0);
  transform-origin: 100% 0;
  transition: clip-path 2s ease-out, visibility 2s ease-out;
}
.lines-general.lines-left.animate-circle-left {
  clip-path: circle(150% at 100% 0);
  visibility: visible;
}

@media (max-width: 767px) {
  .lines-right {
    display: none;
  }
  .lines-left {
    display: none;
  }
}
/* text animation */
.typing-effect {
  opacity: 0;
}
.typing-effect em {
  font-style: italic;
}

/* logos */
:root {
  --logos-width: 100%;
  --logos-height: 20vh;
  --logos-elements-displayed: 5;
  --logos-element-width: calc(var(--logos-width) / var(--logos-elements-displayed));
  --logos-animation-duration: calc(var(--logos-elements) * 3s);
}

body .logo-slider-block {
  padding: 50px 0;
}

/*
 * Logo marquee -- pure CSS.
 *
 * Replaces the Tiny Slider implementation, which used autoplayTimeout:0
 * (not a supported value) and stopped entirely on mobile. The track holds
 * the logo set twice and travels exactly -50%, so the second copy lands
 * where the first started and the loop is seamless.
 */
.logos-marquee {
  --logos-fade: 10rem;
  --logos-gap: 64px;
  --logos-item-height: 70px;
  /*
   * Pace, not duration.
   *
   * A fixed duration means the speed changes with the number of logos --
   * few logos crawl, many race. --logos-count is written inline by the
   * template, so seconds-per-logo keeps the pixel speed constant.
   *
   * At roughly 200px per logo (image + gap), 1.6s each is about 125px/s.
   * Raise --logos-seconds-per-logo to slow it down, lower it to speed up.
   */
  --logos-count: 8;
  --logos-seconds-per-logo: 1.6s;
  --logos-duration: calc(var(--logos-count) * var(--logos-seconds-per-logo));
  width: 100%;
  overflow: hidden;
  position: relative;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--logos-fade), #000 calc(100% - var(--logos-fade)), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 var(--logos-fade), #000 calc(100% - var(--logos-fade)), transparent 100%);
}
.logos-marquee__track {
  display: flex;
  align-items: center;
  gap: var(--logos-gap);
  width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
  will-change: transform;
  animation: xa-logos-scroll var(--logos-duration) linear infinite;
}
.logos-marquee:hover .logos-marquee__track {
  animation-play-state: paused;
}
.logos-marquee li {
  flex: 0 0 auto;
  height: var(--logos-item-height);
  display: flex;
  align-items: center;
}
.logos-marquee img {
  height: 100%;
  width: auto;
  max-width: none;
  object-fit: contain;
  display: block;
}
@media (max-width: 768px) {
  .logos-marquee {
    --logos-item-height: 44px;
    --logos-gap: 40px;
    --logos-fade: 4rem;
    --logos-seconds-per-logo: 1.1s;
  }
}
@media (prefers-reduced-motion: reduce) {
  .logos-marquee__track {
    animation: none;
  }
  .logos-marquee {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@keyframes xa-logos-scroll {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}
.logos-slider {
  text-align: center;
  transition-timing-function: linear;
}
.logos-slider li {
  height: 70px;
}
@media (max-width: 768px) {
  .logos-slider li {
    height: 50px;
  }
}
.logos-slider li img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 600px) {
  html {
    font-size: 12px;
  }
}
/* logos */
/*
 * Tiny Slider container -- retained so the PRE-MARQUEE logo-slider.php still
 * renders correctly. initLogosSlider() in jquery.main.js binds to this class.
 *
 * The marquee (.logos-marquee, above) is the preferred implementation; this
 * exists so either template works and a partial upload can't break the block.
 */
.logos-container {
  --logos-fade: 10rem;
  width: 100%;
  height: 20vh;
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--logos-fade), #000 calc(100% - var(--logos-fade)), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 var(--logos-fade), #000 calc(100% - var(--logos-fade)), transparent 100%);
}
.logos-container:after, .logos-container:before {
  display: none;
}
.logos-container .logos-slider {
  text-align: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.logos-container .logos-slider li {
  height: 70px;
}
@media (max-width: 768px) {
  .logos-container .logos-slider li {
    height: 44px;
  }
}
.logos-container .logos-slider li img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.logos-container [data-aos] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
@media (max-width: 600px) {
  .logos-container {
    height: 16vh;
    --logos-fade: 4rem;
  }
}

:root {
  --surface: #F7F7F7;
  --surface-image: none;
  --text: #1C0A43;
  --heading: #1C0A43;
  --accent: #F04E58;
  --rule: #F04E58;
  /*
   * --emphasis is deliberately separate from --accent.
   *
   * --accent doubles as the rule/divider colour, so on light surfaces it
   * resolves to deep purple -- correct for a 1px line, wrong for a text
   * highlight. --emphasis is always brand coral.
   *
   * Contrast, for reference:
   *   on #1C0A43 (purple, Grade-I)  5.06:1  passes AA
   *   on #F7F7F7 (light)            3.30:1  large text only
   *   on #3D405B (slate)            2.85:1  large text only
   */
  --emphasis: #F04E58;
  --btn-bg: #1C0A43;
  --btn-text: #F7F7F7;
  --btn-bg-hover: #F04E58;
  --btn-text-hover: #F7F7F7;
  --card-bg: #fff;
}

body [class*=bg-] {
  background-color: var(--surface);
  background-image: var(--surface-image, none);
  color: var(--text);
}

body [class*=bg-] h2,
body [class*=bg-] h3 {
  color: var(--heading);
}

body [class*=bg-] .btn,
body .main-text-block[class*=bg-] .row .btn,
body .main-text-plain-block[class*=bg-] .row .btn,
body .cta-block[class*=bg-] .btn,
body .intro-text-block[class*=bg-] .btn {
  background-color: var(--btn-bg);
  color: var(--btn-text);
}

body [class*=bg-] .btn:hover,
body [class*=bg-] .btn:active,
body .main-text-block[class*=bg-] .row .btn:hover,
body .main-text-plain-block[class*=bg-] .row .btn:hover,
body .cta-block[class*=bg-] .btn:hover,
body .intro-text-block[class*=bg-] .btn:hover {
  background-color: var(--btn-bg-hover);
  color: var(--btn-text-hover);
}

body [class*=bg-].intro-text-block .row,
body [class*=bg-] .tiles .item .hold {
  border-bottom-color: var(--rule);
}

body .tiles-block[class*=bg-] .tiles .item .data .subtitle {
  color: var(--accent);
}

body .section-block.no-border.tiles-block[class*=bg-] .tiles:after,
body .tiles-block:last-child[class*=bg-] .tiles:after {
  background-color: var(--rule);
}

/*
 * The logo ticker's edge fade is now a mask on .logos-container (see
 * _animation.scss), so it needs no per-variant colour override. Removed
 * rather than left as dead code.
 */
body .bg-blue {
  --surface: #3D405B;
  --text: #F7F7F7;
  --heading: #FFFFFF;
  --btn-bg: #FFB4A2;
  --btn-text: #141628;
  --btn-bg-hover: #E5FF8C;
  --btn-text-hover: #141628;
  --accent: #FFB4A2;
  --rule: #F7F7F7;
  --emphasis: #F04E58;
  --card-bg: rgba(255, 255, 255, 0.06);
}

body .bg-purple {
  --surface: #1C0A43;
  --text: #F7F7F7;
  --heading: #F7F7F7;
  --btn-bg: #F04E58;
  --btn-text: #F7F7F7;
  --btn-bg-hover: #F7F7F7;
  --btn-text-hover: #F04E58;
  --accent: #F04E58;
  --rule: #F04E58;
  --card-bg: rgba(255, 255, 255, 0.06);
  --emphasis: #F04E58;
}

body .bg-white {
  --surface: #F7F7F7;
  --text: #3D405B;
  --heading: #1C0A43;
  --btn-bg: #1C0A43;
  --btn-text: #F7F7F7;
  --btn-bg-hover: #F04E58;
  --btn-text-hover: #F7F7F7;
  --accent: #1C0A43;
  --rule: #1C0A43;
  --card-bg: #FFFFFF;
  --emphasis: #F04E58;
}

body .bg-grey {
  --surface: #3D405B;
  --text: #F7F7F7;
  --heading: #F7F7F7;
  --btn-bg: #F04E58;
  --btn-text: #F7F7F7;
  --btn-bg-hover: #1C0A43;
  --btn-text-hover: #F7F7F7;
  --accent: #F04E58;
  --rule: #F04E58;
  --card-bg: rgba(255, 255, 255, 0.06);
  --emphasis: #F04E58;
}

body .bg-Grade-I {
  --surface: #1C0A43;
  /*
   * Emanates from the bottom-right corner.
   *
   * Radial rather than linear: these sections vary from very wide and short
   * (logo ticker) to tall, and a linear gradient aimed at a corner flattens
   * to near-horizontal on a wide element -- it reads as "from the right"
   * rather than from the corner. A radial anchored at 100% 100% holds its
   * corner origin at any proportion.
   *
   * The ellipse is oversized (140% x 190%) so only the inner part of the
   * ramp falls inside the section, keeping the falloff gentle.
   *
   * Linear equivalent, if preferred:
   *   linear-gradient(to top left, #f04e58 0%, #cd2341 12%, #690b54 38%, #1c0a43 65%)
   */
  --surface-image: radial-gradient(
      140% 190% at 100% 100%,
      #f04e58 0%,
      #cd2341 14%,
      #690b54 36%,
      #1c0a43 62%,
      #1c0a43 100%
  );
  --text: #F7F7F7;
  --heading: #F7F7F7;
  --btn-bg: #F04E58;
  --btn-text: #F7F7F7;
  --btn-bg-hover: #F7F7F7;
  --btn-text-hover: #F04E58;
  --accent: #F04E58;
  --rule: #F04E58;
  --card-bg: rgba(255, 255, 255, 0.06);
  --emphasis: #F04E58;
}

body .testimonial-slider-block, body .hero-diagonal-block {
  position: relative;
  overflow: clip;
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  --panel-width: 58%;
  --rule-weight: 2px;
  --slant: 120px;
}
@media (max-width: 1439px) {
  body .testimonial-slider-block, body .hero-diagonal-block {
    --slant: 96px;
  }
}
@media (max-width: 1100px) {
  body .testimonial-slider-block, body .hero-diagonal-block {
    --slant: 72px;
  }
}
body .testimonial-slider-block::before, body .hero-diagonal-block::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: calc(var(--panel-width) + var(--rule-weight));
  background: var(--rule, #F04E58);
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--slant)) 100%, 0 100%);
  z-index: 1;
  pointer-events: none;
}
body .testimonial-slider-block .hero-diagonal__bg, body .hero-diagonal-block .hero-diagonal__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  /*
   * <picture> is inline with auto height, so an img inside it has nothing
   * for height:100% to resolve against and falls back to its intrinsic
   * size. Making the wrapper a full-size block restores the fill.
   */
}
body .testimonial-slider-block .hero-diagonal__bg picture, body .hero-diagonal-block .hero-diagonal__bg picture {
  display: block;
  width: 100%;
  height: 100%;
}
body .testimonial-slider-block .hero-diagonal__bg img, body .hero-diagonal-block .hero-diagonal__bg img,
body .testimonial-slider-block .hero-diagonal__bg video,
body .hero-diagonal-block .hero-diagonal__bg video {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  display: block;
}
body .testimonial-slider-block .hero-diagonal__panel, body .hero-diagonal-block .hero-diagonal__panel {
  position: relative;
  z-index: 2;
  width: var(--panel-width);
  flex: 0 0 var(--panel-width);
  align-self: stretch;
  background: var(--surface, #F7F7F7);
  color: var(--text, #1C0A43);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 64px calc(var(--slant) + 40px) 64px 64px;
  box-sizing: border-box;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--slant)) 100%, 0 100%);
}
@media (max-width: 1439px) {
  body .testimonial-slider-block .hero-diagonal__panel, body .hero-diagonal-block .hero-diagonal__panel {
    padding: 56px calc(var(--slant) + 28px) 56px 48px;
  }
}
@media (max-width: 1100px) {
  body .testimonial-slider-block .hero-diagonal__panel, body .hero-diagonal-block .hero-diagonal__panel {
    padding: 48px calc(var(--slant) + 20px) 48px 36px;
  }
}
body .testimonial-slider-block .hero-diagonal__inner, body .hero-diagonal-block .hero-diagonal__inner {
  width: 100%;
  max-width: 660px;
  margin-left: auto;
  margin-right: 0;
}
body .testimonial-slider-block .hero-diagonal__rule, body .hero-diagonal-block .hero-diagonal__rule {
  display: none;
}
@media (max-width: 800px) {
  body .testimonial-slider-block, body .hero-diagonal-block {
    --slant: 0px;
    flex-direction: column;
  }
  body .testimonial-slider-block .hero-diagonal__panel, body .hero-diagonal-block .hero-diagonal__panel {
    width: 100%;
    flex: 1 1 auto;
    padding: 48px 30px;
    clip-path: none;
    background: transparent;
    color: #fff;
  }
  body .testimonial-slider-block .hero-diagonal__inner, body .hero-diagonal-block .hero-diagonal__inner {
    max-width: none;
  }
  body .testimonial-slider-block .hero-diagonal__bg::after, body .hero-diagonal-block .hero-diagonal__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 114, 0.62);
  }
  body .testimonial-slider-block::before, body .hero-diagonal-block::before {
    display: none;
  }
}

body .hero-diagonal-block {
  min-height: 620px;
}
@media (max-width: 1023px) {
  body .hero-diagonal-block {
    min-height: 520px;
  }
}
body .hero-diagonal-block {
  /*
   * Mobile height.
   *
   * Fills the viewport below the header. --hero-mobile-reveal reserves a
   * strip at the bottom for the next section; 0 gives a full-screen hero.
   */
}
@media (max-width: 800px) {
  body .hero-diagonal-block {
    --hero-mobile-reveal: 0px;
    min-height: calc(var(--vh, 1vh) * 100 - 62px - var(--hero-mobile-reveal));
  }
  body .hero-diagonal-block .hero-diagonal__panel {
    justify-content: center;
    padding: 40px 24px;
  }
}
body .hero-diagonal-block.is-full-height {
  height: calc(100vh - 62px);
  height: calc(var(--vh, 1vh) * 100 - 62px);
}
@media (max-width: 800px) {
  body .hero-diagonal-block.is-full-height {
    height: calc(var(--vh, 1vh) * 100 - 62px - var(--hero-mobile-reveal));
  }
}
body .hero-diagonal-block .hero-diagonal__heading {
  font-family: "Host Grotesk", sans-serif;
  font-weight: 200;
  font-size: clamp(34px, 5.4vw, 80px);
  line-height: 0.98;
  letter-spacing: -0.025em;
  margin: 0;
  color: var(--heading, #1C0A43);
}
body .hero-diagonal-block .hero-diagonal__heading em {
  color: var(--accent, #F04E58);
}
body .hero-diagonal-block .hero-diagonal__intro {
  margin: 26px 0 0;
  max-width: 540px;
}
body .hero-diagonal-block .hero-diagonal__intro p {
  font-size: clamp(16px, 1.4vw, 21px);
  line-height: 1.35;
  font-weight: 300;
  margin: 0 0 12px;
}
body .hero-diagonal-block .hero-diagonal__intro p:last-child {
  margin-bottom: 0;
}
@media (max-width: 1023px) {
  body .hero-diagonal-block .hero-diagonal__intro p {
    font-size: 16px;
  }
}
body .hero-diagonal-block .hero-diagonal__actions {
  margin-top: 36px;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}
body .hero-diagonal-block .hero-diagonal__actions .btn {
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.25;
  font-weight: 600;
  padding: 15px 36px;
  border-radius: 999px;
}
@media (max-width: 1023px) {
  body .hero-diagonal-block .hero-diagonal__actions .btn {
    font-size: 15px;
    padding: 13px 28px;
  }
}
@media (max-width: 800px) {
  body .hero-diagonal-block .hero-diagonal__heading {
    color: #fff;
  }
}

body .btn.btn-ghost,
body .button.btn-ghost {
  background: transparent;
  color: var(--btn-bg, #1C0A43);
  box-shadow: inset 0 0 0 1px currentColor;
}
body .btn.btn-ghost:hover, body .btn.btn-ghost:active,
body .button.btn-ghost:hover,
body .button.btn-ghost:active {
  background: var(--btn-bg, #1C0A43);
  color: var(--btn-text, #fff);
}
@media (max-width: 800px) {
  body .btn.btn-ghost,
  body .button.btn-ghost {
    color: #fff;
  }
  body .btn.btn-ghost:hover, body .btn.btn-ghost:active,
  body .button.btn-ghost:hover,
  body .button.btn-ghost:active {
    background: #fff;
    color: #1C0A43;
  }
}

body .horizontal-scroll-block {
  --panels: 3;
  /*
   * Share of each transition spent locked on a panel rather than moving.
   * 0    = continuous linear pan (the old behaviour)
   * 0.45 = holds for roughly half of each step, then moves
   * 0.7  = very deliberate, long holds and quick snaps
   */
  --hscroll-dwell: 0.45;
  /*
   * More scroll distance per panel, so a locked panel stays locked long
   * enough to read. 100vh per panel meant the hold periods were short
   * enough that the section felt like it scrolled straight past.
   */
  --hscroll-panel-scroll: 140vh;
  display: block;
  width: 100%;
  padding: 0;
}
body .horizontal-scroll-block .hscroll__outer {
  position: relative;
  height: calc(var(--panels) * var(--hscroll-panel-scroll));
}
body .horizontal-scroll-block .hscroll__sticky {
  position: sticky;
  top: 62px;
  height: calc(100vh - 62px);
  height: calc(var(--vh, 1vh) * 100 - 62px);
  overflow: hidden;
  background: var(--surface, #F7F7F7);
  color: var(--text, #1C0A43);
}
body .horizontal-scroll-block .hscroll__title {
  position: absolute;
  top: 96px;
  left: 64px;
  z-index: 5;
  margin: 0;
  font-family: "Host Grotesk", sans-serif;
  font-weight: 300;
  font-size: clamp(34px, 3.6vw, 56px);
  line-height: 1;
  letter-spacing: -0.025em;
  color: var(--heading, #1C0A43);
  transition: color 260ms ease;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  body .horizontal-scroll-block .hscroll__title {
    transition: none;
  }
}
@media (max-width: 1023px) {
  body .horizontal-scroll-block .hscroll__title {
    top: 56px;
    left: 30px;
  }
}
body .horizontal-scroll-block .hscroll__track {
  display: flex;
  width: calc(var(--panels) * 100%);
  height: 100%;
  will-change: transform;
  transition: transform 60ms linear;
}
body .horizontal-scroll-block .hscroll__panel {
  width: calc(100% / var(--panels));
  height: 100%;
  flex: none;
  display: flex;
  align-items: center;
  gap: 48px;
  padding: 190px 64px 90px;
  box-sizing: border-box;
  background-color: var(--surface);
  background-image: var(--surface-image, none);
  color: var(--text);
  position: relative;
  --divider-opacity: 1;
}
body .horizontal-scroll-block .hscroll__panel + .hscroll__panel::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--rule, rgba(0, 0, 114, 0.2));
  opacity: var(--divider-opacity, 1);
  pointer-events: none;
}
@media (max-width: 1023px) {
  body .horizontal-scroll-block .hscroll__panel {
    padding: 150px 40px 80px;
  }
}
body .horizontal-scroll-block {
  /*
   * Defensive media constraint.
   *
   * Targets ANY figure/picture/img that is a direct child of a panel,
   * regardless of class. Whatever markup the template emits, the image
   * cannot take its natural width and crush the text column.
   */
}
body .horizontal-scroll-block .hscroll__panel > figure,
body .horizontal-scroll-block .hscroll__panel > picture,
body .horizontal-scroll-block .hscroll__panel > img {
  flex: 0 0 auto;
  width: 42%;
  max-width: 42%;
  height: 70%;
  margin: 0;
  align-self: center;
}
body .horizontal-scroll-block .hscroll__panel > figure img,
body .horizontal-scroll-block .hscroll__panel > picture img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  display: block;
}
body .horizontal-scroll-block .hscroll__panel > img {
  object-fit: cover;
}
body .horizontal-scroll-block .hscroll__data {
  flex: 1 1 auto;
  min-width: 0;
  will-change: opacity, transform;
}
@media (prefers-reduced-motion: reduce) {
  body .horizontal-scroll-block .hscroll__data {
    will-change: auto;
    opacity: 1 !important;
    transform: none !important;
  }
}
body .horizontal-scroll-block .hscroll__eyebrow {
  font-family: "Roboto Mono", monospace;
  text-transform: uppercase;
  font-size: clamp(14px, 1.1vw, 17px);
  line-height: 1.4;
  letter-spacing: -0.5px;
  color: var(--emphasis, #F04E58);
  margin: 0;
}
body .horizontal-scroll-block .hscroll__heading {
  font-family: "Host Grotesk", sans-serif;
  font-weight: 300;
  font-size: clamp(30px, 3.4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  margin: 18px 0;
  color: var(--heading, #1C0A43);
}
body .horizontal-scroll-block .hscroll__text {
  max-width: 620px;
}
body .horizontal-scroll-block .hscroll__text p {
  font-size: clamp(17px, 1.5vw, 23px);
  line-height: 1.45;
  font-weight: 300;
  margin: 0 0 16px;
}
body .horizontal-scroll-block .hscroll__text p:last-child {
  margin-bottom: 0;
}
body .horizontal-scroll-block .hscroll__data .btn {
  margin-top: 28px;
  display: inline-block;
}
body .horizontal-scroll-block {
  /*
   * Per-panel image (older template markup).
   *
   * Restored so the block still lays out correctly if template-parts/
   * horizontal-scroll.php has not been updated. Without these rules the
   * figure renders at natural size and crushes the text column.
   */
}
body .horizontal-scroll-block .hscroll__figure {
  width: 42%;
  height: 70%;
  flex: none;
  margin: 0;
}
body .horizontal-scroll-block .hscroll__figure img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  display: block;
}
body .horizontal-scroll-block {
  /*
   * One static image for the whole section.
   *
   * Rendered inside .hscroll__sticky but outside .hscroll__track, so the
   * panels pan beneath it while the image stays put. z-index sits above the
   * track (which paints each panel's own background) and below the title.
   */
}
body .horizontal-scroll-block .hscroll__media {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 45%;
  margin: 0;
  z-index: 2;
  pointer-events: none;
  box-sizing: border-box;
  padding: 150px 56px 100px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1023px) {
  body .horizontal-scroll-block .hscroll__media {
    padding: 120px 32px 80px 0;
  }
}
body .horizontal-scroll-block .hscroll__media img {
  /*
   * contain, not cover.
   *
   * cover fills the column by scaling to the larger dimension -- in a
   * tall narrow box that blows a wide graphic up several times over and
   * crops it. contain fits the whole image within the box at its own
   * aspect ratio.
   *
   * Switch to `object-fit: cover` if this block ever carries a
   * photograph rather than a graphic.
   */
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}
body .horizontal-scroll-block {
  /*
   * Panels reserve the image's column so copy can't run underneath it.
   *
   * CRITICAL: percentage padding on a flex item resolves against the FLEX
   * CONTAINER's width, not the item's own. .hscroll__track is
   * (panels * 100%) wide, so a plain 45% here meant 45% of three viewports
   * -- 1612px of padding on a 1194px panel, collapsing the text column to
   * one word per line.
   *
   * Dividing by --panels converts "45% of one panel" into the equivalent
   * share of the track, and stays correct for any panel count.
   */
}
body .horizontal-scroll-block.has-static-media .hscroll__panel {
  padding-right: calc(45% / var(--panels) + 56px);
}
@media (max-width: 1023px) {
  body .horizontal-scroll-block.has-static-media .hscroll__panel {
    padding-right: calc(45% / var(--panels) + 32px);
  }
}
body .horizontal-scroll-block .hscroll__progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 28px;
  z-index: 5;
  display: flex;
  justify-content: center;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}
body .horizontal-scroll-block .hscroll__progress li {
  width: 28px;
  height: 2px;
  background: var(--rule, rgba(0, 0, 114, 0.25));
  opacity: 0.4;
  transition: opacity 300ms, background-color 300ms;
}
body .horizontal-scroll-block .hscroll__progress li.is-active {
  opacity: 1;
  background: var(--accent, #F04E58);
}
@media (prefers-reduced-motion: reduce) {
  body .horizontal-scroll-block .hscroll__outer {
    height: auto;
  }
  body .horizontal-scroll-block .hscroll__sticky {
    position: static;
    height: auto;
    overflow: visible;
    padding: 40px 0 8px;
  }
  body .horizontal-scroll-block .hscroll__title {
    position: static;
    margin: 0 30px 24px;
    font-size: clamp(28px, 8vw, 40px);
  }
  body .horizontal-scroll-block .hscroll__track {
    display: block;
    width: 100%;
    transform: none !important;
    transition: none;
  }
  body .horizontal-scroll-block .hscroll__panel {
    width: 100%;
    height: auto;
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 24px;
    padding: 36px 30px 40px;
  }
  body .horizontal-scroll-block .hscroll__panel + .hscroll__panel {
    border-top: 1px solid var(--rule, rgba(0, 0, 114, 0.2));
  }
  body .horizontal-scroll-block .hscroll__panel + .hscroll__panel::before {
    display: none;
  }
  body .horizontal-scroll-block .hscroll__panel > figure,
  body .horizontal-scroll-block .hscroll__panel > picture,
  body .horizontal-scroll-block .hscroll__panel > img {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 4/3;
  }
  body .horizontal-scroll-block .hscroll__figure {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
  }
  body .horizontal-scroll-block .hscroll__media {
    position: static;
    width: 100%;
    aspect-ratio: 16/9;
    padding: 0;
    margin: 0 0 4px;
    display: block;
  }
  body .horizontal-scroll-block .hscroll__media img {
    object-fit: contain;
  }
  body .horizontal-scroll-block.has-static-media .hscroll__panel {
    padding-right: 30px;
  }
  body .horizontal-scroll-block .hscroll__progress {
    display: none;
  }
}

/*
 * Mobile pinned layout.
 *
 * The pan runs on phones too, so the panels need a single-column treatment
 * rather than the desktop's text + reserved image column: at this width the
 * 45% media column leaves no usable measure for the copy.
 */
@media (max-width: 800px) {
  body .horizontal-scroll-block {
    --hscroll-panel-scroll: 110vh;
    --hscroll-dwell: 0.4;
  }
  body .horizontal-scroll-block .hscroll__title {
    top: 76px;
    left: 24px;
    font-size: clamp(26px, 7vw, 34px);
  }
  body .horizontal-scroll-block .hscroll__panel {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
    padding: 128px 24px 72px;
  }
  body .horizontal-scroll-block.has-static-media .hscroll__panel {
    padding-right: 24px;
  }
  body .horizontal-scroll-block .hscroll__data {
    width: 100%;
  }
  body .horizontal-scroll-block {
    /*
     * The static image becomes a faint backdrop rather than a column.
     * Set --hscroll-media-mobile: none to hide it entirely.
     */
  }
  body .horizontal-scroll-block .hscroll__media {
    display: var(--hscroll-media-mobile, block);
    position: absolute;
    inset: auto 0 0 0;
    width: 100%;
    height: 42%;
    padding: 0;
    z-index: 1;
    opacity: 0.16;
  }
  body .horizontal-scroll-block .hscroll__media img {
    object-fit: contain;
    object-position: bottom right;
  }
  body .horizontal-scroll-block .hscroll__data {
    position: relative;
    z-index: 3;
  }
  body .horizontal-scroll-block .hscroll__progress {
    bottom: 20px;
  }
  body .horizontal-scroll-block .hscroll__panel + .hscroll__panel::before {
    opacity: 0;
  }
}
body .horizontal-scroll-block.no-hscroll .hscroll__outer {
  height: auto;
}
body .horizontal-scroll-block.no-hscroll .hscroll__sticky {
  position: static;
  height: auto;
  overflow: visible;
}
body .horizontal-scroll-block.no-hscroll .hscroll__title {
  position: static;
  margin: 0 30px 20px;
}
body .horizontal-scroll-block.no-hscroll .hscroll__track {
  display: block;
  width: 100%;
  transform: none !important;
}
body .horizontal-scroll-block.no-hscroll .hscroll__panel {
  width: 100%;
  height: auto;
  flex-direction: column-reverse;
  align-items: flex-start;
  padding: 40px 30px;
}
body .horizontal-scroll-block.no-hscroll .hscroll__figure {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
}
body .horizontal-scroll-block.no-hscroll .hscroll__media {
  position: static;
  width: 100%;
  aspect-ratio: 16/9;
}
body .horizontal-scroll-block.no-hscroll.has-static-media .hscroll__panel {
  padding-right: 30px;
}
body .horizontal-scroll-block.no-hscroll .hscroll__progress {
  display: none;
}

body .testimonial-slider-block {
  /*
   * Frame the image with a rule top and bottom.
   *
   * Applied to the background layer rather than the section: the panel sits
   * above it and is opaque, so the borders are hidden behind the panel and
   * visible only across the image. The frame therefore starts at the
   * diagonal edge automatically and stays in step with --slant without any
   * separate geometry.
   */
}
body .testimonial-slider-block .hero-diagonal__bg {
  box-sizing: border-box;
  border-top: var(--rule-weight) solid var(--rule, #F04E58);
  border-bottom: var(--rule-weight) solid var(--rule, #F04E58);
}
body .testimonial-slider-block {
  /*
   * Viewport-relative rather than a fixed 660px.
   *
   * A fixed height that reads well on a laptop dominates a large desktop
   * screen -- the section is a supporting quote, not a hero. 52vh keeps it
   * to roughly half the fold whatever the screen, with a floor so it can't
   * crush on short windows and a ceiling so it can't run away on tall ones.
   */
  min-height: clamp(380px, 52vh, 560px);
}
@media (max-width: 1023px) {
  body .testimonial-slider-block {
    min-height: clamp(340px, 46vh, 460px);
  }
}
@media (max-width: 800px) {
  body .testimonial-slider-block {
    min-height: 0;
  }
}
body .testimonial-slider-block .hero-diagonal__panel {
  padding-top: 56px;
  padding-bottom: 56px;
}
@media (max-width: 1023px) {
  body .testimonial-slider-block .hero-diagonal__panel {
    padding-top: 44px;
    padding-bottom: 44px;
  }
}
body .testimonial-slider-block .quote-slider__eyebrow {
  font-family: "Roboto Mono", monospace;
  text-transform: uppercase;
  font-size: clamp(14px, 1.1vw, 17px);
  letter-spacing: -0.5px;
  color: var(--emphasis, #F04E58);
  margin: 0 0 20px;
}
body .testimonial-slider-block {
  /*
   * Per-quote backgrounds, stacked and crossfaded.
   *
   * Only present when at least one quote carries its own image; otherwise the
   * template renders a single background as before.
   */
  /*
   * Per-quote backgrounds, stacked and crossfaded, occupying the right of
   * the section. The panel sits above and its angled edge does the shaping,
   * so the image needs no diagonal geometry of its own.
   */
  /*
   * Where the image region starts. 50% = the right half of the section.
   */
  --quote-image-left: 50%;
  /*
   * How the image occupies that region.
   *
   *   fill    stretches the whole image to the region's exact proportions.
   *           Nothing is cropped, but a landscape photo in a tall wedge is
   *           visibly squeezed horizontally.
   *   contain fits the whole image without distortion, leaving empty bands
   *           where the proportions differ.
   *   cover   fills and crops -- no distortion, but magnified.
   */
  /*
   * cover fills the region's height, cropping the sides. Correct now that
   * the box is sized to the region -- before the width fix it was sized to
   * the image's own 1920x1080, which is why cover looked enormous.
   */
  --quote-image-fit: cover;
  /*
   * Selector includes the parent and the img element deliberately.
   *
   * The shared `.hero-diagonal__bg img` rule scores (0,2,2) because of its
   * trailing element selector; a plain `.quote-slider__bg` scores (0,2,1)
   * and loses, so object-fit, width and height were all being overridden by
   * the base rule. This scores (0,3,2) and wins.
   */
}
body .testimonial-slider-block .hero-diagonal__bg {
  background: var(--surface, #1C0A43);
}
body .testimonial-slider-block .hero-diagonal__bg img.quote-slider__bg {
  position: absolute;
  top: 0;
  left: var(--quote-image-left);
  /*
   * Explicit width and height -- NOT auto.
   *
   * For a replaced element, `width: auto` resolves to the image's own
   * intrinsic width, and the `right` offset is then dropped as
   * over-constrained. That sized the box to the full 1920x1080 photo
   * instead of the region, so object-fit had nothing to fit into.
   */
  width: calc(100% - var(--quote-image-left));
  height: 100%;
  object-fit: var(--quote-image-fit);
  object-position: center;
  opacity: 0;
  transition: opacity 340ms ease;
}
body .testimonial-slider-block .hero-diagonal__bg img.quote-slider__bg.is-active {
  opacity: 1;
}
@media (max-width: 800px) {
  body .testimonial-slider-block .hero-diagonal__bg img.quote-slider__bg {
    --quote-image-left: 0%;
    --quote-image-fit: cover;
  }
}
@media (prefers-reduced-motion: reduce) {
  body .testimonial-slider-block .hero-diagonal__bg img.quote-slider__bg {
    transition: none;
  }
}
body .testimonial-slider-block .quote-slider__viewport {
  position: relative;
  display: grid;
  /*
   * Bottom-anchored.
   *
   * The viewport is sized to the longest quote, so a short one would
   * otherwise hang from the top with the attribution floating in space.
   * Anchoring to the end keeps the citation and controls at a constant
   * position and lets short quotes grow upward instead.
   */
  align-items: end;
  transform: translate3d(var(--shift, 0px), 0, 0);
  transition: opacity 340ms cubic-bezier(0.4, 0, 0.2, 1), transform 340ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity, transform;
}
body .testimonial-slider-block .quote-slider__viewport.is-fading {
  opacity: 0;
}
body .testimonial-slider-block .quote-slider__viewport.is-instant {
  transition: none;
}
@media (prefers-reduced-motion: reduce) {
  body .testimonial-slider-block .quote-slider__viewport {
    transition: none;
    transform: none;
    will-change: auto;
  }
  body .testimonial-slider-block .quote-slider__viewport.is-fading {
    opacity: 1;
  }
}
body .testimonial-slider-block {
  /*
   * All quotes occupy the same grid cell, so the viewport is always as tall
   * as the LONGEST quote in the set and the page never shifts when paging.
   *
   * Inactive items use visibility rather than display, so they still
   * contribute to the grid's height. [hidden] is the no-JS path: only the
   * first quote renders and the container sizes to it.
   */
}
body .testimonial-slider-block .quote-slider__item {
  margin: 0;
  grid-area: 1/1;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
body .testimonial-slider-block .quote-slider__item.is-active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
body .testimonial-slider-block .quote-slider__item[hidden] {
  display: none;
}
body .testimonial-slider-block .quote-slider__quote {
  font-family: "Host Grotesk", sans-serif;
  font-weight: 300;
  font-size: clamp(22px, 2.4vw, 38px);
  line-height: 1.18;
  letter-spacing: -0.025em;
  margin: 0;
  padding: 0;
  max-width: 620px;
  color: var(--heading, #1C0A43);
}
body .testimonial-slider-block .quote-slider__quote::before {
  content: "“";
}
body .testimonial-slider-block .quote-slider__quote::after {
  content: "”";
}
body .testimonial-slider-block .quote-slider__cite {
  margin: 22px 0 0;
  font-size: clamp(16px, 1.25vw, 20px);
  font-weight: 300;
}
body .testimonial-slider-block .quote-slider__cite::before {
  content: "— ";
}
body .testimonial-slider-block .quote-slider__name {
  font-weight: 600;
}
body .testimonial-slider-block .quote-slider__role {
  display: block;
  padding-left: 1.6em;
  margin-top: 4px;
  font-family: "Roboto Mono", monospace;
  font-size: clamp(12px, 0.95vw, 14px);
  text-transform: uppercase;
  opacity: 0.75;
}
body .testimonial-slider-block .quote-slider__controls {
  margin-top: 30px;
  display: flex;
  gap: 16px;
  align-items: center;
}
body .testimonial-slider-block .quote-slider__arrow {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
}
@media (max-width: 1023px) {
  body .testimonial-slider-block .quote-slider__arrow {
    width: 42px;
    height: 42px;
    font-size: 16px;
  }
}
body .testimonial-slider-block .quote-slider__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 300ms, color 300ms;
}
body .testimonial-slider-block .quote-slider__arrow:hover {
  background: var(--accent, #F04E58);
  border-color: var(--accent, #F04E58);
  color: #fff;
}
body .testimonial-slider-block .quote-slider__arrow:focus-visible {
  outline: 2px solid var(--accent, #F04E58);
  outline-offset: 3px;
}
body .testimonial-slider-block .quote-slider__counter {
  margin: 0 0 0 6px;
  font-family: "Roboto Mono", monospace;
  font-size: clamp(14px, 1.1vw, 17px);
}
@media (max-width: 800px) {
  body .testimonial-slider-block .quote-slider__quote {
    color: #fff;
  }
}

body .cta-cards-block {
  padding: 64px 0;
}
@media (max-width: 1023px) {
  body .cta-cards-block {
    padding: 48px 0;
  }
}
@media (max-width: 479px) {
  body .cta-cards-block {
    padding: 36px 0;
  }
}
body .cta-cards-block .cta-cards__intro {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
}
body .cta-cards-block .cta-cards__eyebrow {
  font-family: "Roboto Mono", monospace;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: -0.5px;
  color: var(--emphasis, #F04E58);
  margin: 0 0 14px;
}
body .cta-cards-block .cta-cards__heading {
  font-family: "Host Grotesk", sans-serif;
  font-weight: 200;
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: -1.2px;
  margin: 0;
  color: var(--heading, #1C0A43);
}
body .cta-cards-block .cta-cards__text {
  margin: 12px 0 0;
}
body .cta-cards-block .cta-cards__text p {
  font-size: 16px;
  margin: 0;
}
body .cta-cards-block .cta-cards__grid {
  list-style: none;
  padding: 0;
  margin: 32px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}
body .cta-cards-block .cta-cards__card {
  position: relative;
  width: 300px;
  max-width: 100%;
  box-sizing: border-box;
  padding: 28px 24px;
  border: 1px solid var(--rule, #1C0A43);
  border-radius: 10px;
  background: var(--card-bg, #fff);
  text-align: left;
  transition: box-shadow 300ms, transform 300ms;
}
body .cta-cards-block .cta-cards__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 114, 0.14);
}
body .cta-cards-block .cta-cards__card:focus-within {
  outline: 2px solid var(--accent, #F04E58);
  outline-offset: 3px;
}
body .cta-cards-block .cta-cards__card-heading {
  font-family: "Host Grotesk", sans-serif;
  font-weight: 400;
  font-size: 19px;
  line-height: 1.2;
  margin: 0;
  color: var(--heading, #1C0A43);
}
body .cta-cards-block .cta-cards__card-text {
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.45;
}
body .cta-cards-block .cta-cards__card-link {
  display: inline-block;
  margin-top: 16px;
  font-size: 15px;
  text-decoration: underline;
  color: inherit;
}
body .cta-cards-block .cta-cards__card-link::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
body .cta-cards-block .cta-cards__card-link:focus-visible {
  outline: none;
}
body .cta-cards-block .cta-cards__arrow {
  display: inline-block;
  transition: transform 300ms;
}
body .cta-cards-block .cta-cards__card:hover .cta-cards__arrow {
  transform: translateX(4px);
}
@media (prefers-reduced-motion: reduce) {
  body .cta-cards-block .cta-cards__card,
  body .cta-cards-block .cta-cards__arrow {
    transition: none;
  }
  body .cta-cards-block .cta-cards__card:hover {
    transform: none;
  }
}

body .stats-block:not(.dividers) .stats {
  gap: 28px;
  max-width: 1240px;
  align-items: stretch;
}
body .stats-block:not(.dividers) .stats .item {
  width: auto;
  flex: 1 1 0;
}
body .stats-block:not(.dividers) .stats .item:not(:last-child) {
  border-right: none;
}
@media (max-width: 700px) {
  body .stats-block:not(.dividers) .stats .item {
    flex: 1 1 100%;
  }
  body .stats-block:not(.dividers) .stats .item:not(:last-child) {
    border-bottom: none;
  }
}
body .stats-block:not(.dividers) .stats .item .hold {
  height: 100%;
  box-sizing: border-box;
  padding: 36px 24px;
  border: 1px solid var(--rule, #1C0A43);
  border-radius: 10px;
  background: var(--card-bg, #fff);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
body .stats-block:not(.dividers) .stats .item .number-value {
  font-family: "Host Grotesk", sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 52px;
  line-height: 1;
  margin: 0 0 8px;
  color: var(--accent, #F04E58);
}
@media (max-width: 1023px) {
  body .stats-block:not(.dividers) .stats .item .number-value {
    font-size: 44px;
  }
}
@media (max-width: 479px) {
  body .stats-block:not(.dividers) .stats .item .number-value {
    font-size: 38px;
  }
}
body .stats-block:not(.dividers) .stats .item .number-value .value {
  letter-spacing: -1.6px;
}
body .stats-block:not(.dividers) .stats .item .number-value .sign {
  font-size: 100%;
  vertical-align: baseline;
  letter-spacing: -1.6px;
  margin-left: 0;
}
body .stats-block:not(.dividers) .stats .item h4 {
  font-family: "acumin-pro", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0;
  margin: 0;
  color: var(--text, #1C0A43);
}
body .stats-block:not(.dividers) .stats .item .icon {
  display: none;
}

body .news-feed-block {
  padding: 64px 0;
}
@media (max-width: 1023px) {
  body .news-feed-block {
    padding: 48px 0;
  }
}
@media (max-width: 479px) {
  body .news-feed-block {
    padding: 36px 0;
  }
}
body .news-feed-block .news-feed__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  padding-bottom: 20px;
  margin-bottom: 32px;
  border-bottom: 1px solid var(--rule, #F04E58);
}
body .news-feed-block .news-feed__heading {
  font-family: "Host Grotesk", sans-serif;
  font-weight: 300;
  font-size: 40px;
  line-height: 1;
  letter-spacing: -1.4px;
  margin: 0;
  color: var(--heading, #1C0A43);
}
@media (max-width: 1023px) {
  body .news-feed-block .news-feed__heading {
    font-size: 30px;
  }
}
body .news-feed-block .news-feed__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: none;
}
body .news-feed-block .news-feed__viewall {
  font-family: "Roboto Mono", monospace;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: -0.4px;
  text-decoration: underline;
  color: var(--accent, #F04E58);
}
body .news-feed-block .news-feed__arrow {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid currentColor;
  background: transparent;
  color: var(--text, #1C0A43);
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 300ms, color 300ms, border-color 300ms;
}
body .news-feed-block .news-feed__arrow:hover {
  background: var(--accent, #F04E58);
  border-color: var(--accent, #F04E58);
  color: #fff;
}
body .news-feed-block .news-feed__arrow:focus-visible {
  outline: 2px solid var(--accent, #F04E58);
  outline-offset: 3px;
}
body .news-feed-block .news-feed__viewport {
  transform: translate3d(var(--shift, 0px), 0, 0);
  transition: opacity 340ms cubic-bezier(0.4, 0, 0.2, 1), transform 340ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity, transform;
  overflow: hidden;
}
body .news-feed-block .news-feed__viewport.is-fading {
  opacity: 0;
}
body .news-feed-block .news-feed__viewport.is-instant {
  transition: none;
}
@media (prefers-reduced-motion: reduce) {
  body .news-feed-block .news-feed__viewport {
    transition: none;
    transform: none;
    will-change: auto;
  }
  body .news-feed-block .news-feed__viewport.is-fading {
    opacity: 1;
  }
}
body .news-feed-block .news-feed__page {
  display: flex;
  gap: 28px;
  width: 100%;
}
body .news-feed-block .news-feed__page[hidden] {
  display: none;
}
@media (max-width: 800px) {
  body .news-feed-block .news-feed__page {
    flex-direction: column;
    gap: 24px;
  }
}
body .news-feed-block .news-feed__featured {
  flex: 1.4 1 0;
  min-width: 0;
  position: relative;
}
body .news-feed-block .news-feed__featured .news-feed__link {
  position: relative;
  display: block;
  height: 100%;
  color: inherit;
}
body .news-feed-block .news-feed__featured .news-feed__figure {
  margin: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
body .news-feed-block .news-feed__featured .news-feed__figure img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  display: block;
  transition: transform 600ms ease;
}
body .news-feed-block .news-feed__featured .news-feed__data {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 120px 22px 26px;
  color: #fff;
  background-image: linear-gradient(to bottom, rgba(28, 10, 67, 0) 0%, rgba(28, 10, 67, 0.35) 32%, rgba(28, 10, 67, 0.78) 62%, rgba(28, 10, 67, 0.94) 82%, #1C0A43 100%);
}
@media (max-width: 1023px) {
  body .news-feed-block .news-feed__featured .news-feed__data {
    padding: 90px 18px 22px;
  }
}
body .news-feed-block .news-feed__featured .news-feed__title {
  font-family: "Host Grotesk", sans-serif;
  font-weight: 600;
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: -1px;
  margin: 0 0 4px;
  color: #fff;
  max-width: 420px;
}
@media (max-width: 1023px) {
  body .news-feed-block .news-feed__featured .news-feed__title {
    font-size: 22px;
  }
}
body .news-feed-block .news-feed__featured .news-feed__category {
  color: #FFB4A2;
}
body .news-feed-block .news-feed__featured .news-feed__meta {
  color: #fff;
}
body .news-feed-block .news-feed__featured:hover .news-feed__figure img {
  transform: scale(1.03);
}
body .news-feed-block .news-feed__list {
  flex: 1 1 0;
  min-width: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
}
@media (max-width: 800px) {
  body .news-feed-block .news-feed__list {
    justify-content: flex-start;
    gap: 18px;
  }
}
body .news-feed-block .news-feed__item {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--rule, #F04E58);
}
body .news-feed-block .news-feed__item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
body .news-feed-block .news-feed__item .news-feed__link {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  color: inherit;
}
body .news-feed-block .news-feed__item .news-feed__thumb {
  margin: 0;
  width: 96px;
  flex: none;
}
body .news-feed-block .news-feed__item .news-feed__thumb img {
  width: 100%;
  height: auto;
  display: block;
}
body .news-feed-block .news-feed__item .news-feed__title {
  font-family: "Host Grotesk", sans-serif;
  font-weight: 600;
  font-size: 17px;
  line-height: 1.15;
  letter-spacing: -0.5px;
  margin: 0 0 6px;
  color: var(--heading, #1C0A43);
}
body .news-feed-block .news-feed__item:hover .news-feed__title {
  color: var(--accent, #F04E58);
}
body .news-feed-block .news-feed__category {
  font-family: "Roboto Mono", monospace;
  font-size: 11px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: -0.4px;
  color: var(--accent, #F04E58);
  margin: 0 0 6px;
}
body .news-feed-block .news-feed__meta {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
  color: inherit;
  opacity: 0.75;
}
@media (prefers-reduced-motion: reduce) {
  body .news-feed-block .news-feed__featured .news-feed__figure img {
    transition: none;
  }
  body .news-feed-block .news-feed__featured:hover .news-feed__figure img {
    transform: none;
  }
}

body .hero-diagonal-block em,
body .horizontal-scroll-block em,
body .testimonial-slider-block em,
body .cta-cards-block em,
body .news-feed-block em {
  color: var(--emphasis, #F04E58);
  font-style: normal;
}

body .logo-slider-block {
  /*
   * Belt and braces on the scroll reveal.
   *
   * AOS sets opacity:0 on [data-aos] and only restores it once the element
   * enters the viewport. In a continuously moving ticker that reveal reads
   * as a flicker, and any slide cloned by Tiny Slider after AOS has scanned
   * the DOM would stay invisible permanently. Neutralised here so it can't
   * come back if the attribute is reintroduced.
   */
}
body .logo-slider-block .logos-slider li[data-aos],
body .logo-slider-block .logos-slider li [data-aos] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
body .logo-slider-block .logo-slider__head {
  text-align: left;
  max-width: 720px;
  margin: 0 0 36px;
}
@media (max-width: 1023px) {
  body .logo-slider-block .logo-slider__head {
    margin-bottom: 28px;
  }
}
body .logo-slider-block .logo-slider__eyebrow {
  font-family: "Roboto Mono", monospace;
  text-transform: uppercase;
  font-size: clamp(13px, 1vw, 16px);
  line-height: 1.4;
  letter-spacing: -0.4px;
  color: var(--emphasis, #F04E58);
  margin: 0;
}
body .logo-slider-block .logo-slider__heading {
  font-family: "Host Grotesk", sans-serif;
  font-weight: 300;
  font-size: clamp(24px, 2.4vw, 38px);
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin: 10px 0 0;
  color: var(--heading, #1C0A43);
}
body .logo-slider-block .logo-slider__heading:first-child {
  margin-top: 0;
}

body .media-block {
  padding: 48px 0;
}
@media (max-width: 1023px) {
  body .media-block {
    padding: 36px 0;
  }
}
@media (max-width: 479px) {
  body .media-block {
    padding: 28px 0;
  }
}
body .media-block .media-block__figure {
  margin: 0;
  width: 100%;
}
body .media-block .media-block__figure img {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
}
body .media-block .media-block__caption {
  margin: 14px 0 0;
  font-family: "Roboto Mono", monospace;
  font-size: clamp(12px, 0.95vw, 14px);
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: -0.4px;
  color: var(--text, #1C0A43);
  opacity: 0.75;
}
body .media-block.is-wide .wrap {
  max-width: 1720px;
}
body .media-block.is-full {
  padding-left: 0;
  padding-right: 0;
}

body .capability-explorer-block {
  padding: 72px 0;
}
@media (max-width: 1023px) {
  body .capability-explorer-block {
    padding: 52px 0;
  }
}
@media (max-width: 479px) {
  body .capability-explorer-block {
    padding: 40px 0;
  }
}
body .capability-explorer-block .capex__head {
  max-width: 860px;
}
body .capability-explorer-block .capex__eyebrow {
  font-family: "Roboto Mono", monospace;
  text-transform: uppercase;
  font-size: clamp(13px, 1vw, 16px);
  letter-spacing: -0.4px;
  color: var(--emphasis, #F04E58);
  margin: 0 0 12px;
}
body .capability-explorer-block .capex__heading {
  font-family: "Host Grotesk", sans-serif;
  font-weight: 300;
  font-size: clamp(26px, 2.8vw, 44px);
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin: 0;
  color: var(--heading, #1C0A43);
}
body .capability-explorer-block {
  /*
   * View toggle.
   *
   * Purple rather than the section's --rule (coral): the pill is a control,
   * and coral is doing enough work on this page already as the outcome tag
   * colour and the emphasis colour.
   */
  --capex-toggle: #1C0A43;
  --capex-toggle-text: #F7F7F7;
}
body .capability-explorer-block .capex__toggle {
  display: inline-flex;
  border: 2px solid var(--capex-toggle);
  border-radius: 999px;
  overflow: hidden;
  margin: 28px 0 36px;
}
body .capability-explorer-block .capex__tab {
  appearance: none;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: "acumin-pro", sans-serif;
  font-weight: 600;
  font-size: clamp(13px, 1.05vw, 15px);
  line-height: 1;
  padding: 13px 26px;
  color: var(--capex-toggle);
  transition: background-color 300ms, color 300ms;
}
body .capability-explorer-block .capex__tab[aria-selected=true] {
  background: var(--capex-toggle);
  color: var(--capex-toggle-text);
}
body .capability-explorer-block .capex__tab[aria-selected=false]:hover {
  background: rgba(28, 10, 67, 0.06);
}
body .capability-explorer-block .capex__tab:focus-visible {
  outline: 2px solid var(--emphasis, #F04E58);
  outline-offset: 3px;
}
@media (max-width: 479px) {
  body .capability-explorer-block .capex__tab {
    padding: 11px 16px;
  }
}
.no-js body .capability-explorer-block .capex__toggle {
  display: none;
}
body .capability-explorer-block .capex__view[hidden] {
  display: none;
}
body .capability-explorer-block .capex__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 20px;
}
body .capability-explorer-block .capex__grid--capability {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1100px) {
  body .capability-explorer-block .capex__grid--capability {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 800px) {
  body .capability-explorer-block .capex__grid--capability {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 479px) {
  body .capability-explorer-block .capex__grid--capability {
    grid-template-columns: 1fr;
  }
}
body .capability-explorer-block .capex__grid--outcome {
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 800px) {
  body .capability-explorer-block .capex__grid--outcome {
    grid-template-columns: 1fr;
  }
}
body .capability-explorer-block .capex__capability {
  padding: 24px;
  border: 1px solid var(--rule, #1C0A43);
  border-radius: 10px;
  background: var(--card-bg, #fff);
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: box-shadow 300ms, transform 300ms;
}
body .capability-explorer-block .capex__capability:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(28, 10, 67, 0.14);
}
body .capability-explorer-block .capex__tag {
  align-self: flex-start;
  /*
   * inline-flex + centring: the label was sitting high in the pill because
   * an inline span's box is driven by the font's line box, not the padding.
   * Centring it explicitly seats the text in the middle at any size.
   */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Roboto Mono", monospace;
  font-size: 11px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: -0.3px;
  padding: 7px 12px 6px;
  border-radius: 999px;
  border: 1px solid currentColor;
  color: var(--tag-colour, var(--emphasis, #F04E58));
}
body .capability-explorer-block {
  /*
   * Outcome colours.
   *
   * Class names come from sanitize_title() on the outcome text, so renaming
   * an outcome in ACF means updating the selector here too.
   */
}
body .capability-explorer-block .capex__tag--better-decisions {
  --tag-colour: #F04E58;
}
body .capability-explorer-block .capex__tag--continuous-productivity {
  --tag-colour: #1C0A43;
}
body .capability-explorer-block .capex__tag--greater-resilience {
  --tag-colour: #3D405B;
}
body .capability-explorer-block .capex__capability-heading {
  font-family: "Host Grotesk", sans-serif;
  font-weight: 400;
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0;
  flex: 1;
  color: var(--heading, #1C0A43);
}
body .capability-explorer-block .capex__capability-link,
body .capability-explorer-block .capex__links a {
  font-size: 15px;
  color: var(--text, #1C0A43);
  text-decoration: underline;
  text-underline-offset: 3px;
}
body .capability-explorer-block .capex__capability-link:hover,
body .capability-explorer-block .capex__links a:hover {
  color: var(--emphasis, #F04E58);
}
body .capability-explorer-block .capex__capability--filler {
  border-width: 3px;
  align-items: center;
  justify-content: center;
  text-align: center;
}
body .capability-explorer-block .capex__capability--filler:hover {
  transform: none;
  box-shadow: none;
}
body .capability-explorer-block .capex__capability--filler p {
  margin: 0;
  font-size: 15px;
}
body .capability-explorer-block .capex__outcome {
  padding: 32px;
  border: 1px solid var(--rule, #1C0A43);
  border-radius: 10px;
  background: var(--card-bg, #fff);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
body .capability-explorer-block .capex__outcome-heading {
  font-family: "Host Grotesk", sans-serif;
  font-weight: 300;
  font-size: clamp(21px, 1.9vw, 26px);
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin: 0;
  color: var(--heading, #1C0A43);
}
body .capability-explorer-block .capex__outcome-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
}
body .capability-explorer-block .capex__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
body .capability-explorer-block .capex__outcome-btn {
  align-self: flex-start;
}
body .capability-explorer-block .capex__closing {
  margin: 28px auto 0;
  max-width: 820px;
  text-align: center;
}
body .capability-explorer-block .capex__closing p {
  margin: 0;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.5;
}
@media (prefers-reduced-motion: reduce) {
  body .capability-explorer-block .capex__capability {
    transition: none;
  }
  body .capability-explorer-block .capex__capability:hover {
    transform: none;
  }
}

body .text-cards-block {
  padding: 72px 0;
}
@media (max-width: 1023px) {
  body .text-cards-block {
    padding: 52px 0;
  }
}
@media (max-width: 479px) {
  body .text-cards-block {
    padding: 40px 0;
  }
}
body .text-cards-block .text-cards__intro {
  max-width: 900px;
}
body .text-cards-block .text-cards__eyebrow {
  font-family: "Roboto Mono", monospace;
  text-transform: uppercase;
  font-size: clamp(13px, 1vw, 16px);
  letter-spacing: -0.4px;
  color: var(--emphasis, #F04E58);
  margin: 0 0 14px;
}
body .text-cards-block .text-cards__heading {
  font-family: "Host Grotesk", sans-serif;
  font-weight: 300;
  font-size: clamp(28px, 3vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.025em;
  margin: 0;
  color: var(--heading, #1C0A43);
}
body .text-cards-block .text-cards__text {
  margin: 20px 0 0;
  max-width: 820px;
}
body .text-cards-block .text-cards__text p {
  font-size: clamp(16px, 1.3vw, 20px);
  line-height: 1.55;
  font-weight: 300;
  margin: 0 0 16px;
}
body .text-cards-block .text-cards__text p:last-child {
  margin-bottom: 0;
}
body .text-cards-block .text-cards__sub {
  margin-top: 48px;
  max-width: 900px;
}
@media (max-width: 1023px) {
  body .text-cards-block .text-cards__sub {
    margin-top: 36px;
  }
}
body .text-cards-block .text-cards__sub-heading {
  font-family: "Host Grotesk", sans-serif;
  font-weight: 600;
  font-size: clamp(20px, 1.8vw, 26px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--heading, #1C0A43);
}
body .text-cards-block .text-cards__grid {
  list-style: none;
  margin: 40px 0 0;
  padding: 0;
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 1023px) {
  body .text-cards-block .text-cards__grid {
    margin-top: 32px;
    gap: 20px;
  }
}
@media (max-width: 800px) {
  body .text-cards-block .text-cards__grid {
    grid-template-columns: 1fr;
  }
}
body .text-cards-block.cols-3 .text-cards__grid {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1023px) {
  body .text-cards-block.cols-3 .text-cards__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 800px) {
  body .text-cards-block.cols-3 .text-cards__grid {
    grid-template-columns: 1fr;
  }
}
body .text-cards-block.cols-4 .text-cards__grid {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1100px) {
  body .text-cards-block.cols-4 .text-cards__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 479px) {
  body .text-cards-block.cols-4 .text-cards__grid {
    grid-template-columns: 1fr;
  }
}
body .text-cards-block .text-cards__card {
  padding: 32px;
  border: 2px solid var(--rule, #1C0A43);
  border-radius: 14px;
  background: var(--card-bg, #fff);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media (max-width: 479px) {
  body .text-cards-block .text-cards__card {
    padding: 24px;
  }
}
body .text-cards-block .text-cards__card-heading {
  font-family: "Host Grotesk", sans-serif;
  font-weight: 600;
  font-size: clamp(18px, 1.5vw, 22px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--heading, #1C0A43);
}
body .text-cards-block .text-cards__card-text {
  margin: 0;
  font-size: clamp(15px, 1.15vw, 17px);
  line-height: 1.55;
  font-weight: 300;
}
body .text-cards-block .text-cards__statement {
  margin: 44px auto 0;
  max-width: 900px;
  text-align: center;
  font-family: "Host Grotesk", sans-serif;
  font-weight: 600;
  font-size: clamp(18px, 1.7vw, 24px);
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: var(--heading, #1C0A43);
}
@media (max-width: 1023px) {
  body .text-cards-block .text-cards__statement {
    margin-top: 32px;
  }
}

body .main-text-classic-block {
  padding: 48px 0 0;
}
body .main-text-classic-block.text-center .row {
  align-items: center;
}
body .main-text-classic-block .row {
  flex-direction: column;
  align-items: flex-start;
  padding: 0 0 39px;
  border-bottom: 1px solid #F04E58;
  width: 100%;
}
body .main-text-classic-block .row .subtitle {
  font-family: "Host Grotesk", sans-serif;
  font-size: 22px;
  line-height: 30px;
  margin: 0 0 30px;
  letter-spacing: -0.88px;
}
body .main-text-classic-block .row {
  /*
   * Body copy. The original inherited the global 16px, which reads
   * small beneath a 60px headline.
   */
}
body .main-text-classic-block .row .text-hold {
  margin-top: 24px;
}
body .main-text-classic-block .row .text-hold p {
  font-size: clamp(18px, 1.5vw, 24px);
  line-height: 1.5;
  margin: 0 0 20px;
}
body .main-text-classic-block .row .text-hold p:last-of-type {
  margin-bottom: 0;
}
body .main-text-classic-block .row h1, body .main-text-classic-block .row h2, body .main-text-classic-block .row .text-hold {
  max-width: 66.66%;
}
@media (max-width: 767px) {
  body .main-text-classic-block .row h1, body .main-text-classic-block .row h2, body .main-text-classic-block .row .text-hold {
    max-width: none;
  }
}
body .main-text-classic-block .row h1, body .main-text-classic-block .row h2 {
  font-size: 60px;
  line-height: 1;
  letter-spacing: -2.4px;
}
@media (max-width: 1279px) {
  body .main-text-classic-block .row h1, body .main-text-classic-block .row h2 {
    font-size: 50px;
    letter-spacing: -1.8px;
  }
}
@media (max-width: 1023px) {
  body .main-text-classic-block .row h1, body .main-text-classic-block .row h2 {
    font-size: 38px;
    letter-spacing: -1.4px;
  }
}
@media (max-width: 767px) {
  body .main-text-classic-block .row h1, body .main-text-classic-block .row h2 {
    font-size: 32px;
    letter-spacing: -1px;
  }
}
body .main-text-classic-block .row .btn {
  margin: 40px 0 0;
}
body .main-text-classic-block.bg-blue .row .btn {
  color: #fff;
  background-color: #F04E58;
}
body .main-text-classic-block.bg-blue .row .btn:hover, body .main-text-classic-block.bg-blue .row .btn:active {
  background-color: #4e7bff;
}

/*# sourceMappingURL=style.css.map */
