:root {
  --cdmc-ink: #171717;
  --cdmc-ink-deep: #29263d;
  --cdmc-ink-soft: #3d3b52;
  --cdmc-muted: #b1b1b1;

  --cdmc-blue: #385bff;
  --cdmc-blue-alt: #5170ff;
  --cdmc-red: #e9262c;
  --cdmc-yellow: #ffd336;
  --cdmc-slate: #5b6a8c;

  --cdmc-surface: #ededed;
  --cdmc-surface-soft: #f2f2f0;
  --cdmc-surface-card: #fcfcfb;
  --cdmc-surface-places: #d8ebfd;
  --cdmc-white: #fff;

  --cdmc-radius: 14px;
  --cdmc-border: 1px solid var(--cdmc-ink);
  --cdmc-font: "Google Sans Flex", sans-serif;
  --cdmc-gap: 20px;
  --cdmc-section-gap: 64px;
  --cdmc-max: 1344px;
  --cdmc-tri-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='19' viewBox='0 0 14 19'%3E%3Cpath d='M12.2637 7.56374C13.2772 8.36449 13.2772 9.90163 12.2637 10.7024L3.23985 17.8317C1.92841 18.8678 0 17.9337 0 16.2624L0 2.00372C0 0.332366 1.92841 -0.601716 3.23986 0.4344L12.2637 7.56374Z'/%3E%3C/svg%3E");
}
.cdmc-section {
  box-sizing: border-box;
  width: 100%;
  font-family: var(--cdmc-font);
  color: var(--cdmc-ink);
}
.cdmc-section *,
.cdmc-section *::before,
.cdmc-section *::after {
  box-sizing: border-box;
}
.cdmc-section img {
  display: block;
  max-width: 100%;
}
.cdmc-section a {
  text-decoration: none;
  color: inherit;
}
.cdmc-tri {
  display: inline-block;
  flex: 0 0 auto;
  width: 0.737em;
  height: 1em;
  background-color: var(--cdmc-blue);
  -webkit-mask: var(--cdmc-tri-shape) no-repeat center / contain;
  mask: var(--cdmc-tri-shape) no-repeat center / contain;
}
.cdmc-tri--left {
  transform: scaleX(-1);
}
.cdmc-tri--down {
  transform: rotate(90deg);
}
.cdmc-tri--red {
  background: var(--cdmc-red);
}
.cdmc-tri--yellow {
  background: var(--cdmc-yellow);
}
.cdmc-tri--slate {
  background: var(--cdmc-slate);
}
.cdmc-tri--ink {
  background: var(--cdmc-ink-soft);
}
.cdmc-tri--white {
  background: var(--cdmc-white);
}
.cdmc-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 0 0 22px;
  font-size: 40px;
  font-family: var(--cdmc-font);
  line-height: 1.25;
  font-weight: 700;
  text-align: center;
}
.cdmc-heading .cdmc-tri {
  font-size: 30px;
}
.cdmc-heading em {
  font-style: normal;
  color: var(--cdmc-blue);
}
.cdmc-subheading {
  max-width: 1074px;
  margin: 0 auto 28px;
  font-size: 20px;
  line-height: 1.4;
  text-align: center;
  font-family: var(--cdmc-font);
  color: #171717;
}
.cdmc-carousel {
  position: relative;
  padding: 0 44px;
}

.cdmc-carousel__viewport {
  overflow: hidden;
}
.cdmc-carousel__track {
  display: flex;
  gap: var(--cdmc-gap);
  will-change: transform;
  touch-action: pan-y;
}
.cdmc-carousel__track > * {
  scroll-snap-align: start;
}
.cdmc-carousel__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 50px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  font-size: 46px;
  line-height: 0;
}
.cdmc-carousel__btn[disabled] {
  opacity: 0.25;
  cursor: default;
}
.cdmc-carousel__btn--prev {
  left: 0;
}
.cdmc-carousel__btn--next {
  right: 0;
}
.cdmc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 37px;
  padding: 10px 22px;
  border-radius: var(--cdmc-radius);
  background: var(--cdmc-white);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  color: #120a23;
  cursor: pointer;
}
.cdmc-btn--outline {
  border: 1px solid var(--cdmc-ink-soft);
  background: transparent;
  color: var(--cdmc-ink-soft);
}
.cdmc-stars {
  display: inline-flex;
  gap: 2px;
  vertical-align: middle;
}
.cdmc-stars svg {
  display: block;
  width: 1em;
  height: 1em;
  fill: var(--cdmc-blue-alt);
}
@media (max-width: 991px) {
  :root {
    --cdmc-section-gap: 44px;
  }
  .cdmc-heading {
    font-size: 30px;
  }
}
@media (max-width: 767px) {
  .cdmc-heading {
    font-size: 24px;
    gap: 12px;
  }
  .cdmc-subheading {
    font-size: 16px;
  }
  .cdmc-carousel {
    padding: 0 28px;
  }
  .cdmc-carousel__btn {
    width: 20px;
    height: 40px;
    font-size: 30px;
  }
}
