/* Keep the published homepage design and the approved Google Cloud logo */
.logo-mark.logo-mark-google-cloud {
  --mark-width: 140px;
  --mark-ratio: 123/20;
  --mark-aspect: 6.15;
  --image-width: 100%;
  --image-height: 100%;
  --image-left: 0%;
  --image-top: 0%;
}

/* Make the current homepage as easy to identify as an interior page */
body.published-home #primary-navigation a[aria-current="page"] { color: #fff; }
body.published-home #primary-navigation a[aria-current="page"]::after {
  content: '';
  position: absolute;
  bottom: 2px;
  inset-inline: 0;
  height: 2px;
  border-radius: 2px;
  background: #83b6ff;
}
@media (max-width: 1180px) {
  body.published-home #primary-navigation a[aria-current="page"]::after {
    inset-inline-end: auto;
    width: 28px;
  }
}

/* Home content spacing; card cover sizes are shared across all pages */
body.published-home .enterprise-services .service-card-body { padding-block: 28px 26px; }
body.published-home.site-card-system .exa-card--technology .exa-card-content {
  padding: 26px 26px 24px;
}
body.published-home.site-card-system .exa-card--technology .exa-card-content > p {
  flex: 1 0 auto;
  margin-bottom: 22px;
}
body.published-home .home-portfolio-highlights {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  width: 100%;
  min-width: 0;
  padding: 3px 12px;
  margin: 0;
  border: 1px solid #e5ecf7;
  border-radius: 13px;
  background: #f5f8fd;
  list-style: none;
}
body.published-home .home-portfolio-highlights li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 0;
  padding: 11px 0;
  color: #284566;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.65;
}
body.published-home .home-portfolio-highlights li + li { border-top: 1px solid #e2eaf5; }
body.published-home .home-portfolio-highlights li::before {
  content: '';
  flex: 0 0 7px;
  width: 7px;
  height: 4px;
  border-left: 1.5px solid #2464df;
  border-bottom: 1.5px solid #2464df;
  transform: rotate(-45deg);
}
body.published-home.site-card-system .exa-card--technology .exa-card-content > .inline-link {
  min-height: 50px;
  margin-top: 22px;
}
html[lang="ar"] body.published-home .home-portfolio-highlights li { font-size: 15px; line-height: 1.8; }

@media (min-width: 701px) and (max-width: 1100px) {
  body.published-home.site-card-system .exa-card--technology .exa-card-content { padding-inline: 20px; }
}
@media (max-width: 700px) {
  body.published-home .enterprise-services .service-card-body { padding: 25px 22px; }
  body.published-home.site-card-system .exa-card--technology .exa-card-content { padding: 24px 20px; }
}
@media (max-width: 380px) {
  body.published-home .enterprise-services .service-card-body { padding-inline: 17px; }
  body.published-home .home-portfolio-highlights { padding-inline: 10px; }
}

/* Shared breathing room between cards, rows and section groups */
body.published-home {
  --home-card-column-gap: clamp(24px, 1.9vw, 32px);
  --home-card-row-gap: 40px;
  --home-group-space: 112px;
  --home-heading-space: 56px;
  --home-logo-column-gap: 12px;
  --home-logo-row-gap: 12px;
}
body.published-home .capability-grid,
body.published-home .enterprise-services .approach-grid {
  column-gap: var(--home-card-column-gap);
  row-gap: var(--home-card-row-gap);
}
body.published-home .brand-grid {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  column-gap: var(--home-logo-column-gap);
  row-gap: var(--home-logo-row-gap);
}
/* Homepage client and partner collections: artwork without card surfaces or captions */
body.published-home .brand-grid > .home-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.published-home .home-logo .brand-image { height: 88px; }
body.published-home .partners .home-logo .brand-image { height: 72px; }
body.published-home .home-logo .logo-mark {
  width: min(100%, calc(var(--mark-width) * 1.24));
}
body.published-home .relationships {
  --home-group-space: 80px;
  --home-heading-space: 38px;
}
@media (max-width: 700px) {
  body.published-home .brand-grid > .home-logo {
    padding: 6px 4px;
  }
  body.published-home .home-logo .brand-image { height: 82px; }
  body.published-home .partners .home-logo .brand-image { height: 68px; }
  body.published-home .home-logo .logo-mark { width: min(100%, calc(var(--mark-width) * 1.18)); }
}
body.published-home :is(.enterprise-services, .solutions, .relationships) {
  padding-block: var(--home-group-space);
}
body.published-home :is(.enterprise-services, .solutions, .relationships) > .section-head {
  margin-bottom: var(--home-heading-space);
}
@media (max-width: 1100px) {
  body.published-home {
    --home-card-column-gap: 24px;
    --home-card-row-gap: 34px;
    --home-group-space: 80px;
    --home-heading-space: 42px;
    --home-logo-column-gap: 12px;
    --home-logo-row-gap: 12px;
  }
  body.published-home .relationships { --home-group-space: 64px; --home-heading-space: 32px; }
}
@media (min-width: 701px) and (max-width: 960px) {
  body.published-home .enterprise-services .service-presentation:last-child {
    width: calc((100% - var(--home-card-column-gap)) / 2);
  }
}
@media (max-width: 700px) {
  body.published-home {
    --home-card-row-gap: 28px;
    --home-group-space: 60px;
    --home-heading-space: 34px;
    --home-logo-column-gap: 8px;
    --home-logo-row-gap: 10px;
  }
  body.published-home .relationships { --home-group-space: 48px; --home-heading-space: 28px; }
}
@media (max-width: 380px) {
  body.published-home {
    --home-group-space: 52px;
    --home-heading-space: 30px;
  }
}
