@font-face {
  font-family: icomoon;
  src: url("../theme/icomoon.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

.page-main {
  flex: 1 0 auto;
}

.cb--mist { background: #f4f7fa; }

.cb--navy {
  background: linear-gradient(53deg, #01346a 0, #01346a 16%, #003e73 16%, #002556 47%, #000e3c 65%, #001441 75%, #000634 75%, #000534 100%);
  color: #fff;
}

.cb--navy h2,
.cb--navy h3,
.cb--navy a { color: #fff; }

.cb--teal {
  background: #00abb6;
  color: #003469;
}

.cb--teal h2 { color: #003469; }

.cb__kicker {
  font-size: var(--font-size--xs);
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #00abb6;
  margin-bottom: 1.2rem;
}

.cb--navy .cb__kicker { color: #00abb6; }
.cb__kicker--purple { color: #a967aa; }
.cb__kicker--orange { color: #c56b12; }

.cb__lead {
  max-width: 62rem;
  margin: 1.2rem 0 3.2rem;
  font-size: var(--font-size);
  line-height: 1.35;
}

.cb--navy .cb__lead { color: rgba(255,255,255,.86); }

.wysiwyg-styling p + p { margin-top: 1.2rem; }

.card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gutter);
}

@media (min-width: 769px) {
  .card-grid--3 { grid-template-columns: repeat(3, 1fr); }
  .card-grid--2 { grid-template-columns: repeat(2, 1fr); }
  .card-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

.mm-card {
  background: #fff;
  border: 1px solid #e4eaf0;
  border-radius: 1.2rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  min-height: 100%;
}

a.mm-card:hover { border-color: #00abb6; }

.mm-card__media {
  height: 22rem;
  overflow: hidden;
  background: #003469;
}

.mm-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.mm-card__body { padding: 2.4rem; display: flex; flex-direction: column; gap: 1.2rem; flex: 1; }

.mm-card__body p { color: #4d5d73; }

.mm-card--azure { border-top: 6px solid #a967aa; }
.mm-card--sovereign { border-top: 6px solid #00abb6; }
.mm-card--database { border-top: 6px solid #00abb6; }

.mm-card__more {
  margin-top: auto;
  font-weight: 700;
  color: #003469;
  text-transform: uppercase;
  font-size: var(--font-size--s);
}

.quote-block {
  max-width: 82rem;
  margin: 0 auto;
  text-align: center;
}

.quote-block blockquote {
  margin: 0 0 1.6rem;
  font-size: var(--font-size--m);
  font-weight: 700;
  color: #003469;
  line-height: 1.3;
  text-transform: none;
}

.quote-block cite {
  font-style: normal;
  font-weight: 700;
  color: #4d5d73;
}

.fact {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1.2rem;
  padding: 2rem;
}

.fact strong {
  display: block;
  font-size: var(--font-size--l);
  color: #fff;
  text-transform: uppercase;
}

.fact p { color: rgba(255,255,255,.78); margin-top: .8rem; }

.checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.2rem;
}

.checklist li { padding-left: 2.4rem; position: relative; }

.checklist li:before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: #00abb6;
}

.checklist--purple li:before { background: #a967aa; }

.steps { display: grid; gap: 2rem; }

.step { display: grid; grid-template-columns: 5.2rem 1fr; gap: 1.6rem; }

.step__num {
  width: 5.2rem;
  height: 5.2rem;
  border-radius: 1.2rem;
  background: #a967aa;
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: var(--font-size--m);
}

.photo-split {
  display: grid;
  gap: var(--gutter-double);
  align-items: center;
}

@media (min-width: 769px) {
  .photo-split { grid-template-columns: 1.05fr .95fr; }
}

.photo-frame {
  border-radius: 0 5rem 0 0;
  overflow: hidden;
  min-height: 40rem;
  background: #003469;
}

.photo-frame img {
  width: 100%;
  height: 100%;
  min-height: 40rem;
  object-fit: cover;
  display: block;
}

.form-card {
  background: #fff;
  border-radius: 1.6rem;
  padding: 2.8rem;
  box-shadow: 0 2rem 5rem rgba(0,4,52,.12);
}

.form-card form { display: grid; gap: 1.4rem; }

.form-card label {
  display: grid;
  gap: .6rem;
  font-weight: 700;
  color: #003469;
  font-size: var(--font-size--s);
  text-transform: uppercase;
}

.form-card input,
.form-card select,
.form-card textarea {
  width: 100%;
  border: 1px solid #d7e0ea;
  border-radius: 1.2rem;
  padding: 1.2rem 1.4rem;
  font: inherit;
  color: #1e1e1e;
  text-transform: none;
  font-weight: 400;
}

.form-card textarea { min-height: 14rem; resize: vertical; }

.form-note { font-size: var(--font-size--xs); color: #4d5d73; text-transform: none; font-weight: 400; }

.hp { position: absolute; left: -9999px; }

.page-footer {
  background: #000434;
  color: rgba(255,255,255,.78);
  margin-top: auto;
}

.page-footer-inner { padding: 0; }

.page-footer-inner__logo {
  display: block;
  margin-bottom: 3rem;
}

.page-footer-inner__logo img { width: 24.5rem; height: auto; }

.page-footer__column-title {
  color: #fff;
  font-size: var(--font-size--s);
  margin-bottom: 1.2rem;
}

.page-footer ul { list-style: none; margin: 0; padding: 0; }

.page-footer a { color: #fff; text-decoration: none; }

.page-footer a:hover { color: #f99f3f; }

.page-footer-inner__partners {
  display: block;
  width: 100%;
  max-width: 54rem;
  aspect-ratio: 3.75 / 1;
  object-fit: cover;
  object-position: left center;
  margin-left: auto;
}

.page-footer-bottom {
  border-top: 0;
  padding: 3rem 0 0;
}

.page-footer-bottom__copyright {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  flex-wrap: wrap;
  font-size: var(--font-size--xs);
}

.page-footer-bottom a { margin-right: 1.5rem; }

/* The original footer does not carry a second product navigation bar. */
.page-footer-services { display: none; }

.home-help .cb__content__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.2rem;
}

#services {
  scroll-margin-top: 10rem;
}

.home-help .cb__content__title a,
.cb__kicker a {
  color: inherit;
  text-decoration: none;
}

.home-help .cb__content__title a:hover,
.cb__kicker a:hover {
  text-decoration: underline;
}

.page-footer .socials a { font-size: 2.4rem; }

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

@media (max-width: 360px) {
  .page-footer-inner .o-layout,
  .page-footer-inner .o-layout .o-layout {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }

  .page-footer-inner .o-layout__item {
    width: 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
  }

  .page-footer-inner__partners,
  .page-footer-inner__logo img,
  .home .post__content-separator {
    max-width: 100%;
  }
}

.page-header__hero-content__intro { color: #fff; }
.page-header__hero-content__intro p { color: #fff; }

.page-header__top-inner__nav {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  min-width: 0;
  overflow: visible;
  gap: 1.2rem;
}

.page-header__top-inner__nav .mmenu__button { order: 2; }
.page-header__top-inner__nav .lang-switch { order: 1; }
.page-header__top-inner__nav .mmenu { order: 3; }

.page-header__top,
.page-header__top-inner {
  overflow: visible;
}

.page-header__hero-content .domain-logo {
  display: block;
  width: min(50rem, 88%);
  height: auto;
  max-width: none;
}

.domain-logo-heading {
  margin: 0;
  padding: 0;
}

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

.page-header__hero-content .domain-logo[src$="logo-analytics.svg"] {
  width: min(60rem, 88%);
}

.post--border.group-data {
  background: linear-gradient(180deg, #00abb6 0, #033e79 70.67%) !important;
}

.anim-fadein,
img.swiper-lazy,
.swiper-container,
.swiper {
  opacity: 1 !important;
}

.cb-cards--image-icon .post__image img {
  opacity: 1 !important;
}

.cb-reviews {
  overflow: visible;
}

.cb-reviews .swiper-container,
.cb-reviews .swiper-wrapper {
  transform: none !important;
  height: auto !important;
  overflow: visible !important;
}

.cb-reviews .swiper-wrapper {
  display: block !important;
}

.cb-reviews .swiper-slide + .swiper-slide {
  display: none !important;
}

.cb-reviews .swiper-nav,
.cb-reviews .swiper-pagination {
  display: none;
}

.cb-reviews .post--review,
.cb-reviews .post--review .post__content {
  overflow: visible;
  height: auto;
}

.lang-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin: 0;
  flex-shrink: 0;
  z-index: 60;
  min-height: 3.2rem;
  padding: .45rem 1.2rem;
  border-radius: 10rem;
  background: rgba(217, 217, 217, .2);
}

@media (min-width: 941px) {
  .lang-switch {
    position: absolute;
    top: 50%;
    right: max(2.4rem, env(safe-area-inset-right, 0px));
    transform: translateY(-50%);
  }
}

@media (min-width: 941px) and (max-width: 1600px) {
  .lang-switch {
    min-height: 2.8rem;
    padding: .25rem .3rem;
    gap: 0;
  }
  .lang-switch__code {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
  .lang-switch a {
    width: 1.6rem;
    padding: .1rem 0;
    justify-content: center;
    gap: 0;
  }
  .lang-switch__flag {
    width: 1.2rem;
    height: 1.2rem;
  }
}

.lang-switch a {
  position: relative;
  height: auto;
  padding: .2rem .45rem;
  border-radius: 10rem;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-weight: 400;
  font-size: 1.4rem;
  letter-spacing: 0;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .15s ease;
}

.lang-switch__flag {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 0 0 1px rgba(255,255,255,.22);
  background: #012169;
}

.lang-switch__flag svg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lang-switch a:hover,
.lang-switch a:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, .16);
}

.lang-switch a.is-active {
  background: #fff;
  color: #003469;
}

@media (max-width: 768px) {
  .lang-switch {
    min-height: 2.8rem;
    padding: .3rem .8rem;
    gap: .2rem;
  }
  .lang-switch a { font-size: 1.2rem; padding: .15rem .3rem; }
  .lang-switch__flag { width: 1.3rem; height: 1.3rem; }
}

@media (max-width: 576px) {
  .lang-switch__code { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .lang-switch a { width: 2.6rem; padding: .15rem 0; justify-content: center; }
}

@media (max-width: 1199px) {
  .page-header__top-inner__logo {
    min-width: 0;
    width: 15rem;
    height: 4.4rem;
    margin-right: 1rem;
    flex: 0 1 15rem;
  }

  .page-header__top-inner__nav {
    margin-left: auto;
    gap: .8rem;
  }

  .lang-switch__code {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .lang-switch a {
    width: 2.2rem;
    padding: .15rem 0;
    justify-content: center;
  }
}

@media (min-width: 942px) and (max-width: 1199px) {
  .lang-switch {
    top: 7rem;
    right: max(2.4rem, env(safe-area-inset-right, 0px));
    transform: none;
    background: rgba(0, 4, 52, .88);
  }
}

@media (max-width: 941px) {
  .mmenu {
    right: auto;
    left: calc(100vw - min(35rem, 100vw));
    width: min(35rem, 100vw);
    transform: translateX(100%);
  }

  .mmenu--open .mmenu {
    transform: translateX(0);
  }

  .lang-switch {
    position: relative;
    top: auto;
    right: auto;
    transform: none;
  }
}

@media (max-width: 480px) {
  .page-header__top-inner__logo {
    width: 12.5rem;
    height: 3.8rem;
    margin-right: 0;
    flex-basis: 12.5rem;
  }

  .page-header__top-inner { gap: .6rem; }
  .page-header__top-inner__nav { gap: .6rem; }

  .lang-switch {
    min-height: 2.4rem;
    padding: .2rem .3rem;
    gap: .1rem;
  }

  .lang-switch a { width: 1.9rem; }
  .lang-switch__flag { width: 1.2rem; height: 1.2rem; }
}

.article {
  max-width: 82rem;
  margin: 0 auto;
}

.article-meta {
  color: #4d5d73;
  margin: 0 0 2.8rem;
  font-size: var(--font-size--s);
}

.article h2 {
  margin: 3.2rem 0 1.2rem;
}

.article p { margin: 0 0 1.6rem; }

.article ul {
  margin: 0 0 2rem 2rem;
}

.article li { margin-bottom: .8rem; }

.blog-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gutter);
}

@media (min-width: 769px) {
  .blog-grid { grid-template-columns: repeat(3, 1fr); }
}

.blog-card__media {
  height: 20rem;
  overflow: hidden;
  background: #003469;
}

.blog-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.page-header__hero .button,
.page-header__hero .button--default {
  background: #fff !important;
  color: #003469 !important;
}

.page-header__hero .button span,
.page-header__hero .button--default span {
  color: #003469 !important;
}

.page-header__hero .button:hover,
.page-header__hero .button--default:hover {
  background: #00abb6 !important;
  color: #fff !important;
}

.page-header__hero .button:hover span,
.page-header__hero .button--default:hover span {
  color: #fff !important;
}

.product-page .page-header__hero-content__header {
  max-width: 24ch;
}

.product-page .page-header__hero-content__intro {
  max-width: 54rem;
}

.product-page .product-how {
  padding-top: clamp(96px, 7vw, 120px);
  padding-bottom: clamp(96px, 7vw, 120px);
}

.product-page .product-how .cb__heading {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(5.6rem, 4.4vw, 8.8rem);
  max-width: 70rem;
}

.product-page .product-how .cb__heading-title,
.product-page .product-how .cb__heading-intro {
  color: #fff;
}

.product-page .product-how .cb__heading-intro {
  opacity: .86;
}

.product-page .cb__heading {
  margin-bottom: clamp(4.4rem, 3vw, 6.4rem);
}

.product-page main > .cb.cb-bg-color--default + .cb.cb-bg-color--default,
.services-page main > .cb.cb-bg-color--default + .cb.cb-bg-color--default {
  padding-top: var(--cb-spacer) !important;
}

.services-page .cb__heading {
  margin-bottom: clamp(4.4rem, 3vw, 6.4rem);
}

.services-page .offers-row .post--border .post__content {
  min-height: 22rem;
}

:is(.page-template-template-devops, .page-template-template-data, .page-template-template-analytics) #services {
  padding-top: calc(30rem + clamp(4rem, 3.5vw, 5.6rem));
  padding-bottom: clamp(3.2rem, 2.5vw, 4.8rem);
}

/* Localized domain pages use a compact intro instead of the overlapping
   English card section, so they do not need the English 30rem compensation. */
.domain-localized-intro + #services {
  padding-top: var(--cb-spacer);
}

:is(.page-template-template-devops, .page-template-template-data, .page-template-template-analytics) #services + .cb-reviews {
  padding-top: clamp(3.2rem, 2.5vw, 4.8rem);
  padding-bottom: clamp(3.2rem, 2.5vw, 4.8rem);
}

.page-template-template-devops #services > .o-container > h2 {
  max-width: 86rem;
  margin-bottom: 1.6rem;
}

.page-template-template-devops #services > .o-container > .cb__lead {
  max-width: 72rem;
  margin-bottom: clamp(4rem, 3.5vw, 6rem);
}

.product-page .cb-text-and-text .post--border .post__content,
.services-page .cb-text-and-text .post--border .post__content {
  display: flex;
  align-items: center;
  padding: 3.2rem 3.2rem;
  min-height: 100%;
}

.product-page .product-open-list,
.services-page .product-open-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.6rem;
  text-align: left;
}

.product-page .product-open-list li,
.services-page .product-open-list li {
  position: relative;
  padding-left: 2.2rem;
  color: #fff;
  line-height: 1.35;
}

.product-page .product-open-list li::before,
.services-page .product-open-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: .8rem;
  height: .8rem;
  border-radius: 50%;
  background: currentColor;
}

.product-page .group-devops .product-open-list li::before,
.services-page .group-devops .product-open-list li::before { background: #a967aa; }
.product-page .group-data .product-open-list li::before,
.services-page .group-data .product-open-list li::before { background: #00abb6; }
.product-page .group-analytics .product-open-list li::before,
.services-page .group-analytics .product-open-list li::before { background: #f99f3f; }

.product-open {
  display: grid;
  gap: var(--gutter-double);
  align-items: start;
}

@media (min-width: 769px) {
  .product-open { grid-template-columns: 1.15fr .85fr; }
}

.product-open .checklist {
  background: #f4f7fa;
  border-radius: 1.2rem;
  padding: 2.8rem 2.4rem;
}

.product-open .cb__actions { margin-top: 2.4rem; }

.product-page,
.services-page {
  --service-accent: #00abb6;
}

.product-page .group-devops,
.services-page .group-devops { --service-accent: #a967aa; }
.product-page .group-data,
.services-page .group-data { --service-accent: #00abb6; }
.product-page .group-analytics,
.services-page .group-analytics { --service-accent: #f99f3f; }

.product-page .button--default,
.services-page .button--default {
  max-width: 100%;
  min-height: 4rem !important;
  height: auto;
  padding-top: .9rem !important;
  padding-bottom: .9rem !important;
  white-space: normal !important;
  text-align: center;
}

.service-hero-action {
  margin-top: 2.4rem;
}

.service-hero-action__note {
  max-width: 48rem;
  margin-top: 1.2rem;
  color: #fff;
  font-size: var(--font-size--s);
  line-height: 1.35;
  opacity: .88;
}

.services-page .page-header__hero-content__header {
  max-width: 18ch;
}

.service-summary-section .cb__kicker {
  margin-bottom: .8rem;
}

.service-summary__title {
  max-width: 90rem;
  margin-bottom: 1.6rem;
}

.service-summary__lead {
  max-width: 80rem;
  margin-bottom: clamp(3.2rem, 3vw, 5.2rem);
  color: #38495d;
}

.service-summary {
  display: grid;
  grid-template-columns: 1fr;
  border: 1px solid #dce5ed;
  border-radius: 1.2rem;
  overflow: hidden;
  background: #fff;
}

.service-summary__item {
  position: relative;
  padding: 2.4rem;
  border-top: 5px solid var(--service-accent);
  min-width: 0;
}

.service-summary__item + .service-summary__item {
  border-top-color: #dce5ed;
}

.service-summary__item h3 {
  margin-bottom: 1rem;
  font-size: var(--font-size--s);
  color: #003469;
}

.service-summary__item p {
  color: #38495d;
}

.service-summary__start {
  display: grid;
  gap: .8rem;
  margin-top: 1.6rem;
  padding: 2rem 2.4rem;
  border-left: .6rem solid var(--service-accent);
  border-radius: .6rem 1.2rem 1.2rem .6rem;
  background: #f4f7fa;
  color: #38495d;
}

.service-summary__start strong {
  color: #003469;
  font-size: var(--font-size--s);
  text-transform: uppercase;
}

.service-approach:not(.service-approach--light),
.service-jobs {
  color: #fff;
}

.service-approach:not(.service-approach--light) h2,
.service-approach:not(.service-approach--light) h3,
.service-jobs h2,
.service-jobs h3 {
  color: #fff;
}

.service-approach__layout {
  display: grid;
  gap: clamp(3.2rem, 5vw, 7.2rem);
}

.service-approach__heading p {
  margin-top: 1.6rem;
  max-width: 56rem;
  color: inherit;
  opacity: .86;
}

.service-sequence {
  display: grid;
  min-width: 0;
}

.service-step {
  display: grid;
  grid-template-columns: 5.2rem minmax(0, 1fr);
  gap: 1.6rem;
  padding: 2.4rem 0;
  border-top: 1px solid rgba(255,255,255,.24);
}

.service-step:last-child {
  border-bottom: 1px solid rgba(255,255,255,.24);
}

.service-step__number {
  color: var(--service-accent);
  font-size: var(--font-size--l);
  font-weight: 700;
  line-height: 1;
}

.service-step h3 { margin-bottom: .8rem; }
.service-step p { color: inherit; opacity: .86; }

.service-approach__note {
  margin-top: 3.2rem;
  padding: 2.2rem 2.4rem;
  border-left: .6rem solid var(--service-accent);
  background: rgba(255,255,255,.1);
  color: #fff;
}

.service-approach__note strong {
  display: block;
  margin-bottom: .6rem;
  color: #fff;
  font-size: var(--font-size--m);
  text-transform: uppercase;
}

.service-approach--light {
  background: #f4f7fa !important;
}

.service-approach--light .service-approach__heading p,
.service-approach--light .service-step p {
  color: #38495d;
  opacity: 1;
}

.service-approach--light .service-step {
  padding: 2.4rem;
  border: 1px solid #dce5ed;
  border-top: 5px solid var(--service-accent);
  border-radius: 1.2rem;
  background: #fff;
}

.service-offers .cb__heading,
.service-jobs .cb__heading {
  max-width: 72rem;
}

.service-offers__note {
  max-width: 82rem;
  margin: 3.2rem auto 0;
  padding: 2.2rem 2.4rem;
  border-left: .6rem solid var(--service-accent);
  background: #f4f7fa;
  color: #38495d;
}

.service-jobs .cb__heading-title,
.service-jobs .cb__heading-intro {
  color: #fff;
}

.service-jobs .cb__heading-intro { opacity: .86; }

.service-deliverables__layout {
  display: grid;
  gap: var(--gutter-double);
  align-items: start;
}

.service-checklist {
  display: grid;
  gap: 1.4rem;
  list-style: none;
  margin: 2.4rem 0 0;
  padding: 0;
}

.service-checklist li {
  position: relative;
  padding-left: 2.6rem;
}

.service-checklist li::before {
  content: "";
  position: absolute;
  top: .55em;
  left: 0;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: var(--service-accent);
}

.service-technologies {
  padding: 2.8rem;
  border-top: .6rem solid var(--service-accent);
  border-radius: 1.2rem;
  background: #003469;
  color: #fff;
}

.service-technologies h3 {
  margin-bottom: 1.2rem;
  color: #fff;
}

.service-technologies__cta {
  display: inline-flex;
  max-width: 100%;
  margin-top: 2.4rem;
  white-space: normal !important;
  text-align: center;
}

.service-proof__inner {
  display: grid;
  gap: var(--gutter);
  align-items: center;
  padding: 3.2rem;
  border-radius: 1.2rem;
  background: #f4f7fa;
}

.service-proof__inner h2 { margin-bottom: 1.2rem; }

.service-proof__names {
  color: #003469;
  font-size: var(--font-size--m);
  font-weight: 700;
  text-transform: uppercase;
}

.service-related__list {
  border-top: 1px solid #cfdbe5;
}

.service-related__item {
  display: grid;
  gap: 1.2rem;
  padding: 2.4rem 0;
  border-bottom: 1px solid #cfdbe5;
  color: #003469;
  text-decoration: none;
}

.service-related__item > span:first-child {
  display: grid;
  gap: .6rem;
}

.service-related__item strong {
  font-size: var(--font-size--m);
  text-transform: uppercase;
}

.service-related__item > span:first-child span {
  color: #38495d;
}

.service-related__action {
  align-self: center;
  font-weight: 700;
  text-transform: uppercase;
}

.service-related__item:hover .service-related__action {
  color: #00abb6;
}

.service-why__layout {
  display: grid;
  gap: var(--gutter-double);
  align-items: start;
}

.service-choice-list {
  display: grid;
  gap: 1.6rem;
}

.product-filters {
  margin: 0 0 clamp(3.2rem, 3vw, 4.8rem);
}

[data-product-domain][hidden] {
  display: none !important;
}

.product-component__footer {
  margin-top: clamp(2.4rem, 2.5vw, 4rem);
}

.product-component__footer a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.6rem;
  width: 100%;
  padding: 1.8rem 0;
  border-top: 1px solid #d3dee8;
  border-bottom: 1px solid #d3dee8;
  color: #003469;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
}

.product-component__footer-domains {
  display: flex;
  align-items: center;
  gap: .8rem;
}

.product-component__footer-domain {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
}

.product-component__footer-domain--devops {
  border-radius: .2rem;
  background: #a967aa;
}

.product-component__footer-domain--data {
  border-radius: 50%;
  background: #00abb6;
}

.product-component__footer-domain--analytics {
  background: #f99f3f;
  transform: rotate(45deg) scale(.76);
}

.product-component__footer-arrow {
  display: grid;
  place-items: center;
  width: 3.6rem;
  height: 3.6rem;
  border: 2px solid #003469;
  border-radius: 50%;
  line-height: 1;
  transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.product-component__footer a:hover .product-component__footer-arrow,
.product-component__footer a:focus-visible .product-component__footer-arrow {
  background: #003469;
  color: #fff;
  transform: translateX(.4rem);
}

@media (max-width: 480px) {
  .product-component__footer a {
    gap: 1.2rem;
    padding: 1.6rem 0;
  }

  .product-component__footer-domains { gap: .5rem; }
  .product-component__footer-domain { width: 1.2rem; height: 1.2rem; }
}

.service-choice {
  position: relative;
  display: grid;
  gap: 2rem;
  min-width: 0;
  padding: 2.4rem 2.4rem 2.4rem 3rem;
  border: 1px solid #dce5ed;
  border-radius: 1.2rem;
  background: #fff;
  color: #003469;
  text-decoration: none;
  overflow: hidden;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.service-choice:hover {
  border-color: var(--service-accent);
  transform: translateY(-2px);
  box-shadow: 0 1.2rem 3rem rgba(0, 52, 105, .1);
}

.service-choice__rail {
  position: absolute;
  inset: 0 auto 0 0;
  width: .8rem;
  background: var(--service-accent);
}

.service-choice__content {
  display: grid;
  gap: .8rem;
  min-width: 0;
}

.service-choice__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 1.2rem;
  font-size: var(--font-size--s);
  text-transform: uppercase;
}

.service-choice__meta span { color: var(--service-accent); font-weight: 700; }

.service-choice__problem {
  font-size: var(--font-size--m);
  font-weight: 700;
  line-height: 1.18;
  text-transform: uppercase;
}

.service-choice__text { color: #38495d; }

.service-choice__action {
  align-self: center;
  font-weight: 700;
  text-transform: uppercase;
}

.service-start__grid {
  display: grid;
  gap: var(--gutter);
}

.service-start__item {
  padding: 2.4rem;
  border: 1px solid #dce5ed;
  border-top: .6rem solid var(--service-accent);
  border-radius: 1.2rem;
}

.service-start__item h3 { margin-bottom: 1rem; }
.service-start__item p { color: #38495d; }

.service-overview-proof__customers {
  max-width: 96rem;
  margin: 0 auto clamp(4rem, 5vw, 7.2rem);
  text-align: left;
}

.service-overview-proof__customers h2 { margin-bottom: 1.4rem; }

.health-check-feature {
  scroll-margin-top: 12rem;
}

.health-check-feature__panel {
  position: relative;
  display: grid;
  min-height: 38rem;
  border: 1px solid #dce5ed;
  border-radius: 1.6rem;
  background: #000434;
  color: #fff;
  text-decoration: none;
  overflow: hidden;
  box-shadow: 0 1.4rem 3.6rem rgba(0, 52, 105, .12);
}

.health-check-feature__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
  padding: clamp(3.2rem, 5vw, 6.4rem);
  background: linear-gradient(100deg, #000434 4%, #003469 100%);
}

.health-check-feature .cb__kicker {
  margin-bottom: 1rem;
  color: #00abb6;
}

.health-check-feature__title {
  max-width: 15ch;
  color: #fff;
  font-size: var(--font-size--xl);
  line-height: 1;
  text-transform: uppercase;
}

.health-check-feature__text {
  max-width: 62rem;
  margin-top: 1.8rem;
  font-size: var(--font-size--m);
  line-height: 1.35;
}

.health-check-feature__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem 1.8rem;
  margin-top: 2rem;
  color: rgba(255,255,255,.82);
  font-size: var(--font-size--s);
}

.health-check-feature__meta span {
  display: flex;
  align-items: center;
  gap: .8rem;
}

.health-check-feature__meta span::before {
  width: .8rem;
  height: .8rem;
  border-radius: 50%;
  background: #00abb6;
  content: "";
}

.health-check-feature__meta span:nth-child(2)::before { background: #f99f3f; }
.health-check-feature__meta span:nth-child(3)::before { background: #a967aa; }

.health-check-feature__action {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  margin-top: 2.8rem;
  padding-bottom: .5rem;
  border-bottom: 2px solid #00abb6;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
}

.health-check-feature__action span {
  transition: transform .2s ease;
}

.health-check-feature__panel:hover .health-check-feature__action span,
.health-check-feature__panel:focus-visible .health-check-feature__action span {
  transform: translateX(.5rem);
}

.health-check-feature__visual {
  position: relative;
  min-height: 28rem;
  overflow: hidden;
}

.health-check-feature__visual::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,4,52,.08), rgba(0,4,52,.35));
  content: "";
}

.page-main .health-check-feature__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 68% center;
  transition: transform .45s ease;
}

.health-check-feature__panel:hover .health-check-feature__visual img,
.health-check-feature__panel:focus-visible .health-check-feature__visual img {
  transform: scale(1.025);
}

@media (min-width: 769px) {
  .service-summary { grid-template-columns: repeat(3, 1fr); }
  .service-summary__item + .service-summary__item {
    border-top: 5px solid var(--service-accent);
    border-left: 1px solid #dce5ed;
  }
  .service-deliverables__layout { grid-template-columns: minmax(0, 1.25fr) minmax(26rem, .75fr); }
  .service-proof__inner { grid-template-columns: minmax(0, 1.4fr) minmax(24rem, .6fr); }
  .service-related__item { grid-template-columns: minmax(0, 1fr) auto; }
  .service-why__layout { grid-template-columns: minmax(24rem, .75fr) minmax(0, 1.25fr); }
  .service-choice { grid-template-columns: minmax(0, 1fr) auto; padding: 2.8rem 3.2rem 2.8rem 4rem; }
  .service-start__grid { grid-template-columns: repeat(3, 1fr); }
  .health-check-feature__panel { grid-template-columns: minmax(0, 1.05fr) minmax(32rem, .95fr); }
}

@media (min-width: 941px) {
  .service-approach--split .service-approach__layout { grid-template-columns: minmax(26rem, .7fr) minmax(0, 1.3fr); }
  .service-approach--timeline .service-approach__heading { max-width: 72rem; margin-bottom: 4rem; }
  .service-approach--timeline .service-approach__layout { display: block; }
  .service-approach--timeline .service-sequence,
  .service-approach--wave .service-sequence { grid-template-columns: repeat(4, 1fr); gap: var(--gutter); }
  .service-approach--wave .service-sequence { grid-template-columns: repeat(3, 1fr); }
  .service-approach--timeline .service-step,
  .service-approach--wave .service-step { grid-template-columns: 1fr; align-content: start; }
  .service-approach--timeline .service-step { padding: 2.4rem; border: 1px solid rgba(255,255,255,.24); border-top: 5px solid var(--service-accent); border-radius: 1.2rem; }
}

@media (max-width: 768px) {
  .service-choice__action { margin-top: .4rem; }
  .service-related__action { margin-top: .4rem; }
  .service-step { grid-template-columns: 4.2rem minmax(0, 1fr); }
  .service-step__number { font-size: var(--font-size--m); }
}

@media (max-width: 480px) {
  .service-choice { padding: 2.2rem 2rem 2.2rem 2.8rem; }
  .service-summary__item,
  .service-start__item,
  .service-technologies,
  .service-proof__inner { padding: 2rem; }
  .health-check-feature__panel { min-height: 0; }
  .health-check-feature__content { padding: 3.2rem 2.4rem; }
  .health-check-feature__title { font-size: var(--font-size--l); }
  .health-check-feature__visual { min-height: 22rem; }
}

.cb-reviews .cb__actions {
  display: flex;
  justify-content: center;
  margin-top: 2.8rem;
}

.home .logo-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 3.2rem 4.8rem;
}

.home .logo-row img {
  height: 4.8rem;
  width: auto;
  max-width: 16rem;
  object-fit: contain;
}

.home .swiper6-container .swiper-slide + .swiper-slide,
.home .swiper-nav,
.home .swiper-pagination {
  display: none;
}

.cb__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 2.4rem;
}

.audience-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gutter);
}

@media (min-width: 769px) {
  .audience-grid { grid-template-columns: repeat(3, 1fr); }
}

.audience {
  background: #fff;
  border: 1px solid #e4eaf0;
  border-radius: 1.2rem;
  padding: 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.audience--platforms { border-top: 6px solid #a967aa; }
.audience--retail { border-top: 6px solid #f99f3f; }
.audience--public { border-top: 6px solid #00abb6; }

.audience p { color: #4d5d73; }

.audience__names {
  margin-top: auto;
  font-size: var(--font-size--s);
  font-weight: 700;
  color: #003469;
}

.who-not {
  margin-top: 2.4rem;
  max-width: 78rem;
  color: #4d5d73;
}

.route {
  display: grid;
  gap: 2rem;
}

@media (min-width: 769px) {
  .route { grid-template-columns: repeat(4, 1fr); gap: var(--gutter); }
  .route .step { grid-template-columns: 1fr; }
}

.route .step__num { margin-bottom: .4rem; }
.route h3 { margin-bottom: .6rem; }
.route p { color: #4d5d73; }

.related-strip {
  display: grid;
  gap: var(--gutter);
}

@media (min-width: 769px) {
  .related-strip { grid-template-columns: repeat(2, 1fr); }
}

.home .page-blocks { overflow: visible; }

/* Keep the closing CTA out of cosmetic "banner" filters while matching the
   official component at every breakpoint. */
.cb-next-step {
  margin-top: clamp(15px, 1.0416666667vw, 30px);
  margin-bottom: clamp(30px, 2.0833333333vw, 60px);
  padding: 0 !important;
}

.cb-next-step.m-image-position--right {
  display: flex;
  padding-top: 0 !important;
}

.cb-next-step.m-image-position--right figure {
  left: initial;
  right: 0;
}

.cb-next-step.m-image-position--right .page-header__hero-content {
  margin-left: initial;
  margin-right: auto;
}

.cb-next-step.m-image-position--right .page-header__hero-content .o-container {
  padding-left: clamp(45px, 3.125vw, 90px);
  padding-right: clamp(100px, 6.9444444444vw, 200px);
}

.cb-next-step.m-image-position--right .page-header__hero-content:after {
  transform: skewX(18deg);
  left: initial;
  background: linear-gradient(89deg, #01346a 0, #01346a 16%, #003e73 16%, #002556 47%, #000e3c 85%, #001441 100%, #000634 100%, #000534 100%);
}

.cb-next-step .cb__content__title {
  font-size: var(--font-size--xl);
  font-weight: 700;
}

.cb-next-step .page-header__hero-content {
  padding-top: clamp(100px, 6.9444444444vw, 200px);
  padding-bottom: clamp(80px, 5.5555555556vw, 160px);
}

.page-main .cb-next-step.page-header__hero {
  position: relative;
  z-index: 1;
  min-height: 52rem;
}

.page-main .cb-next-step.page-header__hero figure,
.page-main .cb-next-step.page-header__hero figure img {
  opacity: 1;
  visibility: visible;
}

@media (min-width: 769px) {
  .cb-next-step.m-image-position--right .page-header__hero-content .o-container {
    padding: 0 clamp(200px, 13.8888888889vw, 400px);
  }
}

@media (min-width: 1200px) {
  .cb-next-step.m-image-position--right .page-header__hero-content .o-container {
    padding-right: clamp(300px, 20.8333333333vw, 600px);
  }
}

@media (max-width: 768px) {
  .cb-next-step.m-image-position--right figure { width: 80%; }
  .cb-next-step.m-image-position--right .page-header__hero-content {
    width: 80%;
    padding-top: clamp(150px, 10.4166666667vw, 300px);
    padding-bottom: clamp(50px, 3.4722222222vw, 100px);
  }
  .page-main .cb-next-step.page-header__hero { min-height: 0; }
}

@media (max-width: 576px) {
  .cb-next-step.m-image-position--right .page-header__hero-content { width: 100%; }
}

.page-main .cb-banner.page-header__hero {
  position: relative;
  z-index: 1;
  min-height: 52rem;
}

.page-main .cb-banner.page-header__hero figure,
.page-main .cb-banner.page-header__hero figure img {
  opacity: 1;
  visibility: visible;
}

.cb-bg-color--cortex .o-container .cb__slider {
  margin-top: 0 !important;
  padding: 3.2rem 2.4rem !important;
}

.cb-bg-color--cortex .o-container .cb__slider figure {
  padding: 0 !important;
  height: auto !important;
  width: 100% !important;
}

.cb-bg-color--cortex .o-container .cb__slider figure img {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  height: auto !important;
  transform: none !important;
  border-radius: 1.2rem;
  box-shadow: 0 1.2rem 3rem rgba(0, 52, 105, .18);
}

.cb-bg-color--cortex .o-container .cb__slider:after {
  margin-top: 2rem !important;
}

@media (max-width: 768px) {
  .photo-frame,
  .photo-frame img { min-height: 26rem; }
  .page-main .cb-banner.page-header__hero { min-height: 0; }
}

.page-main table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
}

.page-main .article {
  max-width: 86rem;
}

.page-main .post__single-content {
  max-width: none;
}

body.blog .page-header__hero img.has-focus-point {
  object-fit: cover;
  object-position: 76% 39%;
}

body.blog:not(.blog--paged) .o-layout[data-blog-list] > .o-layout__item:nth-child(n + 13) {
  display: none;
}

body.blog .o-layout[data-blog-list] > .o-layout__item.is-hidden {
  display: none !important;
}

.offers-row .post--border .post__content {
  padding: 2.8rem 2.4rem 2.4rem;
}

.offers-row .post__content-title {
  margin-bottom: 1.2rem;
}

.offers-row .post__content-link {
  justify-content: center;
  width: 24rem;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.blog-grid {
  display: grid;
  gap: var(--gutter);
}

@media (min-width: 769px) {
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1200px) {
  .blog-grid { grid-template-columns: repeat(3, 1fr); }
}

.cb-masterminds .mastermind-item[hidden] {
  display: none !important;
}
