/*
Theme Name: Conversations Health
Theme URI: https://conversationshealth.com/
Author: Shan Gray
Author URI: https://github.com/shan1g
Description: Conversations Health is a standalone bespoke classic theme for a mental health operations practice, with no parent theme and no dependency on any bundled WordPress theme. It pairs a GSAP-driven landing page of pinned and horizontally scrolling sections with a lean Darker Grotesque type scale. The home page can be built with the bundled Conversations Health Elementor widgets or fall back to the hardcoded template parts, and the practice support video is set from the Media Library through the Customizer.
Text Domain: conversations-health
Version: 1.3.48
Requires at least: 5.8
Tested up to: 6.8
Requires PHP: 7.4
Tags: one-column, custom-logo, featured-images, translation-ready, accessibility-ready, full-width-template
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

All files, unless otherwise stated, are released under the GNU General Public
License version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)

Do not edit style.css directly. It is compiled from style.less:
  npm run less    compile once
  npm run watch   compile on change
*/
body {
  font-family: 'Darker Grotesque', sans-serif;
  font-size: 18px;
  line-height: 140%;
  letter-spacing: 0;
  font-weight: 400;
}
body a {
  text-decoration: none;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
}
body p.bold {
  font-weight: 800;
  font-size: 23px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Darker Grotesque', sans-serif;
  letter-spacing: 0;
  margin: 0;
}
h1 {
  font-size: clamp(56px, 9vw, 160px);
  overflow-wrap: anywhere;
  line-height: 80%;
  font-weight: 300;
}
h1 span {
  font-weight: 400;
}
h2 {
  font-size: 60px;
  line-height: 96%;
}
h3 {
  font-size: 48px;
  line-height: 100%;
}
h4 {
  font-size: 40px;
  line-height: 100%;
}
h5 {
  font-size: 2.083vw;
  line-height: 100%;
}
h6 {
  font-size: 1.25vw;
  line-height: 100%;
}
p {
  margin: 0;
}
a {
  color: inherit;
}
a:hover,
a:focus {
  color: inherit;
}
.ch-skip-link {
  position: fixed;
  top: 16px;
  left: 16px;
  z-index: 100;
  padding: 10px 18px;
  color: #FFF9F0;
  background: #002427;
  border-radius: 8px;
  transform: translateY(-150%);
}
.ch-skip-link:focus {
  transform: translateY(0);
}
.btn {
  font-size: 22px;
  line-height: 60%;
  font-weight: 600;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  body {
    font-size: 20px;
    line-height: 1.1;
  }
  h1 {
    font-size: 64px;
    line-height: 0.8;
  }
  h2 {
    font-size: 40px;
    line-height: 0.96;
    letter-spacing: -0.4px;
  }
  h3 {
    font-size: 28px;
    line-height: 0.96;
    letter-spacing: -0.28px;
  }
  h4 {
    font-size: 34px;
    line-height: 0.96;
  }
  p.bold {
    font-size: 22px;
    line-height: 0.96;
  }
  .btn {
    font-size: 22px;
  }
  .ch-support .item summary,
  .ch-accordion .item summary {
    font-size: 34px;
    line-height: 0.96;
  }
  .ch-accordion .item .content {
    font-size: 24px;
    line-height: 0.96;
  }
  .ch-hero .content-holder > p {
    font-size: 22px;
    line-height: 0.96;
    font-weight: 700;
  }
  .ch-services .ch-services__list li {
    font-size: 28px;
    line-height: 0.96;
    letter-spacing: -0.28px;
  }
}
.btn,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn) {
  position: relative;
  color: #FFFFFF;
  background: #002427;
  padding: 17px;
  font-family: 'Darker Grotesque', sans-serif;
  font-weight: 600;
  line-height: 60%;
  text-decoration: none;
  cursor: pointer;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: max-content;
  border-radius: 13px;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
}
.btn svg,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn) svg {
  content: '';
  position: relative;
  top: 2px;
  display: flex;
  width: 12px;
  height: 15px;
  will-change: transform;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
}
.btn svg path,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn) svg path {
  fill: #FFFFFF;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .btn svg,
  button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn) svg {
    width: 15px;
    height: 15px;
  }
}
@media screen and (min-width: 520px) and (max-width: 990px) {
  .btn svg,
  button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn) svg {
    width: 20px;
    height: 20px;
  }
}
.btn:hover,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn):hover,
.btn:focus,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn):focus {
  color: #002427;
  background: #FFFFFF;
}
.btn:hover svg,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn):hover svg,
.btn:focus svg,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn):focus svg {
  transform: translateX(2px);
}
.btn:hover svg path,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn):hover svg path,
.btn:focus svg path,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn):focus svg path {
  fill: #002427;
}
.btn.secondary,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn).secondary {
  color: #002427;
  background: #FFF679;
}
.btn.secondary svg path,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn).secondary svg path {
  fill: #002427;
}
.btn.secondary:hover,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn).secondary:hover,
.btn.secondary:focus,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn).secondary:focus {
  color: #FFF679;
  background: #002427;
}
.btn.secondary:hover svg,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn).secondary:hover svg,
.btn.secondary:focus svg,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn).secondary:focus svg {
  transform: translateX(2px);
}
.btn.secondary:hover svg path,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn).secondary:hover svg path,
.btn.secondary:focus svg path,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn).secondary:focus svg path {
  fill: #FFF679;
}
.btn.cta svg,
button:not(.mobile-toggle, .nav-btn, #menuBtn, .ch-process__nav, .ch-contact__country, .ch-services__trigger, .ch-cookie-banner__btn, .ch-cookie-settings__btn).cta svg {
  display: none;
}
.cta-holder {
  display: flex;
  flex-direction: row;
  gap: 2vw;
  margin-top: 20px;
}
.title-banner {
  position: relative;
  height: 100%;
  height: -webkit-fill-available;
}
.title-banner .banner-content {
  position: sticky;
  position: -webkit-sticky;
  height: max-content;
  display: flex;
  flex-direction: column;
  gap: 40px;
  top: 110px;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .title-banner .banner-content {
    max-width: 100%;
  }
}
.swiper {
  overflow: hidden;
}
.swiper .navigation {
  position: absolute;
  z-index: 2;
  bottom: -70px;
  left: 0;
  width: 80vw;
  height: auto;
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  pointer-events: none;
}
.swiper .navigation .nav-btn {
  border: 0;
  background: transparent;
  pointer-events: all;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
}
.swiper .navigation .nav-btn.swiper-button-disabled {
  opacity: 0.2;
  transform: scale(0.6);
}
.swiper-pagination {
  bottom: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 0;
  gap: 10px;
}
.swiper-pagination .swiper-pagination-bullet {
  background: transparent;
  width: 15px;
  height: 15px;
  opacity: 0.5;
  margin: 0 !important;
  border: 0 !important;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
}
.swiper-pagination .swiper-pagination-bullet:after {
  content: '';
  display: block;
  position: absolute;
  border-radius: 100px;
  width: 0;
  height: 0;
  background: #ffffff;
  opacity: 0;
  z-index: -1;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
}
.swiper-pagination .swiper-pagination-bullet:before {
  content: '';
  display: block;
  position: absolute;
  border-radius: 100px;
  width: 10px;
  height: 10px;
  background: #ffffff;
  opacity: 1;
  z-index: 1;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.2s;
}
.swiper-pagination .swiper-pagination-bullet-active {
  opacity: 1;
}
.swiper-pagination .swiper-pagination-bullet-active:before {
  background: #ffffff;
  width: 13px;
  height: 13px;
}
.swiper-pagination .swiper-pagination-bullet-active:after {
  background: #ffffff;
  width: 15px;
  height: 15px;
  opacity: 1;
}
.swiper-lazy-preloader {
  border: 4px solid #fffffffa !important;
  backdrop-filter: blur(5px);
  border-top-color: transparent !important;
}
.ch-accordion {
  width: 100%;
  min-width: 0;
}
.ch-accordion .item {
  position: relative;
  margin: 0;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #002427;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
}
.ch-accordion .item:not(:last-child):after {
  content: '';
  position: relative;
  display: flex;
  left: 47px;
  bottom: 0;
  width: 2px;
  height: 64px;
  background: #002427;
}
.ch-accordion .item summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 20px;
  min-width: 0;
  padding: 14px 62px 14px 44px;
  border-radius: 12px;
  font-size: 48px;
  line-height: 140%;
  cursor: pointer;
  list-style: none;
  margin-top: -3px;
}
.ch-accordion .item summary::-webkit-details-marker {
  display: none;
}
.ch-accordion .item summary:before {
  content: '';
  position: relative;
  left: -5px;
  top: unset;
  flex: none;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  background: currentColor;
  border-radius: 3px;
}
.ch-accordion .item summary svg {
  content: '';
  width: 23px;
  height: 23px;
  position: absolute;
  right: 24px;
  top: 50%;
  opacity: 0;
  transform: translateY(-50%);
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
}
.ch-accordion .item summary:focus-visible:after {
  opacity: 1;
}
.ch-accordion .item .content {
  padding: 0 52px 0 81px;
  color: #FFF9F0;
  font-size: 32px;
  line-height: 1.05;
  overflow: hidden;
  max-height: 0;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
}
.ch-accordion .item:hover summary,
.ch-accordion .item:focus summary {
  font-weight: 700;
}
.ch-accordion .item:hover summary svg,
.ch-accordion .item:focus summary svg {
  opacity: 1;
}
.ch-accordion .item[open] {
  color: #FFF679;
  background: #002427;
  margin: 6px 0 70px 0;
}
.ch-accordion .item[open] summary {
  font-weight: 700;
}
.ch-accordion .item[open] summary svg {
  opacity: 1;
  transform: rotate(90deg);
}
.ch-accordion .item[open] summary svg path {
  fill: #FFF679;
}
.ch-accordion .item[open] .content {
  padding: 0 52px 30px 81px;
  max-height: 1000px;
}
.ch-accordion .item[open]:after {
  bottom: -70px;
  margin-top: -64px;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-accordion .item:not(:last-child):after {
    left: 20px;
  }
  .ch-accordion .item summary {
    gap: 16px;
    padding: 14px 54px 14px 18px;
    font-size: 34px;
    line-height: 0.96;
  }
  .ch-accordion .item summary:before {
    left: -5px;
    top: unset;
  }
  .ch-accordion .item .content {
    padding: 0 42px 0 50px;
    font-size: 24px;
    line-height: 0.96;
  }
  .ch-accordion .item[open] .content {
    padding: 0 42px 24px 50px;
  }
}
.cta-animated {
  position: relative;
  z-index: 1;
  width: 45%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cta-animated .cta-deco {
  position: relative;
  top: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
}
.cta-animated .cta-deco img {
  position: absolute;
  will-change: transform, opacity;
  transition: none;
}
.cta-animated .cta-deco img:nth-child(1) {
  bottom: 0;
  left: -20%;
}
.cta-animated .cta-deco img:nth-child(2) {
  top: -15%;
  right: 0;
}
.cta-animated .cta-deco img:nth-child(3) {
  bottom: 57%;
  left: 6%;
}
.cta-animated .cta-deco img:nth-child(4) {
  bottom: 14%;
  left: 19%;
}
.cta-animated .cta-deco img:nth-child(5) {
  bottom: 14%;
  left: 44%;
}
.cta-animated .cta-deco img:nth-child(6) {
  top: -6%;
  left: -40%;
}
.cta-animated .cta-deco img:nth-child(7) {
  bottom: 35%;
  right: 0;
}
.cta-animated .cta-deco img:nth-child(8) {
  bottom: 35%;
  left: -3%;
}
.cta-animated .cta-deco img:nth-child(9) {
  bottom: 14%;
  right: 12%;
}
.cta-animated .cta-deco img:nth-child(10) {
  bottom: 63%;
  left: -28%;
}
.cta-animated .cta-deco img:nth-child(11) {
  bottom: 63%;
  right: 0;
}
.cta-animated .cta-button {
  position: absolute;
  bottom: 35%;
  left: 10%;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #FFF679;
  font-size: 48px;
  font-weight: 700;
  line-height: 100%;
  width: 380px;
  height: 80px;
  background: url(assets/images/cta-anim/btn-speech.svg) no-repeat 30px 9px;
}
.cta-animated .cta-button:hover,
.cta-animated .cta-button:focus-visible {
  transform: translateY(-4px);
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .cta-animated {
    width: 100vw;
  }
  .cta-animated .cta-deco img {
    max-width: 48vw;
    width: auto;
    height: auto;
  }
  .cta-animated .cta-deco img:nth-child(2) {
    top: -4%;
    right: 0;
  }
  .cta-animated .cta-button {
    left: 50%;
    transform: translateX(-50%);
    width: min(340px, 82vw);
    height: 68px;
    font-size: 34px;
    background-size: contain;
    background-position: center;
  }
  .cta-animated .cta-button:hover,
  .cta-animated .cta-button:focus-visible {
    transform: translateX(-50%) translateY(-4px);
  }
}
#preloader {
  position: fixed;
  z-index: 900;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  backdrop-filter: blur(15px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 40px;
}
#preloader #counterHolder {
  position: absolute;
}
#preloader #counterHolder span {
  font-size: 1vw;
  color: #F15A24;
}
#preloader #counterHolder span#counter {
  font-size: 5vw;
  font-family: 'brunson-rough';
  position: relative;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  #preloader #counterHolder span {
    font-size: 6.25vw;
  }
  #preloader #counterHolder span#counter {
    font-size: 12.25vw;
  }
}
#preloader svg {
  width: 60vw;
  height: 60vh;
  max-width: 100%;
  max-height: 100%;
  z-index: -1;
}
#preloader svg path {
  fill: none;
  fill-rule: evenodd;
  stroke-width: 1px;
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
::-khtml-scrollbar {
  width: 5px;
  height: 5px;
}
::-moz-scrollbar {
  width: 5px;
  height: 5px;
}
::-ms-scrollbar {
  width: 5px;
  height: 5px;
}
::-o-scrollbar {
  width: 5px;
  height: 5px;
}
::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 120px 120px 124px #ffffff4a;
}
::-khtml-scrollbar-track {
  -webkit-box-shadow: inset 120px 120px 124px #ffffff4a;
}
::-moz-scrollbar-track {
  -webkit-box-shadow: inset 120px 120px 124px #ffffff4a;
}
::-webkit-scrollbar-thumb {
  -webkit-box-shadow: inset 0 0 76px #002427;
}
::-khtml-scrollbar-thumb {
  -webkit-box-shadow: inset 0 0 76px #002427;
}
::selection {
  background: #FFFFFF3a;
  /* WebKit/Blink Browsers */
}
::-moz-selection {
  background: #FFFFFF3a;
  /* Gecko Browsers */
}
body,
html {
  background: #FFFFFF;
  color: #000000;
  padding: 0;
  margin: 0;
  scroll-behavior: initial!important;
}
header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  display: block;
  padding: 18px 3.5vw;
  width: 100%;
  background: transparent;
  transform: none;
  will-change: auto;
  pointer-events: none;
}
header:after {
  display: none;
}
header .main-nav {
  max-width: 1800px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 80px;
  padding: 0 12px;
  pointer-events: auto;
}
header .logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 170px;
  height: 72px;
}
header .logo img {
  display: block;
  width: auto;
  height: 64px;
}
header .menu {
  display: flex;
  align-items: center;
  gap: 36px;
}
header .menu a {
  font-size: 22px;
  font-weight: 600;
  text-decoration: none;
}
header .menu a.active:not(.cta):not(.btn) {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.18em;
  text-decoration-thickness: 2px;
}
header .menu .cta {
  gap: 10px;
}
header .menu .cta svg {
  display: block;
  flex: none;
  width: 12px;
  height: 15px;
}
header .cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
}
header .mobile-toggle {
  display: none !important;
  position: relative;
  width: 40px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
}
header .mobile-toggle span {
  display: block;
  position: absolute;
  left: 0;
  height: 4px;
  width: 100%;
  border-radius: 9px;
  background: #002427;
  opacity: 1;
  transform: rotate(0deg);
  transition: 0.25s ease-in-out;
}
header .mobile-toggle span:nth-of-type(1) {
  top: 0;
  transform-origin: left center;
}
header .mobile-toggle span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
  transform-origin: left center;
}
header .mobile-toggle span:nth-of-type(3) {
  top: 100%;
  transform: translateY(-100%);
  transform-origin: left center;
}
header .mobile-toggle[aria-expanded="true"] span:nth-of-type(1) {
  top: 0;
  left: 5px;
  transform: rotate(45deg);
}
header .mobile-toggle[aria-expanded="true"] span:nth-of-type(2) {
  width: 0%;
  opacity: 0;
}
header .mobile-toggle[aria-expanded="true"] span:nth-of-type(3) {
  top: 28px;
  left: 5px;
  transform: rotate(-45deg);
}
header .mobile-menu {
  display: none;
}
@media screen and (max-width: 767px) {
  header {
    padding: 12px 4vw 0;
  }
  header .menu {
    display: none;
  }
  header .mobile-toggle {
    display: block !important;
    z-index: 60;
  }
  header .mobile-menu:not([hidden]) {
    display: flex;
    flex-direction: column;
    position: fixed;
    inset: 0;
    z-index: 45;
    margin: 0;
    padding: 157px 20px 40px;
    border-radius: 0;
    background: #FFF679;
    pointer-events: auto;
    overflow: hidden;
  }
  header .mobile-menu__links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    position: relative;
    z-index: 1;
  }
  header .mobile-menu__links a {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 104px;
    height: 48px;
    padding: 0;
    color: #002427;
    font-size: 18px;
    font-weight: 700;
    line-height: 0.96;
    letter-spacing: -0.18px;
    text-decoration: none;
  }
  header .mobile-menu__links a svg {
    flex: none;
    width: 10px;
    height: auto;
  }
  header .mobile-menu__links a.active {
    width: 167px;
    height: auto;
    min-height: 46px;
    padding: 16px 33px;
    border-radius: 13px;
    background: #FFFFFF;
  }
  header .mobile-menu__deco {
    position: absolute;
    left: 0;
    right: 0;
    top: 52%;
    z-index: 0;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    padding: 0;
    pointer-events: none;
    line-height: 0;
  }
  header .mobile-menu__deco img {
    display: block;
    width: 100%;
    height: auto;
  }
  header .mobile-menu__legal {
    position: relative;
    z-index: 1;
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    max-width: 335px;
  }
  header .mobile-menu__legal a {
    padding: 0;
    color: #002427;
    font-size: 18px;
    font-weight: 700;
    line-height: 0.96;
    letter-spacing: -0.18px;
    text-decoration: none;
    white-space: nowrap;
  }
  header .logo {
    min-width: 140px;
    height: 58px;
    position: relative;
    z-index: 60;
  }
  header .logo img {
    height: 52px;
  }
  header.is-menu-open .main-nav {
    position: relative;
    z-index: 60;
  }
}
footer.ch-footer {
  position: relative;
  background: #FFF679;
  padding: 100px 60px 80px;
  overflow: hidden;
}
footer.ch-footer .ch-footer__deco {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 878px;
  max-width: 45.73%;
  pointer-events: none;
}
footer.ch-footer .ch-footer__deco picture,
footer.ch-footer .ch-footer__deco img {
  display: block;
  width: 100%;
  height: auto;
}
footer.ch-footer .ch-footer__inner {
  position: relative;
  z-index: 1;
  max-width: 1800px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 42.2fr) minmax(0, 26.7fr) minmax(max-content, 13.6fr) minmax(max-content, 17.5fr);
  grid-template-rows: auto auto auto;
  column-gap: 0;
  row-gap: 60px;
  align-items: start;
}
footer.ch-footer .ch-footer__brand {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
footer.ch-footer .ch-footer__logo img {
  display: block;
  width: auto;
  height: 80px;
}
footer.ch-footer .ch-footer__nav {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}
footer.ch-footer .ch-footer__nav a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 124px;
  font-size: 24px;
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: -0.24px;
  text-decoration: none;
}
footer.ch-footer .ch-footer__nav a svg {
  flex: none;
  width: 10px;
  height: 13px;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
}
footer.ch-footer .ch-footer__nav a:hover svg,
footer.ch-footer .ch-footer__nav a:focus-visible svg {
  transform: translateX(6px);
}
footer.ch-footer .ch-footer__label {
  margin: 0 0 14px;
  font-size: 24px;
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: -0.24px;
}
footer.ch-footer .ch-footer__details {
  grid-row: 1;
}
footer.ch-footer .ch-footer__details:nth-child(3) {
  grid-column: 3;
}
footer.ch-footer .ch-footer__details:nth-child(4) {
  grid-column: 4;
  margin-left: 120px;
}
footer.ch-footer .ch-footer__details p:not(.ch-footer__label) {
  margin: 0 0 14px;
  font-size: 22px;
  line-height: 0.96;
  white-space: nowrap;
}
footer.ch-footer .ch-footer__details p:not(.ch-footer__label):last-child {
  margin-bottom: 0;
}
footer.ch-footer .ch-footer__details a {
  text-decoration: none;
}
footer.ch-footer .ch-footer__social {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  gap: 20px;
  align-items: center;
}
footer.ch-footer .ch-footer__social a {
  display: inline-flex;
  width: 32px;
  height: 32px;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.4s;
}
footer.ch-footer .ch-footer__social a:hover,
footer.ch-footer .ch-footer__social a:focus {
  transform: translateY(-7px);
}
footer.ch-footer .ch-footer__social img {
  width: 100%;
  height: 100%;
}
footer.ch-footer .ch-footer__copyright {
  grid-column: 1;
  grid-row: 3;
  margin: 0;
  font-size: 22px;
  line-height: 0.96;
}
footer.ch-footer .ch-footer__legal {
  grid-column: 2 / -1;
  grid-row: 3;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 16px 24px;
  align-items: center;
}
footer.ch-footer .ch-footer__legal a {
  font-size: 20px;
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: -0.2px;
  text-decoration: none;
}
@media screen and (max-width: 1024px) {
  footer.ch-footer {
    padding: 80px 5vw 56px;
  }
  footer.ch-footer .ch-footer__inner {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    column-gap: 48px;
    row-gap: 56px;
  }
  footer.ch-footer .ch-footer__brand,
  footer.ch-footer .ch-footer__nav,
  footer.ch-footer .ch-footer__details,
  footer.ch-footer .ch-footer__social,
  footer.ch-footer .ch-footer__copyright,
  footer.ch-footer .ch-footer__legal {
    grid-column: auto;
    grid-row: auto;
  }
  footer.ch-footer .ch-footer__details:nth-child(4) {
    margin-left: 0;
  }
  footer.ch-footer .ch-footer__legal {
    justify-content: flex-start;
  }
  footer.ch-footer .ch-footer__details p:not(.ch-footer__label) {
    white-space: normal;
  }
  footer.ch-footer .ch-footer__deco {
    max-width: 40%;
  }
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  footer.ch-footer .ch-footer__deco {
    right: auto;
    left: 0;
    bottom: 22%;
    width: 100%;
    max-width: none;
  }
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  footer.ch-footer {
    padding: 64px 20px 40px;
    overflow: visible;
  }
  footer.ch-footer .ch-footer__deco {
    display: block;
    left: 0px;
    bottom: -10vw;
    width: 100%;
    max-width: none;
    z-index: 0;
    opacity: 1;
  }
  footer.ch-footer .ch-footer__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 28px;
  }
  footer.ch-footer .ch-footer__brand {
    order: 1;
    align-items: center;
  }
  footer.ch-footer .ch-footer__logo img {
    height: 72px;
  }
  footer.ch-footer .ch-footer__details:nth-child(4) {
    order: 2;
    margin-left: 0;
  }
  footer.ch-footer .ch-footer__details:nth-child(3) {
    order: 3;
  }
  footer.ch-footer .ch-footer__label {
    font-size: 20px;
    letter-spacing: -0.2px;
  }
  footer.ch-footer .ch-footer__details p:not(.ch-footer__label) {
    font-size: 20px;
    white-space: normal;
  }
  footer.ch-footer .ch-footer__nav {
    order: 4;
    align-self: flex-end;
    position: relative;
    z-index: 1;
    gap: 8px;
    margin-top: 24px;
    margin-right: 4vw;
  }
  footer.ch-footer .ch-footer__nav a {
    width: 104px;
    height: 48px;
    font-size: 18px;
    letter-spacing: -0.18px;
  }
  footer.ch-footer .ch-footer__social {
    order: 5;
    justify-content: center;
    margin-top: 24px;
  }
  footer.ch-footer .ch-footer__social a {
    width: 48px;
    height: 48px;
  }
  footer.ch-footer .ch-footer__social a svg {
    width: 100%;
    height: 100%;
  }
  footer.ch-footer .ch-footer__copyright {
    order: 6;
    text-align: center;
    font-size: 20px;
    max-width: 230px;
    margin: 8px auto 0;
  }
  footer.ch-footer .ch-footer__legal {
    order: 7;
    width: 100%;
    justify-content: space-between;
    gap: 12px;
    margin-top: 8px;
  }
  footer.ch-footer .ch-footer__legal a {
    font-size: 18px;
    letter-spacing: -0.18px;
  }
}
@media screen and (min-width: 50px) and (max-width: 500px) {
  footer.ch-footer .ch-footer__deco {
    bottom: 10vw;
  }
}
@media screen and (min-width: 50px) and (max-width: 440px) {
  footer.ch-footer .ch-footer__deco {
    bottom: 22vw;
  }
}
@media screen and (min-width: 50px) and (max-width: 440px) {
  footer.ch-footer .ch-footer__deco {
    bottom: 28vw;
  }
}
@media screen and (min-width: 50px) and (max-width: 390px) {
  footer.ch-footer .ch-footer__deco {
    bottom: 33vw;
  }
}
@media screen and (min-width: 50px) and (max-width: 375px) {
  footer.ch-footer .ch-footer__deco {
    bottom: 38vw;
  }
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  html {
    overflow-x: hidden;
    height: 100%;
  }
}
body.is-menu-open {
  overflow: hidden;
}
#mainPage {
  position: relative;
  min-height: 100vh;
  overflow-x: clip;
  padding: 0;
}
#mainPage * {
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  #mainPage {
    overflow-x: clip;
    overflow-y: visible;
  }
}
.ch-hero,
.ch-support,
.ch-photo,
.ch-photo-banner,
.ch-services,
.ch-banner,
.ch-mission,
.ch-process {
  position: relative;
  padding: 5vw 10vw;
  z-index: 0;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-hero,
  .ch-support,
  .ch-photo,
  .ch-photo-banner,
  .ch-services,
  .ch-banner,
  .ch-mission,
  .ch-process {
    padding: 15vw 0 0 0;
  }
}
.ch-hero .swiper,
.ch-support .swiper,
.ch-photo .swiper,
.ch-photo-banner .swiper,
.ch-services .swiper,
.ch-banner .swiper,
.ch-mission .swiper,
.ch-process .swiper {
  width: 100%;
  margin: 0;
}
.ch-hero {
  min-height: 800px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 120px 7vw 80px;
}
.ch-hero:before {
  content: '';
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  inset: 0;
  background: linear-gradient(180deg, #A0D0F1 0%, #EBF5FB 70%, transparent 100%);
  mix-blend-mode: multiply;
  opacity: 0.6;
  z-index: 0;
  pointer-events: none;
}
.ch-hero .content-holder {
  position: relative;
  z-index: 2;
  width: 100%;
  min-width: 0;
  max-width: 1180px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  text-align: center;
}
.ch-hero .content-holder > * {
  max-width: 100%;
}
.ch-hero .content-holder p {
  font-weight: 700;
  font-size: 30px;
  letter-spacing: 0.3px;
  max-width: 38%;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-hero .content-holder p {
    font-size: 22px;
    line-height: 1;
    max-width: 70%;
  }
}
.ch-hero .img-holder {
  position: absolute;
  width: 47%;
  height: 100%;
  right: 0;
  top: 0;
  z-index: 1;
}
.ch-hero .img-holder img,
.ch-hero .img-holder video {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  .ch-hero {
    min-height: 680px;
  }
}
@media screen and (max-width: 767px) {
  .ch-hero {
    min-height: 472px;
    padding: 100px 6vw 54px;
  }
  .ch-hero .ch-hero__inner {
    gap: 32px;
  }
  .ch-hero h1 {
    overflow-wrap: anywhere;
  }
  .ch-hero .btn {
    min-width: 228px;
    margin-top: 0;
  }
}
.ch-support {
  padding: 110px 8vw 130px;
  display: flex;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-support {
    flex-direction: column;
    gap: 10vw;
  }
}
.ch-support:before {
  content: '';
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  inset: 0;
  mix-blend-mode: multiply;
  opacity: 0.6;
  z-index: 0;
  pointer-events: none;
}
.ch-support section {
  width: 50%;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-support section {
    width: 100%;
  }
  .ch-support section:not(:last-child) {
    order: 2;
  }
  .ch-support section:last-child {
    order: 1;
  }
}
.ch-support .content-holder {
  width: 100%;
  min-width: 0;
  max-width: 1640px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.88fr);
  gap: 7vw;
  align-items: start;
}
.ch-support .content-holder > * {
  min-width: 0;
}
.ch-support .title-banner {
  min-height: 660px;
  display: flex;
  justify-content: flex-end;
  text-align: right;
}
.ch-support .title-banner .banner-content {
  max-width: 60%;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-support .title-banner .banner-content {
    max-width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .ch-support {
    padding: 90px 6vw 110px;
  }
  .ch-support .content-holder {
    gap: 5vw;
  }
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-support {
    padding: 72px 6vw 90px;
  }
  .ch-support .content-holder {
    display: flex;
    flex-direction: column-reverse;
    gap: 64px;
  }
  .ch-support .title-banner {
    min-height: 0;
    justify-content: center;
    text-align: center;
  }
  .ch-support .title-banner > div {
    position: static;
    width: 100%;
    min-width: 0;
    max-width: 420px;
  }
  .ch-support .title-banner h2 {
    margin-bottom: 20px;
  }
  .ch-support .item {
    margin-bottom: 22px;
  }
  .ch-support .item summary {
    min-height: 68px;
    padding: 14px 54px 14px 18px;
  }
  .ch-support .item summary:after {
    right: 18px;
    opacity: 1;
  }
  .ch-support .ch-accordion__content {
    padding: 0 42px 24px 50px;
  }
}
.ch-photo {
  position: relative;
  padding: 0;
  width: 100%;
  min-height: 0;
  overflow: visible;
  color: #FFFFFF;
  transition: none;
}
.ch-photo .ch-photo__pin {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  transition: none;
}
.ch-photo > .pin-spacer,
.ch-photo > .pin-spacer-ch-photo-items {
  transition: none !important;
}
.ch-photo .media-holder {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.ch-photo .media-holder video,
.ch-photo .media-holder .still {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ch-photo .media-holder:after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 36, 39, 0.15) 0%, rgba(0, 36, 39, 0.35) 70%, rgba(0, 36, 39, 0.55) 100%);
}
.ch-photo .animation-block {
  --photo-lines-w: min(92%, 1795px);
  position: absolute;
  top: 17.5%;
  right: auto;
  bottom: auto;
  left: 8%;
  width: var(--photo-lines-w);
  height: auto;
  aspect-ratio: 1795 / 546;
  z-index: 2;
}
.ch-photo .animation-block:after {
  content: '';
  position: absolute;
  top: 0;
  left: 100%;
  width: 100vw;
  height: 0.549%;
  min-height: 1px;
  background: #FFFFFF;
}
.ch-photo .animation-block img {
  position: absolute;
  height: auto;
}
.ch-photo .animation-block img[data-photo-item] {
  will-change: transform, opacity;
}
.ch-photo .animation-block img.first {
  inset: 0;
  width: 100%;
  height: 100%;
}
.ch-photo .animation-block img.second {
  bottom: 12.82%;
  left: 5.39%;
  width: 8.8%;
}
.ch-photo .animation-block img.third {
  bottom: 45.79%;
  left: 8.98%;
  width: 8.47%;
}
.ch-photo .animation-block img.fourth {
  bottom: 45.79%;
  left: 21.55%;
  width: 3.79%;
}
.ch-photo .animation-block img.fifth {
  bottom: 78.75%;
  left: 24.25%;
  width: 3.84%;
}
.ch-photo .animation-block img.sixth {
  top: -10.99%;
  left: 34.13%;
  width: 10.08%;
}
.ch-photo.is-enhanced .animation-block > [data-photo-item] {
  opacity: 0;
}
@media screen and (min-width: 768px) and (max-height: 900px) {
  .ch-photo .animation-block {
    --photo-lines-w: min(78%, 1795px);
    top: 14%;
  }
}
.ch-photo .logos {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 48px;
  z-index: 2;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.ch-photo .logos .logos-track {
  display: flex;
  gap: 80px;
  padding-right: 80px;
  width: max-content;
  white-space: nowrap;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0.02em;
  opacity: 0.85;
}
.ch-photo .logos .logos-track img {
  max-width: 200px;
}
@media screen and (max-width: 767px) {
  .ch-photo .ch-photo__pin {
    height: 100vh;
    height: 100svh;
  }
  .ch-photo .media-holder video,
  .ch-photo .media-holder .still {
    object-position: 50% center;
  }
  .ch-photo .animation-block {
    --photo-lines-w: min(92%, 1795px);
    top: 15%;
    width: var(--photo-lines-w);
    height: auto;
    aspect-ratio: 1795 / 546;
    display: block;
    padding-top: 0;
    transform-origin: left top;
    transform: scale(1.72);
  }
  .ch-photo .animation-block:after {
    display: block;
  }
  .ch-photo .animation-block img {
    position: absolute;
    height: auto;
  }
  .ch-photo .animation-block img.first {
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .ch-photo .animation-block > [data-photo-item]:not(.first) {
    position: absolute;
  }
  .ch-photo .animation-block > [data-photo-item].second {
    bottom: 12.82%;
    left: 5.39%;
    width: 8.8%;
  }
  .ch-photo .animation-block > [data-photo-item].third {
    bottom: 45.79%;
    left: 8.98%;
    width: 8.47%;
  }
  .ch-photo .animation-block > [data-photo-item].fourth {
    bottom: 45.79%;
    left: 21.55%;
    width: 3.79%;
  }
  .ch-photo .animation-block > [data-photo-item].fifth {
    bottom: 78.75%;
    left: 24.25%;
    width: 3.84%;
  }
  .ch-photo .animation-block > [data-photo-item].sixth {
    top: -10.99%;
    left: 34.13%;
    width: 10.08%;
  }
  .ch-photo .logos {
    bottom: 28px;
  }
  .ch-photo .logos-track {
    gap: 40px;
    padding-right: 40px;
    font-size: 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ch-photo .animation-block > [data-photo-item] {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    will-change: auto;
  }
}
.ch-photo-banner {
  position: relative;
  padding: 0;
  width: 100%;
  min-height: 0;
  overflow: visible;
  color: #FFFFFF;
  transition: none;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-photo-banner {
    height: 150vw;
  }
}
.ch-photo-banner .media-holder {
  position: relative;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.ch-photo-banner .media-holder video,
.ch-photo-banner .media-holder .still {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ch-photo-banner .media-holder:after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 36, 39, 0.15) 0%, rgba(0, 36, 39, 0.35) 70%, rgba(0, 36, 39, 0.55) 100%);
}
.ch-photo-banner .animation-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.ch-photo-banner .animation-block:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #2222222b;
  display: flex;
  z-index: 1;
}
.ch-photo-banner .animation-block h2 {
  color: #FFFFFF;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.8s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.8s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.8s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.8s;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-photo-banner .animation-block h2 {
    font-size: 34px;
  }
}
.ch-photo-banner .animation-block h2:last-of-type {
  color: #FFF679;
}
.ch-photo-banner .animation-block img {
  position: absolute;
  width: 43%;
  height: auto;
  animation: rotate 43s linear infinite;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-photo-banner .animation-block img {
    width: 90%;
  }
}
.ch-photo-banner.visible .animation-block h2 {
  transform: translateX(-80px);
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-photo-banner.visible .animation-block h2 {
    transform: translateX(-60px);
  }
}
@media screen and (min-width: 50px) and (max-width: 430px) {
  .ch-photo-banner.visible .animation-block h2 {
    transform: translateX(-5vw);
  }
}
.ch-photo-banner.visible .animation-block h2:last-of-type {
  transform: translateX(80px);
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-photo-banner.visible .animation-block h2:last-of-type {
    transform: translateX(60px);
  }
}
@media screen and (min-width: 50px) and (max-width: 430px) {
  .ch-photo-banner.visible .animation-block h2:last-of-type {
    transform: translateX(5vw);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ch-photo-banner .animation-block h2 {
    transition: none;
    transform: translateX(-80px);
  }
  .ch-photo-banner .animation-block h2:last-of-type {
    transform: translateX(80px);
  }
}
.ch-services .ch-section-heading,
.ch-process .ch-section-heading {
  max-width: 560px;
  margin: 0 auto 90px;
  text-align: center;
}
.ch-services .ch-section-heading h2,
.ch-process .ch-section-heading h2 {
  margin: 0 0 24px;
}
@media screen and (max-width: 767px) {
  .ch-services .ch-section-heading,
  .ch-process .ch-section-heading {
    margin-bottom: 58px;
  }
  .ch-services .ch-section-heading p,
  .ch-process .ch-section-heading p {
    max-width: 310px;
    margin: 0 auto;
  }
}
.ch-services {
  padding: 120px 7vw 140px;
  background: #FFF9F0;
  background: #fff9f0c7;
}
.ch-services .ch-services__list {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  column-gap: 8vw;
  list-style: none;
}
.ch-services .ch-services__item {
  position: relative;
  padding: 33px 0;
  border-bottom: 1px solid #002427;
}
@media screen and (min-width: 991px) {
  .ch-services .ch-services__item {
    font-size: 40px;
    line-height: 1;
  }
}
.ch-services .ch-services__item:hover .ch-services__tip,
.ch-services .ch-services__item:focus-within .ch-services__tip,
.ch-services .ch-services__item.is-open .ch-services__tip {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.ch-services .ch-services__item:nth-child(even) .ch-services__tip {
  color: #FFF679;
}
.ch-services .ch-services__item:nth-child(even) .ch-services__tip-text {
  color: #002427;
}
.ch-services .ch-services__trigger {
  appearance: none;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.ch-services .ch-services__trigger:focus,
.ch-services .ch-services__trigger:focus-visible {
  outline: 2px solid #002427;
  outline-offset: 4px;
}
.ch-services .ch-services__trigger:hover {
  background: transparent;
  color: inherit;
}
.ch-services .ch-services__tip {
  position: absolute;
  right: 0;
  top: calc(100% - 32px);
  z-index: 5;
  display: block;
  width: max-content;
  max-width: min(341px, calc(100vw - 14vw));
  height: 70px;
  color: #002427;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, visibility 0.18s ease;
}
.ch-services .ch-services__tip-shape {
  display: block;
  width: 341px;
  max-width: 100%;
  height: 100%;
}
.ch-services .ch-services__tip-text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  padding: 8px 28px 8px 52px;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0.22px;
  color: #FFF9F0;
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .ch-services {
    padding-left: 6vw;
    padding-right: 6vw;
  }
}
@media screen and (max-width: 767px) {
  .ch-services {
    padding: 84px 7vw 96px;
  }
  .ch-services .ch-services__list {
    display: block;
  }
  .ch-services .ch-services__item {
    padding: 40px 0 48px;
    transition: border-color 0.8s cubic-bezier(0.34, 0.57, 0.21, 0.99);
  }
  .ch-services .ch-services__item:hover .ch-services__tip,
  .ch-services .ch-services__item:focus-within .ch-services__tip {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    max-height: 0;
    margin-top: 0;
    left: 0;
    transform: translateY(-8px) scale(0.98);
    transition: max-height 0.8s cubic-bezier(0.34, 0.57, 0.21, 0.99), margin-top 0.8s cubic-bezier(0.34, 0.57, 0.21, 0.99), left 0.8s cubic-bezier(0.34, 0.57, 0.21, 0.99), opacity 0.65s cubic-bezier(0.34, 0.57, 0.21, 0.99), transform 0.8s cubic-bezier(0.34, 0.57, 0.21, 0.99), visibility 0s linear 0.65s;
  }
  .ch-services .ch-services__item.is-open .ch-services__tip {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    max-height: 120px;
    margin-top: 14px;
    left: 22vw;
    aspect-ratio: 341 / 70;
    transform: translateY(0) scale(1);
    transition: max-height 0.8s cubic-bezier(0.34, 0.57, 0.21, 0.99), margin-top 0.8s cubic-bezier(0.34, 0.57, 0.21, 0.99), left 0.8s cubic-bezier(0.34, 0.57, 0.21, 0.99), opacity 0.65s cubic-bezier(0.34, 0.57, 0.21, 0.99), transform 0.8s cubic-bezier(0.34, 0.57, 0.21, 0.99), visibility 0s linear 0s;
  }
  .ch-services .ch-services__tip {
    position: relative;
    left: 0;
    top: auto;
    margin-top: 0;
    width: min(300px, 100%);
    max-width: 300px;
    height: auto;
    max-height: 0;
    aspect-ratio: auto;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px) scale(0.98);
    transform-origin: top left;
    transition: max-height 0.8s cubic-bezier(0.34, 0.57, 0.21, 0.99), margin-top 0.8s cubic-bezier(0.34, 0.57, 0.21, 0.99), left 0.8s cubic-bezier(0.34, 0.57, 0.21, 0.99), opacity 0.65s cubic-bezier(0.34, 0.57, 0.21, 0.99), transform 0.8s cubic-bezier(0.34, 0.57, 0.21, 0.99), visibility 0s linear 0.65s;
  }
  .ch-services .ch-services__tip-shape {
    width: 100%;
  }
  .ch-services .ch-services__tip-text {
    font-size: 20px;
    letter-spacing: 0.2px;
    padding: 8px 20px 8px 36px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ch-services .ch-services__item,
  .ch-services .ch-services__tip {
    transition: none;
  }
}
.ch-banner {
  background: #FFF679;
  overflow: visible;
  padding: 0;
  transition: none;
}
.ch-banner .scroll-pin {
  position: relative;
  height: 100svh;
  min-height: 640px;
  overflow: hidden;
  transition: none;
}
.ch-banner .title-banner {
  position: absolute;
  top: clamp(48px, 8vh, 160px);
  right: clamp(24px, 8vw, 160px);
  z-index: 3;
  width: min(573px, 42vw);
  text-align: right;
}
.ch-banner .title-banner h2 {
  margin: 0 0 24px;
  font-size: clamp(36px, 3.2vw, 60px);
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: -0.01em;
}
.ch-banner .title-banner p {
  font-size: 22px;
  line-height: 1.1;
}
.ch-banner .scroll-viewport {
  height: 100%;
  overflow: hidden;
}
.ch-banner .scroll-track {
  display: flex;
  height: 100%;
  will-change: transform;
}
.ch-banner .scroll-panel {
  position: relative;
  flex: 0 0 100vw;
  width: 100vw;
  height: 100%;
  padding: 0 clamp(24px, 8vw, 160px);
}
.ch-banner .deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
}
.ch-banner .deco img {
  position: absolute;
  max-width: none;
  object-fit: contain;
  width: 100%;
  height: 100%;
  object-position: center center;
  mix-blend-mode: overlay;
}
.ch-banner .deco.complex img {
  width: 100%;
  height: 100%;
  object-position: center;
  object-fit: scale-down;
}
.ch-banner .meta {
  position: absolute;
  left: clamp(24px, 8vw, 160px);
  bottom: clamp(48px, 10vh, 120px);
  z-index: 2;
  max-width: 380px;
}
.ch-banner .meta h3 {
  margin: 0 0 18px;
  font-size: clamp(28px, 2.4vw, 40px);
  font-weight: 400;
  line-height: 0.96;
}
.ch-banner .meta p {
  font-size: 22px;
  line-height: 0.96;
}
.ch-banner .banner-progress,
.ch-banner .scroll-progress-live {
  display: flex;
  align-items: center;
  gap: 100px;
  margin-bottom: 28px;
}
.ch-banner .banner-progress span,
.ch-banner .scroll-progress-live span {
  position: relative;
  display: block;
  flex: none;
  width: 16px;
  height: 16px;
  border: 2px solid #002427;
  border-radius: 5px;
  background: transparent;
  transition: background 0.25s ease;
}
.ch-banner .banner-progress span.is-active,
.ch-banner .scroll-progress-live span.is-active {
  background: #002427;
}
.ch-banner .banner-progress span:not(:last-child):after,
.ch-banner .scroll-progress-live span:not(:last-child):after {
  content: '';
  position: absolute;
  left: 19px;
  top: 50%;
  width: 89px;
  height: 1px;
  background: #002427;
  transform: translateY(-50%);
  pointer-events: none;
}
.ch-banner .scroll-progress-live {
  display: none;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-banner .scroll-pin {
    height: 100svh;
    min-height: 640px;
    overflow: hidden;
  }
  .ch-banner .title-banner {
    position: absolute;
    top: 40px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    z-index: 3;
    width: min(335px, calc(100% - 40px));
    max-width: none;
    padding: 0;
    text-align: center;
  }
  .ch-banner .title-banner h2 {
    margin: 15vw 0 24px;
    font-size: 40px;
    font-weight: 700;
    line-height: 0.96;
    letter-spacing: -0.4px;
  }
  .ch-banner .title-banner p {
    margin: 0 auto;
    max-width: 296px;
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: 0.2px;
  }
  .ch-banner .scroll-viewport {
    height: 100%;
    overflow: hidden;
  }
  .ch-banner .scroll-track {
    display: flex;
    height: 100%;
  }
  .ch-banner .scroll-panel {
    position: relative;
    flex: 0 0 100vw;
    width: 100vw;
    height: 100%;
    min-height: 0;
    padding: 0 20px;
    border-top: 0;
  }
  .ch-banner .meta {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 40px;
    z-index: 2;
    max-width: none;
    text-align: center;
  }
  .ch-banner .meta h3 {
    margin: 0 0 16px;
    font-size: 28px;
    font-weight: 400;
    line-height: 0.96;
    letter-spacing: -0.28px;
  }
  .ch-banner .meta p {
    margin: 0;
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: 0.2px;
  }
  .ch-banner .banner-progress {
    display: none;
  }
  .ch-banner .scroll-progress-live,
  .ch-banner .ch-banner__progress-live {
    display: flex;
    position: absolute;
    left: 50%;
    bottom: calc(40px + 87px + 16px);
    transform: translateX(-50%);
    z-index: 4;
    width: 256px;
    margin: 0;
    justify-content: space-between;
    gap: 20px;
  }
  .ch-banner .scroll-progress-live span,
  .ch-banner .ch-banner__progress-live span {
    position: relative;
    flex: none;
    width: 16px;
    height: 16px;
    border-radius: 5px;
  }
  .ch-banner .scroll-progress-live span.is-active,
  .ch-banner .ch-banner__progress-live span.is-active {
    width: 16px;
    background: #002427;
  }
  .ch-banner .scroll-progress-live span:not(:last-child):after,
  .ch-banner .ch-banner__progress-live span:not(:last-child):after {
    content: '';
    position: absolute;
    left: 23px;
    top: 50%;
    width: 84px;
    height: 1px;
    background: #002427;
    transform: translateY(-50%);
    pointer-events: none;
  }
  .ch-banner .deco img {
    object-fit: fill;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ch-banner .scroll-pin {
    height: auto;
    min-height: 0;
    overflow: visible;
  }
  .ch-banner .title-banner {
    position: static;
    width: 100%;
    max-width: none;
    padding: 64px 7vw 24px;
    text-align: left;
    transform: none;
  }
  .ch-banner .scroll-viewport {
    height: auto;
    overflow: visible;
  }
  .ch-banner .scroll-track {
    display: block;
    transform: none !important;
  }
  .ch-banner .scroll-panel {
    width: 100%;
    height: auto;
    min-height: 420px;
    flex: none;
    transition: none;
  }
  .ch-banner .meta {
    position: static;
    max-width: none;
  }
}
.ch-mission {
  min-height: 930px;
  display: flex;
  gap: 10vw;
  padding: 160px;
}
.ch-mission:before {
  content: '';
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  inset: 0;
  background: linear-gradient(180deg, #FFF9F0 0%, #EBF4FB 100%);
  mix-blend-mode: multiply;
  opacity: 0.6;
  z-index: 0;
  pointer-events: none;
}
.ch-mission.services:before {
  background: linear-gradient(180deg, #FFF9F0 0%, #A0D0F1 100%);
  background: linear-gradient(180deg, transparent 0%, #EBF5FB 70%);
}
.ch-mission > section {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
}
.ch-mission .title-banner .banner-content {
  max-width: 65%;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-mission .title-banner .banner-content {
    max-width: 100%;
  }
}
.ch-mission .ch-benefits {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 88px;
  padding-left: 40px;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-mission .ch-benefits {
    padding-left: 0;
  }
}
.ch-mission .ch-benefits .benefits-progress {
  display: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  border-radius: 3px;
  overflow: hidden;
  background: rgba(0, 36, 39, 0.18);
  pointer-events: none;
}
.ch-mission .ch-benefits .benefits-progress span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: #002427;
  transform: scaleY(0.333333);
  transform-origin: top;
  will-change: transform;
}
.ch-mission .ch-benefits .benefit {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: start;
  padding: 0 0 33px;
  border-bottom: 1px solid rgba(0, 36, 39, 0.35);
  transition: opacity 0.35s ease, transform 0.35s ease, border-color 0.35s ease;
}
.ch-mission .ch-benefits .benefit .icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 112px;
  height: 64px;
}
.ch-mission .ch-benefits .benefit .icon:before {
  content: '';
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: url('assets/images/icon-convo-holder.svg') no-repeat center center;
  background-size: contain;
  opacity: 0;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
}
.ch-mission .ch-benefits .benefit .icon svg {
  position: relative;
  z-index: 2;
}
.ch-mission .ch-benefits .benefit p {
  margin: 0;
  max-width: 70%;
  font-size: 28px;
  line-height: 0.95;
}
.ch-mission .ch-benefits.is-enhanced .benefit {
  opacity: 0.42;
}
.ch-mission .ch-benefits.is-enhanced .benefit.is-active {
  opacity: 1;
  transform: translateX(8px);
  border-color: #002427;
}
.ch-mission .ch-benefits.is-enhanced .benefit.is-active .icon {
  justify-content: center;
}
.ch-mission .ch-benefits.is-enhanced .benefit.is-active .icon:before {
  opacity: 1;
}
.ch-mission .ch-benefits.is-enhanced .benefit.is-active .icon svg {
  left: -10px;
}
.ch-mission .ch-benefits.is-enhanced .benefit.is-active .icon svg path {
  fill: #FFF679;
}
.ch-mission.services .ch-benefits {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 88px;
  padding-left: 40px;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-mission.services .ch-benefits {
    padding-left: 0;
  }
}
.ch-mission.services .ch-benefits .benefit {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: start;
  padding: 0 0 33px;
  border-bottom: 1px solid rgba(0, 36, 39, 0.35);
  transition: opacity 0.35s ease, transform 0.35s ease, border-color 0.35s ease;
}
.ch-mission.services .ch-benefits .benefit .icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 112px;
  height: 64px;
}
.ch-mission.services .ch-benefits .benefit .icon:before {
  content: '';
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: url('assets/images/icon-convo-holder.svg') no-repeat center center;
  background-size: contain;
  opacity: 0;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
}
.ch-mission.services .ch-benefits .benefit .icon svg {
  position: relative;
  z-index: 2;
}
.ch-mission.services .ch-benefits .benefit h3 {
  font-weight: 400;
}
.ch-mission.services .ch-benefits .benefit p {
  margin: 0;
  max-width: 70%;
  font-size: 28px;
  line-height: 0.95;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.7s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.7s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.7s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.7s;
  will-change: auto;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform-origin: top left;
  transform: scale(0.7);
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-mission.services .ch-benefits .benefit p {
    max-width: 100%;
    font-size: 24px;
  }
}
.ch-mission.services .ch-benefits.is-enhanced .benefit {
  opacity: 0.42;
}
.ch-mission.services .ch-benefits.is-enhanced .benefit.is-active {
  opacity: 1;
  transform: translateX(8px);
  border-color: #002427;
}
.ch-mission.services .ch-benefits.is-enhanced .benefit.is-active .icon {
  justify-content: center;
}
.ch-mission.services .ch-benefits.is-enhanced .benefit.is-active .icon:before {
  opacity: 1;
}
.ch-mission.services .ch-benefits.is-enhanced .benefit.is-active .icon svg {
  left: -10px;
}
.ch-mission.services .ch-benefits.is-enhanced .benefit.is-active .icon svg path {
  fill: #FFF679;
}
.ch-mission.services .ch-benefits.is-enhanced .benefit.is-active h3 {
  font-weight: 700;
}
.ch-mission.services .ch-benefits.is-enhanced .benefit.is-active p {
  opacity: 1;
  transform: scale(1);
  max-height: 1000px;
}
@media screen and (max-width: 1024px) {
  .ch-mission {
    padding-left: 6vw;
    padding-right: 6vw;
  }
  .ch-mission .ch-benefits .benefit p {
    max-width: 100%;
  }
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-mission {
    display: block;
    min-height: 0;
    padding: 90px 7vw 110px;
  }
  .ch-mission > section {
    width: 100%;
  }
  .ch-mission .title-banner {
    margin-bottom: 56px;
  }
  .ch-mission .title-banner .banner-content {
    margin: 0 auto;
    text-align: center;
  }
  .ch-mission .ch-benefits {
    gap: 48px;
    margin: 0 auto;
  }
  .ch-mission .ch-benefits .benefit {
    gap: 18px;
    padding: 0 0 28px;
  }
  .ch-mission .ch-benefits .benefit p {
    max-width: 100%;
    font-size: 24px;
  }
  .ch-mission .ch-benefits.is-enhanced .benefit.is-active {
    transform: translateX(5px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ch-mission .ch-benefits .benefits-progress span {
    transform: scaleY(1);
    will-change: auto;
  }
  .ch-mission .ch-benefits.is-enhanced .benefit {
    opacity: 1;
    transform: none;
  }
}
.ch-process {
  padding: 120px 7vw 150px 7vw;
}
.ch-process:before {
  content: '';
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  inset: 0;
  background: linear-gradient(180deg, #EBF4FB 0%, #A0D0F1 100%);
  mix-blend-mode: multiply;
  opacity: 0.6;
  z-index: 0;
  pointer-events: none;
}
.ch-process .process-carousel {
  width: 100%;
  min-width: 0;
  max-width: 1500px;
  margin: 0 auto;
  overflow: visible;
}
.ch-process .process-grid {
  width: 100%;
  min-width: 0;
  display: flex;
}
.ch-process .card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.ch-process .card .title {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.ch-process .card .title .step {
  position: relative;
  min-width: 81px;
  min-height: 51px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: -28px;
  font-size: 40px;
  line-height: 100%;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
}
.ch-process .card .title .step:before {
  content: '';
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url('assets/images/icon-convo-holder-stroke.svg') no-repeat center center;
  background-size: contain;
  -webkit-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
  -khtml-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
  -moz-transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
  transition: all cubic-bezier(0.34, 0.57, 0.21, 0.99) 0.3s;
}
.ch-process .card .title h3 {
  margin: 0 0 30px;
  font-size: 41px;
  line-height: 1;
}
.ch-process .card p {
  max-width: 350px;
  font-size: 30px;
  line-height: 96%;
}
@media screen and (max-width: 990px) {
  .ch-process .card p {
    font-size: 24px;
  }
}
.ch-process .card:hover .title .step,
.ch-process .card:focus .title .step {
  color: #FFF679;
  font-weight: 700;
}
.ch-process .card:hover .title .step:before,
.ch-process .card:focus .title .step:before {
  background: url('assets/images/icon-convo-holder.svg') no-repeat center center;
  background-size: contain;
}
.ch-process .card:hover p,
.ch-process .card:focus p {
  font-weight: 700;
}
@media screen and (min-width: 20px) and (max-width: 990px) {
  .ch-process .card.swiper-slide-active .title .step {
    color: #FFF679;
    font-weight: 700;
  }
  .ch-process .card.swiper-slide-active .title .step:before {
    background: url('assets/images/icon-convo-holder.svg') no-repeat center center;
    background-size: contain;
  }
  .ch-process .card.swiper-slide-active p {
    font-weight: 700;
  }
}
.ch-process .navigation {
  display: none;
}
.ch-process .ch-process__nav {
  width: 50px;
  height: 44px;
  padding: 8px;
  border: 0;
  color: #002427;
  background: transparent;
}
.ch-process .ch-process__nav svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-process {
    padding: 7vw 7vw 150px 7vw;
  }
  .ch-process .navigation {
    display: flex !important;
  }
}
.ch-cta {
  position: relative;
  padding: 0 0 0 7vw;
  height: 20vw;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10vw;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-cta {
    flex-direction: column;
    gap: 10vw;
    padding: 0 7vw;
    height: 120vw;
  }
  .ch-cta#contact {
    height: 200vw;
  }
}
.ch-cta:before {
  content: '';
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  inset: 0;
  background: linear-gradient(180deg, #EBF4FB 0%, #A0D0F1 100%);
  background: linear-gradient(180deg, #A0D0F1 100%, #EBF4FB 0%);
  mix-blend-mode: multiply;
  opacity: 0.6;
  z-index: 0;
  pointer-events: none;
}
.ch-cta section.title-banner {
  width: 55%;
  height: auto;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-cta section.title-banner {
    width: 100%;
  }
}
.ch-cta section.title-banner .banner-content {
  max-width: 85%;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-cta section.title-banner .banner-content {
    max-width: 100%;
  }
}
.ch-cta section.title-banner .contact-details {
  display: flex;
  gap: 5vw;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-cta section.title-banner .contact-details {
    flex-direction: column;
    align-items: center;
    padding: 12vw 0;
    gap: 10vw;
  }
}
.ch-cta section.title-banner .contact-details .contact-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  text-align: left;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-cta section.title-banner .contact-details .contact-item {
    align-items: center;
  }
}
.ch-cta section.title-banner .contact-details .contact-item h4 {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-cta section.title-banner .contact-details .contact-item h4 {
    align-items: center;
  }
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-cta section.title-banner .contact-details {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .ch-cta section.title-banner .contact-details br:last-of-type {
    display: none;
  }
}
.visited {
  transform: translateY(0) translateX(0) scale(1);
  -webkit-transform: translateY(0) translateX(0) scale(1);
  -moz-transform: translateY(0) translateX(0) scale(1);
  -ms-transform: translateY(0) translateX(0) scale(1);
  -o-transform: translateY(0) translateX(0) scale(1);
  opacity: 1;
}
.visited section {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
  -webkit-transform: translateY(0) translateX(0) scale(1);
  -moz-transform: translateY(0) translateX(0) scale(1);
  -ms-transform: translateY(0) translateX(0) scale(1);
  -o-transform: translateY(0) translateX(0) scale(1);
}
.visited section:not(.title) {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
  -webkit-transform: translateY(0) translateX(0) scale(1);
  -moz-transform: translateY(0) translateX(0) scale(1);
  -ms-transform: translateY(0) translateX(0) scale(1);
  -o-transform: translateY(0) translateX(0) scale(1);
}
.ch-generic-content {
  width: min(1120px, 88vw);
  min-height: 70vh;
  margin: 0 auto;
  padding: 180px 0 100px;
}
.ch-generic-content .ch-generic-header,
.ch-generic-content .ch-singular,
.ch-generic-content .ch-post-card,
.ch-generic-content .comments-area,
.ch-generic-content .ch-no-results {
  margin-bottom: 64px;
}
.ch-generic-content .ch-post-card {
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(0, 36, 39, 0.25);
}
.ch-generic-content .entry-content,
.ch-generic-content .entry-summary,
.ch-generic-content .archive-description {
  max-width: 800px;
}
.ch-generic-content img {
  max-width: 100%;
  height: auto;
}
.ch-generic-content .search-form {
  display: flex;
  gap: 12px;
  max-width: 640px;
}
.ch-generic-content .search-form label {
  flex: 1;
}
.ch-generic-content .search-form input,
.ch-generic-content .search-form button {
  width: 100%;
  padding: 14px 18px;
  border: 1px solid #002427;
  font: inherit;
}
.ch-generic-content .search-form button {
  width: auto;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .ch-generic-content {
    padding: 130px 0 72px;
  }
}
.ch-about {
  padding-top: 160px;
}
.ch-about .ch-section-heading p {
  max-width: 720px;
}
.ch-contact {
  position: relative;
  padding: 265px 3.125vw 120px;
}
.ch-contact:before {
  content: '';
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  inset: 0;
  background: linear-gradient(180deg, #FFF9F0 13.66%, #D2E5F0 55.46%, #A0D0F1 77.13%);
  mix-blend-mode: multiply;
  opacity: 0.6;
  z-index: 0;
  pointer-events: none;
}
.ch-contact__grid {
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 64px;
}
.ch-contact__hero {
  position: sticky;
  top: 120px;
  flex: 0 1 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 80px;
}
.ch-contact__hero h1 {
  margin: 0;
  font-size: 160px;
  font-weight: 300;
  line-height: 0.8;
  white-space: nowrap;
}
.ch-contact__hero h1 span {
  font-weight: 400;
}
.ch-contact__hero p {
  margin: 0;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: 0.3px;
  text-align: center;
}
.ch-contact__form,
.ch-contact__form-wrap {
  flex: 0 0 auto;
  width: 840px;
  max-width: 100%;
}
.ch-contact__form,
.ch-contact__form-wrap form {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.ch-contact__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.ch-contact label,
.ch-contact fieldset {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.2px;
}
.ch-contact input[type="text"],
.ch-contact input[type="email"],
.ch-contact input[type="tel"],
.ch-contact textarea {
  width: 100%;
  height: 48px;
  padding: 0 16px;
  border: 1px solid #002427;
  border-radius: 13px;
  background: transparent;
  font-family: inherit;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.22px;
  color: #002427;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, border-width 0.15s ease;
}
.ch-contact input[type="text"]::placeholder,
.ch-contact input[type="email"]::placeholder,
.ch-contact input[type="tel"]::placeholder,
.ch-contact textarea::placeholder {
  color: rgba(0, 36, 39, 0.6);
  opacity: 1;
}
.ch-contact input[type="text"]:focus,
.ch-contact input[type="email"]:focus,
.ch-contact input[type="tel"]:focus,
.ch-contact textarea:focus,
.ch-contact input[type="text"]:focus-visible,
.ch-contact input[type="email"]:focus-visible,
.ch-contact input[type="tel"]:focus-visible,
.ch-contact textarea:focus-visible {
  outline: none;
  background: #002427;
  color: #FFF9F0;
  caret-color: #FFF9F0;
  border-color: #002427;
}
.ch-contact input[type="text"]:focus::placeholder,
.ch-contact input[type="email"]:focus::placeholder,
.ch-contact input[type="tel"]:focus::placeholder,
.ch-contact textarea:focus::placeholder,
.ch-contact input[type="text"]:focus-visible::placeholder,
.ch-contact input[type="email"]:focus-visible::placeholder,
.ch-contact input[type="tel"]:focus-visible::placeholder,
.ch-contact textarea:focus-visible::placeholder {
  color: rgba(255, 249, 240, 0.55);
}
.ch-contact input[type="text"]:disabled,
.ch-contact input[type="email"]:disabled,
.ch-contact input[type="tel"]:disabled,
.ch-contact textarea:disabled,
.ch-contact input[type="text"][aria-disabled="true"],
.ch-contact input[type="email"][aria-disabled="true"],
.ch-contact input[type="tel"][aria-disabled="true"],
.ch-contact textarea[aria-disabled="true"] {
  background: rgba(0, 36, 39, 0.05);
  border-color: rgba(0, 36, 39, 0.25);
  color: rgba(0, 36, 39, 0.35);
  cursor: not-allowed;
}
.ch-contact input[type="text"]:disabled::placeholder,
.ch-contact input[type="email"]:disabled::placeholder,
.ch-contact input[type="tel"]:disabled::placeholder,
.ch-contact textarea:disabled::placeholder,
.ch-contact input[type="text"][aria-disabled="true"]::placeholder,
.ch-contact input[type="email"][aria-disabled="true"]::placeholder,
.ch-contact input[type="tel"][aria-disabled="true"]::placeholder,
.ch-contact textarea[aria-disabled="true"]::placeholder {
  color: rgba(0, 36, 39, 0.35);
}
.ch-contact input[type="text"][aria-invalid="true"],
.ch-contact input[type="email"][aria-invalid="true"],
.ch-contact input[type="tel"][aria-invalid="true"],
.ch-contact textarea[aria-invalid="true"] {
  border: 2px solid #D6483C;
  background: transparent;
  color: #002427;
}
.ch-contact label.is-error > input[type="text"],
.ch-contact label.is-error > input[type="email"],
.ch-contact label.is-error > textarea {
  border: 2px solid #D6483C;
  background: transparent;
  color: #002427;
}
.ch-contact label:has( > input[type="text"]:not(:placeholder-shown):not(:focus):not([aria-invalid="true"])):not(.is-error),
.ch-contact label:has( > input[type="email"]:not(:placeholder-shown):not(:focus):not([aria-invalid="true"])):not(.is-error) {
  position: relative;
}
.ch-contact label:has( > input[type="text"]:not(:placeholder-shown):not(:focus):not([aria-invalid="true"])):not(.is-error) > input,
.ch-contact label:has( > input[type="email"]:not(:placeholder-shown):not(:focus):not([aria-invalid="true"])):not(.is-error) > input {
  border-width: 1.5px;
  padding-right: 40px;
}
.ch-contact label:has( > input[type="text"]:not(:placeholder-shown):not(:focus):not([aria-invalid="true"])):not(.is-error)::after,
.ch-contact label:has( > input[type="email"]:not(:placeholder-shown):not(:focus):not([aria-invalid="true"])):not(.is-error)::after {
  content: '✓';
  position: absolute;
  right: 16px;
  bottom: 12px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #002427;
  pointer-events: none;
}
.ch-contact textarea {
  height: 160px;
  padding: 14px 16px;
  resize: vertical;
}
.ch-contact textarea:not(:placeholder-shown):not(:focus):not([aria-invalid="true"]) {
  border-width: 1.5px;
}
.ch-contact__error {
  display: none;
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.16px;
  color: #D6483C;
}
label.is-error > .ch-contact__error,
.ch-contact__types.is-error > .ch-contact__error,
.ch-contact__terms.is-error > .ch-contact__error {
  display: block;
}
.ch-contact__phone {
  position: relative;
  display: flex;
  align-items: center;
  height: 48px;
  padding: 0 16px;
  border: 1px solid #002427;
  border-radius: 999px;
  background: transparent;
  gap: 10px;
  box-sizing: border-box;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.ch-contact__phone:focus-within,
.ch-contact__phone.is-open {
  background: #002427;
  color: #FFF9F0;
  border-color: #002427;
}
.ch-contact__phone:focus-within .ch-contact__country,
.ch-contact__phone.is-open .ch-contact__country {
  color: #FFF9F0;
  opacity: 1;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23FFF9F0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ch-contact__phone:focus-within input[type="tel"],
.ch-contact__phone.is-open input[type="tel"] {
  color: #FFF9F0;
  caret-color: #FFF9F0;
  background: transparent;
  border: 0;
}
.ch-contact__phone:focus-within input[type="tel"]::placeholder,
.ch-contact__phone.is-open input[type="tel"]::placeholder {
  color: rgba(255, 249, 240, 0.55);
}
.ch-contact__phone.is-error {
  border: 2px solid #D6483C;
  background: transparent;
}
.ch-contact__phone.is-disabled {
  background: rgba(0, 36, 39, 0.05);
  border-color: rgba(0, 36, 39, 0.25);
  pointer-events: none;
}
.ch-contact__phone.is-disabled .ch-contact__country,
.ch-contact__phone.is-disabled input[type="tel"] {
  color: rgba(0, 36, 39, 0.35);
  opacity: 1;
}
.ch-contact__phone input[type="tel"] {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.ch-contact__phone input[type="tel"]:focus,
.ch-contact__phone input[type="tel"]:focus-visible {
  background: transparent;
  outline: none;
}
.ch-contact__phone input[type="tel"][aria-invalid="true"] {
  border: 0;
  background: transparent;
}
.ch-contact__country {
  appearance: none;
  -webkit-appearance: none;
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  margin: 0;
  padding: 0 18px 0 0;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23999999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0 center;
  background-size: 10px 6px;
  font-family: inherit;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.22px;
  line-height: 1;
  color: #002427;
  opacity: 0.55;
  cursor: pointer;
  width: auto;
  min-width: 0;
  gap: 0;
  transition: none;
  box-shadow: none;
}
.ch-contact__country:focus,
.ch-contact__country:focus-visible {
  outline: none;
}
.ch-contact__country:hover {
  background-color: transparent;
  color: #002427;
  opacity: 0.55;
}
.ch-contact__country-list {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  z-index: 5;
  min-width: 72px;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid #002427;
  background: #FFFFFF;
  overflow: hidden;
}
.ch-contact__country-list li {
  padding: 8px 14px;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.2px;
  color: #002427;
  cursor: pointer;
}
.ch-contact__country-list li:hover,
.ch-contact__country-list li[aria-selected="true"] {
  background: #A0D0F1;
}
.ch-contact__types {
  border: 0;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  width: 100%;
}
.ch-contact__types legend {
  display: block;
  float: none;
  width: 100%;
  padding: 0;
  margin: 0 0 16px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.2px;
}
.ch-contact__types label {
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.2px;
  cursor: pointer;
}
.ch-contact__types label:has(input:disabled) {
  color: rgba(0, 36, 39, 0.4);
  cursor: not-allowed;
}
.ch-contact__types input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  flex: none;
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1.5px solid #002427;
  border-radius: 50%;
  background: transparent;
  display: grid;
  place-content: center;
  cursor: pointer;
  transition: border-width 0.12s ease, border-color 0.12s ease;
}
.ch-contact__types input[type="radio"]::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #002427;
  transform: scale(0);
  transition: transform 0.12s ease;
}
.ch-contact__types input[type="radio"]:checked {
  border-width: 3px;
}
.ch-contact__types input[type="radio"]:checked::before {
  transform: scale(1);
}
.ch-contact__types input[type="radio"]:disabled {
  border-color: rgba(0, 36, 39, 0.25);
  cursor: not-allowed;
}
.ch-contact__types input[type="radio"]:disabled::before {
  background: rgba(0, 36, 39, 0.25);
}
.ch-contact__types input[type="radio"]:focus-visible {
  outline: 2px solid #002427;
  outline-offset: 2px;
}
.ch-contact__types.is-error input[type="radio"] {
  border-color: #D6483C;
}
.ch-contact__types.is-error > .ch-contact__error {
  display: block;
  margin-top: 8px;
}
.ch-contact__types-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 48px;
  width: 100%;
  min-width: 0;
}
.ch-contact__terms {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  font-size: 20px;
  font-weight: 400 !important;
  letter-spacing: 0.2px;
}
.ch-contact__terms > span {
  font-weight: 400;
}
.ch-contact__terms input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  flex: none;
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1px solid #002427;
  border-radius: 2px;
  background: transparent;
  cursor: pointer;
  display: grid;
  place-content: center;
}
.ch-contact__terms input[type="checkbox"]::before {
  content: '';
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: #FFF9F0;
  transform: scale(0);
  transition: transform 0.12s ease;
}
.ch-contact__terms input[type="checkbox"]:checked {
  background: #002427;
  border-color: #002427;
}
.ch-contact__terms input[type="checkbox"]:checked::before {
  content: '✓';
  transform: scale(1);
}
.ch-contact__terms input[type="checkbox"]:disabled {
  background: rgba(0, 36, 39, 0.05);
  border-color: rgba(0, 36, 39, 0.25);
  cursor: not-allowed;
}
.ch-contact__terms input[type="checkbox"]:focus-visible {
  outline: 2px solid #002427;
  outline-offset: 2px;
}
.ch-contact__terms.is-error input[type="checkbox"] {
  border-color: #D6483C;
}
.ch-contact__terms.is-error > .ch-contact__error {
  display: block;
  flex: 1 0 100%;
}
.ch-contact__terms a {
  font-weight: 700;
  color: inherit;
  text-decoration: none;
}
.ch-contact__terms a:hover,
.ch-contact__terms a:focus-visible {
  text-decoration: underline;
}
.ch-contact__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
.ch-contact__actions .btn {
  min-height: auto;
  padding: 14px 32px;
  border-radius: 13px;
  background: #002427;
  color: #FFF9F0;
}
.ch-contact__actions .btn svg path {
  fill: currentColor;
}
.ch-contact__actions .btn:hover,
.ch-contact__actions .btn:focus {
  background: #FFF679;
  color: #002427;
}
.ch-contact__actions .btn:hover svg path,
.ch-contact__actions .btn:focus svg path {
  fill: currentColor;
}
.ch-contact__actions .btn:disabled,
.ch-contact__actions .btn.is-disabled {
  background: rgba(0, 36, 39, 0.15);
  color: rgba(255, 249, 240, 0.5);
  cursor: not-allowed;
  pointer-events: none;
}
.ch-contact__actions .btn:disabled svg path,
.ch-contact__actions .btn.is-disabled svg path {
  fill: currentColor;
}
.ch-contact__actions .btn.is-loading {
  pointer-events: none;
  gap: 8px;
}
.ch-contact__actions .btn.is-loading svg {
  display: none;
}
.ch-contact__actions .btn.is-loading::before {
  content: '';
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 249, 240, 0.35);
  border-top-color: #FFF9F0;
  border-radius: 50%;
  animation: ch-spin 0.7s linear infinite;
}
.ch-contact__actions .btn.is-success {
  pointer-events: none;
}
.ch-contact__actions .ch-contact__hint {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  color: #D6483C;
  text-align: right;
}
.ch-contact__honeypot {
  position: absolute;
  left: -9999px;
  height: 0;
  overflow: hidden;
}
.ch-contact__notice {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  padding: 20px;
  border-radius: 13px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;
}
.ch-contact__notice[hidden] {
  display: none !important;
}
.ch-contact__notice--success {
  background: rgba(255, 246, 121, 0.55);
  color: #002427;
}
.ch-contact__notice--error {
  background: rgba(214, 72, 60, 0.08);
  border: 1.5px solid #D6483C;
  color: #D6483C;
}
.ch-contact__notice--error::before {
  content: '!';
  flex: none;
  display: grid;
  place-content: center;
  width: 24px;
  height: 24px;
  border-radius: 12px;
  background: #D6483C;
  color: #FFF9F0;
  font-size: 15px;
  font-weight: 700;
}
.ch-contact .elementor-form,
.ch-contact .ch-contact__elementor-form {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  border: 0;
}
.ch-contact .elementor-form .elementor-form-fields-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 40px;
  margin: 0 !important;
}
.ch-contact .elementor-form .elementor-field-group {
  margin: 0 !important;
  padding: 0 !important;
}
.ch-contact .elementor-form .elementor-field-label {
  display: block;
  margin: 0 0 8px;
  padding: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.2px;
  color: #002427;
}
.ch-contact .elementor-form .elementor-field-textual,
.ch-contact .elementor-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.ch-contact .elementor-form select,
.ch-contact .elementor-form textarea {
  width: 100%;
  min-height: 48px;
  height: 48px;
  padding: 0 16px;
  border: 1px solid #002427 !important;
  border-radius: 13px !important;
  background: transparent !important;
  font-family: inherit;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.22px;
  color: #002427 !important;
  box-shadow: none !important;
}
.ch-contact .elementor-form textarea.elementor-field-textual,
.ch-contact .elementor-form textarea {
  height: auto;
  min-height: 140px;
  padding: 14px 16px;
  resize: vertical;
}
.ch-contact .elementor-form .elementor-field-textual:focus,
.ch-contact .elementor-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
.ch-contact .elementor-form select:focus,
.ch-contact .elementor-form textarea:focus {
  outline: none;
  background: #002427 !important;
  color: #FFF9F0 !important;
  caret-color: #FFF9F0;
}
.ch-contact .elementor-form .elementor-field-type-radio .elementor-field-option,
.ch-contact .elementor-form .elementor-field-type-acceptance .elementor-field-option {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 500;
}
.ch-contact .elementor-form .elementor-field-type-radio .elementor-subgroup-item {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
}
.ch-contact .elementor-form .elementor-button[type="submit"],
.ch-contact .elementor-form button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 56px;
  padding: 14px 28px;
  border: 0;
  border-radius: 999px;
  background: #002427;
  color: #FFF9F0;
  font-family: inherit;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.2px;
  cursor: pointer;
}
.ch-contact .elementor-form .elementor-message {
  margin: 0;
  padding: 20px;
  border-radius: 13px;
  font-size: 18px;
  font-weight: 500;
}
.ch-contact .elementor-form .elementor-message-success {
  background: rgba(255, 246, 121, 0.55);
  color: #002427;
}
.ch-contact .elementor-form .elementor-message-danger {
  background: rgba(214, 72, 60, 0.08);
  border: 1.5px solid #D6483C;
  color: #D6483C;
}
.ch-contact__band {
  position: relative;
  max-width: 1800px;
  margin: 200px auto 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 80px;
  min-height: 433px;
}
.ch-contact__details {
  display: flex;
  align-items: flex-start;
  gap: 80px;
}
.ch-contact__details h2 {
  margin: 0 0 16px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  font-size: 40px;
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: -0.4px;
}
.ch-contact__details h2 img {
  display: block;
  width: 32px;
  height: 32px;
}
.ch-contact__details p {
  margin: 0;
  font-size: 22px;
  line-height: 1.1;
  letter-spacing: 0.22px;
}
.ch-contact__details a {
  text-decoration: none;
}
.ch-contact__chat {
  position: relative;
  flex: none;
  width: min(1023px, 58%);
  margin: 0;
  overflow: hidden;
}
.ch-contact__chat img {
  display: block;
  width: 100%;
  height: auto;
}
.ch-contact__bubble {
  position: absolute;
  left: 41.7%;
  top: 54%;
  width: 34.5%;
  margin: 0;
}
.ch-contact__bubble img {
  width: 100%;
  height: auto;
}
.ch-contact__bubble span {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 0 8px 20%;
  color: #FFF679;
  font-size: 48px;
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: -0.48px;
  white-space: nowrap;
}
@media screen and (max-width: 1280px) {
  .ch-contact {
    padding-top: 180px;
  }
  .ch-contact__grid {
    flex-direction: column;
    align-items: stretch;
    gap: 64px;
  }
  .ch-contact__hero {
    position: static;
    align-items: center;
    gap: 32px;
  }
  .ch-contact__hero h1 {
    font-size: 96px;
  }
  .ch-contact__hero p {
    text-align: left;
  }
  .ch-contact__form,
  .ch-contact__form-wrap,
  .ch-contact__form-wrap form {
    width: 100%;
  }
  .ch-contact__band {
    margin-top: 120px;
    flex-direction: column;
    align-items: flex-start;
    gap: 64px;
  }
  .ch-contact__chat {
    width: 100%;
    max-width: 720px;
  }
}
@media screen and (max-width: 767px) {
  .ch-contact {
    padding: 130px 6vw 80px;
  }
  .ch-contact__hero h1 {
    font-size: 64px;
    white-space: normal;
  }
  .ch-contact__form,
  .ch-contact__form-wrap form {
    gap: 30px;
  }
  .ch-contact__row {
    grid-template-columns: 1fr;
  }
  .ch-contact__types-grid {
    grid-template-columns: 1fr 1fr;
  }
  .ch-contact__details {
    flex-direction: column;
    gap: 40px;
  }
  .ch-contact__chat span {
    font-size: 28px;
    padding-left: 16%;
  }
}
.ch-legal {
  background: linear-gradient(180deg, #A0D0F1 0%, #ECF0F0 33%, #FFF9F0 100%);
  padding: 200px 3.125vw 80px;
}
.ch-legal__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 0;
}
.ch-legal__title {
  margin: 0 0 40px;
  font-size: 60px;
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: -0.6px;
  text-align: center;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-legal__title {
    margin: 0 0 24px 0;
  }
}
.ch-legal h3 {
  text-align: center;
  margin: 0 0 80px 0;
}
@media screen and (min-width: 50px) and (max-width: 990px) {
  .ch-legal h3 {
    margin: 0 0 24px 0;
  }
}
.ch-legal__effective,
.ch-legal__content > p:first-child {
  margin: 0 0 64px;
  text-align: center;
}
.ch-legal__content {
  font-size: 22px;
  line-height: 1.1;
  letter-spacing: 0.22px;
}
.ch-legal__content p {
  margin: 0 0 22px;
}
.ch-legal__content > p:first-child {
  margin-bottom: 64px;
}
.ch-legal__content h2,
.ch-legal__content h3,
.ch-legal__content h4 {
  margin: 44px 0 11px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.22px;
}
.ch-legal__content ul,
.ch-legal__content ol {
  margin: 0 0 22px;
  padding-left: 24px;
}
.ch-legal__content li {
  margin-bottom: 8px;
}
.ch-legal__content a {
  text-decoration: underline;
}
.ch-legal__content > :last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .ch-legal {
    padding: 130px 6vw 64px;
  }
  .ch-legal__inner {
    padding: 40px 0;
  }
  .ch-legal__title {
    margin-bottom: 40px;
    font-size: 40px;
  }
  .ch-legal__effective,
  .ch-legal__content > p:first-child {
    margin-bottom: 48px;
  }
}
.ch-error-page {
  position: relative;
  overflow: hidden;
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 200px 3.125vw 120px;
  background: linear-gradient(180deg, #A0D0F1 0%, #FFF9F0 100%);
  text-align: center;
}
.ch-error-page__deco {
  position: absolute;
  top: 50%;
  z-index: 0;
  width: 47.5%;
  max-width: 912px;
  transform: translateY(-50%);
  pointer-events: none;
}
.ch-error-page__deco img {
  display: block;
  width: 100%;
  height: auto;
}
.ch-error-page__deco--left {
  left: 0;
  transform: translateY(-50%) scaleX(-1);
}
.ch-error-page__deco--right {
  right: 0;
}
.ch-error-page__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
}
.ch-error-page__code {
  margin: 0;
  font-size: 160px;
  font-weight: 300;
  line-height: 0.8;
}
.ch-error-page__title {
  margin: 0;
  font-size: 160px;
  font-weight: 300;
  line-height: 0.8;
}
.ch-error-page__title span {
  font-weight: 400;
}
.ch-error-page__text {
  margin: 0;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: 1px;
}
.ch-error-page__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}
.ch-error-page__actions .btn svg {
  transform: scaleX(-1);
}
.ch-error-page__actions .btn.secondary svg {
  display: none;
}
@media screen and (max-width: 767px) {
  .ch-error-page {
    padding: 130px 6vw 80px;
  }
  .ch-error-page__inner {
    gap: 40px;
  }
  .ch-error-page__code {
    font-size: 96px;
  }
  .ch-error-page__title {
    font-size: 48px;
  }
  .ch-error-page__text {
    font-size: 22px;
  }
  .ch-error-page__deco {
    width: 70%;
    opacity: 0.6;
  }
}
.elementor-page #site-content,
.elementor-template-full-width #site-content {
  width: 100%;
}
.elementor-widget-ch-hero,
.elementor-widget-ch-support,
.elementor-widget-ch-photo,
.elementor-widget-ch-services,
.elementor-widget-ch-banner,
.elementor-widget-ch-mission,
.elementor-widget-ch-process,
.elementor-widget-ch-cta {
  width: 100%;
}
.conversations-health .elementor {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.ch-el-section {
  width: 100%;
  max-width: none;
}
.ch-photo__pin {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
}
.ch-photo__pin .media-holder {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.ch-photo__pin .animation-block {
  position: absolute;
  z-index: 2;
}
.home .elementor > .e-con,
.home .elementor-element.e-con,
.elementor-page-home .elementor > .e-con {
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --gap: 0px;
  max-width: none;
  width: 100%;
}
.home .elementor-widget-wrap,
.home .elementor-element.e-con > .e-con-inner {
  padding: 0;
  margin: 0;
  max-width: none;
}
.conversations-health {
  --mouse-x: 50vw;
  --mouse-y: 50vh;
  font-family: 'Darker Grotesque', sans-serif;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 400;
  color: #002427;
  background: transparent;
}
.conversations-health:before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(circle 654px at var(--mouse-x) var(--mouse-y), #A0D0F1 0%, rgba(235, 245, 251, 0) 100%);
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .conversations-health:before {
    display: none;
  }
}
.conversations-health main {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: visible;
}
.conversations-health main > * {
  width: 100%;
  min-width: 0;
}
.conversations-health .elementor,
.conversations-health .elementor-section,
.conversations-health .elementor-column,
.conversations-health .elementor-widget-wrap,
.conversations-health .e-con,
.conversations-health .e-con-inner,
.conversations-health .e-parent,
.conversations-health .e-child,
.conversations-health [class*="elementor-widget-ch-"],
.conversations-health [class*="elementor-widget-ch-"] > .elementor-widget-container {
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow: visible;
}
.conversations-health [class*="elementor-widget-ch-"] > .elementor-widget-container > [class^="ch-"] {
  width: 100%;
  min-width: 0;
}
@media (prefers-reduced-motion: reduce) {
  .conversations-health *,
  .conversations-health *:before,
  .conversations-health *:after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
@keyframes ch-spin {
  to {
    transform: rotate(360deg);
  }
}
.ch-cookie-banner {
  position: fixed;
  left: 40px;
  right: 40px;
  bottom: 32px;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px 48px;
  padding: 28px 40px;
  border-radius: 20px;
  background: linear-gradient(90deg, #EBF4FB 0%, #A0D0F1 100%);
  box-shadow: 0 6px 26px rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
}
.ch-cookie-banner[hidden] {
  display: none !important;
}
.ch-cookie-banner__text {
  margin: 0;
  flex: 1 1 auto;
  max-width: 860px;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0.22px;
  color: #002427;
}
.ch-cookie-banner__policy {
  font-weight: 700;
  color: inherit;
  text-decoration: none;
}
.ch-cookie-banner__policy:hover,
.ch-cookie-banner__policy:focus-visible {
  text-decoration: underline;
}
.ch-cookie-banner__actions {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.ch-cookie-banner__btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 0;
  padding: 14px 33px;
  border: 0;
  border-radius: 13px;
  box-shadow: none;
  font-family: inherit;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.14;
  letter-spacing: 0;
  text-align: center;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}
.ch-cookie-banner__btn--decline {
  min-width: 165px;
  background: #002427;
  color: #FFF9F0;
}
.ch-cookie-banner__btn--accept {
  min-width: 150px;
  background: #FFF679;
  color: #002427;
}
.ch-cookie-banner__btn:focus-visible {
  outline: 2px solid #002427;
  outline-offset: 3px;
}
.ch-cookie-banner__btn:hover {
  opacity: 0.92;
}
@media screen and (max-width: 1024px) {
  .ch-cookie-banner {
    left: 24px;
    right: 24px;
    bottom: 24px;
    padding: 24px;
    gap: 24px;
  }
}
@media screen and (max-width: 767px) {
  .ch-cookie-banner {
    left: 16px;
    right: 16px;
    bottom: 16px;
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    padding: 20px;
  }
  .ch-cookie-banner__text {
    font-size: 18px;
    letter-spacing: 0.18px;
    max-width: none;
  }
  .ch-cookie-banner__actions {
    width: 100%;
    gap: 12px;
  }
  .ch-cookie-banner__btn {
    flex: 1 1 50%;
    min-width: 0;
    font-size: 18px;
    padding: 12px 16px;
  }
}
.ch-cookie-settings {
  margin-top: 8px;
}
.ch-cookie-settings__intro p {
  margin: 0 0 22px;
}
.ch-cookie-settings__intro p:last-child {
  margin-bottom: 0;
}
.ch-cookie-settings__status {
  margin: 28px 0 32px;
  font-weight: 700;
}
.ch-cookie-settings__list {
  list-style: none;
  margin: 0 0 36px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.ch-cookie-settings__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px 40px;
  padding: 24px 0;
  border-bottom: 1px solid rgba(0, 36, 39, 0.25);
}
.ch-cookie-settings__row:first-child {
  border-top: 1px solid rgba(0, 36, 39, 0.25);
}
.ch-cookie-settings__row-copy {
  flex: 1 1 auto;
  min-width: 0;
}
.ch-cookie-settings__row-copy strong {
  display: block;
  margin: 0 0 8px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.1;
}
.ch-cookie-settings__row-copy p {
  margin: 0;
  max-width: 42em;
  font-size: 20px;
  line-height: 1.15;
}
.ch-cookie-settings__switch {
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.ch-cookie-settings__switch input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.ch-cookie-settings__switch-ui {
  position: relative;
  display: block;
  width: 52px;
  height: 30px;
  border-radius: 999px;
  background: rgba(0, 36, 39, 0.22);
  transition: background 0.2s ease;
}
.ch-cookie-settings__switch-ui:before {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #FFF9F0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s cubic-bezier(0.34, 0.57, 0.21, 0.99);
}
.ch-cookie-settings__switch input:checked + .ch-cookie-settings__switch-ui {
  background: #002427;
}
.ch-cookie-settings__switch input:checked + .ch-cookie-settings__switch-ui:before {
  transform: translateX(22px);
}
.ch-cookie-settings__switch input:disabled + .ch-cookie-settings__switch-ui {
  opacity: 0.7;
}
.ch-cookie-settings__switch input:focus-visible + .ch-cookie-settings__switch-ui {
  outline: 2px solid #002427;
  outline-offset: 3px;
}
.ch-cookie-settings__switch-label {
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
}
.ch-cookie-settings__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}
.ch-cookie-settings__btn--save {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 0;
  padding: 14px 28px;
  border: 1px solid #002427;
  border-radius: 13px;
  background: transparent;
  box-shadow: none;
  font-family: inherit;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.14;
  color: #002427;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}
.ch-cookie-settings__btn--save:hover {
  background: rgba(0, 36, 39, 0.08);
}
.ch-cookie-settings__btn--save:focus-visible {
  outline: 2px solid #002427;
  outline-offset: 3px;
}
@media screen and (max-width: 767px) {
  .ch-cookie-settings__row {
    flex-direction: column;
    gap: 16px;
  }
  .ch-cookie-settings__switch {
    align-items: flex-start;
  }
  .ch-cookie-settings__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .ch-cookie-settings__btn,
  .ch-cookie-settings__btn--save {
    width: 100%;
  }
}
