/* Shared by the published homepage and the full-page editor preview. */
.hb-page {
  display: flex;
  flex-direction: column;
}

.hb-section {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  scroll-margin-top: 88px;
  --hb-device-gap: var(--hb-gap);
  --hb-device-columns: var(--hb-columns);
  --hb-device-ratio: var(--hb-ratio);
}

.hb-page .hb-hero {
  display: grid;
  align-items: end;
  min-height: var(--hb-desktop-height, 849px);
  height: auto;
  margin-top: 0;
  background: var(--landing-ink);
}

html body header.landing-header[data-public-header][data-header-mode="overlay-light"] ~ main .hb-page .hb-hero {
  margin-top: var(--hb-device-before, 0px) !important;
}

.hb-hero .landing-hero-shade {
  background-color: rgba(33, 33, 33, var(--hb-overlay, .48));
}

.hb-hero .landing-hero-copy {
  position: relative;
  inset: auto;
  margin: 0 var(--landing-edge) 48px;
  padding-top: 92px;
}

.hb-hero .landing-hero-copy h1,
.hb-hero .landing-hero-copy h2 {
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(36px, 3.6vw, 56px);
  font-weight: 800;
  line-height: 1.3;
  white-space: normal;
}

.hb-logos .landing-brand-logo {
  min-width: 0;
}

.hb-logos .landing-brand-logo img {
  max-width: 100%;
  height: 60px;
  object-fit: contain;
}

.hb-cards {
  display: grid;
  grid-template-columns: repeat(var(--hb-device-columns, 2), minmax(0, 1fr));
  gap: var(--hb-device-gap, 24px);
}

.hb-cards .landing-brand-card {
  display: grid;
  align-items: stretch;
  aspect-ratio: var(--hb-device-ratio, auto);
  background: #353c3b;
}

.hb-cards .landing-card-copy {
  position: relative;
  inset: auto;
  margin: 24px;
  min-width: 0;
}

.hb-cards .landing-brand-card-tall {
  grid-column: auto;
  grid-row: span 2;
}

.hb-cards-always .landing-card-copy,
.hb-cards-always .landing-card-scrim {
  opacity: 1;
  transform: none;
}

.hb-cards .landing-card-cta {
  white-space: normal;
}

.hb-cards .landing-card-logo img {
  max-width: 60%;
  object-fit: contain;
}

.hb-split {
  gap: var(--hb-device-gap, 0px);
  grid-template-columns: minmax(0, var(--hb-image-share, 1fr)) minmax(0, 1fr);
}

.hb-split.landing-split-reverse {
  grid-template-columns: minmax(0, 1fr) minmax(0, var(--hb-image-share, 1fr));
}

.hb-split.hb-split-text-only {
  grid-template-columns: minmax(0, 1fr);
}

.hb-split > .hb-split-media {
  align-self: start;
  aspect-ratio: var(--hb-device-ratio, 1);
}

.hb-consult {
  display: grid;
  align-items: center;
  height: auto;
  min-height: 472px;
  aspect-ratio: var(--hb-device-ratio, auto);
  background: var(--landing-ink);
}

.hb-consult.hb-set-ratio {
  min-height: 0;
}

.hb-consult > .hb-consult-copy {
  position: relative;
  inset: auto;
  transform: none;
  margin-inline-start: 65px;
  padding-block: 16px;
}

.hb-consult-copy ul {
  padding-inline-start: 18px;
}

.hb-section .landing-split-copy a,
.hb-consult-copy a {
  max-width: 100%;
}

.hb-kicker {
  color: var(--landing-teal);
  font-weight: 700;
}

.hb-articles .landing-section-head h2:only-child {
  margin-inline-start: auto;
}

.hb-articles .landing-article-grid {
  grid-template-columns: repeat(var(--hb-device-columns, 3), minmax(0, 1fr));
  gap: var(--hb-device-gap, 16px);
}

.hb-article-media {
  display: block;
}

.hb-article-media > img {
  width: 100%;
  height: 226px;
  display: block;
  object-fit: cover;
}

.hb-articles .landing-article-card img {
  aspect-ratio: var(--hb-device-ratio, auto);
}

.hb-faq {
  gap: var(--hb-device-gap, 48px);
}

.hb-faq.hb-faq-text-only {
  grid-template-columns: minmax(0, 1fr);
}

.hb-faq img.landing-faq-image {
  width: 100%;
  object-fit: var(--hb-fit, cover);
  object-position: center top;
  background: none;
}

.hb-columns {
  width: var(--landing-page);
  margin: 40px auto 0;
  display: grid;
  grid-template-columns: repeat(var(--hb-device-columns, 2), minmax(0, 1fr));
  gap: var(--hb-device-gap, 16px);
}

.hb-column { min-width: 0; }
.hb-column h2 { margin-block: 12px; }
.hb-column p { line-height: 1.9; }

.hb-column img {
  display: block;
  width: 100%;
  aspect-ratio: var(--hb-device-ratio, auto);
  object-fit: cover;
}

.hb-fit-cover { --hb-fit: cover; }
.hb-fit-contain { --hb-fit: contain; }

.hb-section:is(.hb-fit-cover, .hb-fit-contain) :is(.landing-hero-media, .hb-split-media),
.hb-section:is(.hb-fit-cover, .hb-fit-contain) :is(.hb-column, .landing-brand-card, .landing-article-card, .hb-article-media) > img {
  object-fit: var(--hb-fit);
}

.hb-empty-preview {
  padding: 56px 24px;
  text-align: center;
}

@media (min-width: 992px) {
  .hb-page > .hb-set-space-before { margin-top: var(--hb-space-before); }
  .hb-page > .hb-set-space-after { margin-bottom: var(--hb-space-after); }
  .hb-hero { --hb-device-before: var(--hb-space-before); }
  .hb-logos.hb-set-columns, .hb-logos.hb-set-gap {
    display: grid;
    height: auto;
    grid-template-columns: repeat(var(--hb-device-columns, 3), minmax(0, 1fr));
    gap: var(--hb-device-gap, 16px);
  }
  .hb-cards:not(.hb-set-columns) > .landing-brand-card-tall:first-child {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
  .hb-cards .landing-brand-card-tall { min-height: max(640px, calc(640px + var(--hb-device-gap, 24px))); }
  .hb-set-ratio .landing-article-card img { height: auto; }
  .hb-cards.hb-set-ratio .landing-brand-card { min-height: 0; }
}

@media (max-width: 991px) {
  .hb-section {
    --hb-device-gap: var(--hb-mobile-gap);
    --hb-device-columns: var(--hb-mobile-columns);
    --hb-device-ratio: var(--hb-mobile-ratio);
  }
  .hb-page > .hb-set-mobile-space-before { margin-top: var(--hb-mobile-space-before); }
  .hb-page > .hb-set-mobile-space-after { margin-bottom: var(--hb-mobile-space-after); }
  .hb-hero { --hb-device-before: var(--hb-mobile-space-before); }
  .hb-page .hb-hero { min-height: var(--hb-mobile-height, max(856px, 100svh)); }
  .hb-hero .landing-hero-copy { margin-bottom: 24px; }
  .hb-hero .landing-hero-copy :is(h1, h2) { font-size: 24px; line-height: 36px; margin-bottom: 8px; }
  .hb-logos .landing-brand-logo img { height: 24px; }
  .hb-logos.hb-set-mobile-columns, .hb-logos.hb-set-mobile-gap {
    display: grid;
    height: auto;
    grid-template-columns: repeat(var(--hb-device-columns, 3), minmax(0, 1fr));
    gap: var(--hb-device-gap, 12px);
  }
  .hb-cards {
    grid-template-columns: repeat(var(--hb-device-columns, 1), minmax(0, 1fr));
    gap: var(--hb-device-gap, 16px);
  }
  .hb-cards .landing-brand-card { align-items: end; }
  .hb-cards .landing-card-copy { margin: 0; }
  .hb-cards .landing-brand-card-tall { grid-row: auto; order: initial; }
  .hb-cards.hb-set-mobile-ratio .landing-brand-card { min-height: 0; }
  .hb-consult { min-height: 220px; }
  .hb-consult.hb-set-mobile-ratio { min-height: 0; }
  .hb-consult > .hb-consult-copy { margin-inline-start: 16px; }
  .hb-articles { display: block; }
  .hb-articles .landing-article-grid { grid-template-columns: repeat(var(--hb-device-columns, 1), minmax(0, 1fr)); }
  .hb-set-mobile-ratio .landing-article-card img { height: auto; }
  .hb-faq { gap: var(--hb-device-gap, 24px); }
  .hb-faq img.landing-faq-image { object-fit: var(--hb-fit, contain); }
  .hb-columns { grid-template-columns: repeat(var(--hb-device-columns, 1), minmax(0, 1fr)); }
  .hb-page > .hb-hide-mobile { display: none; }
}

@media (max-width: 767px) {
  .hb-split, .hb-split.landing-split-reverse { grid-template-columns: minmax(0, 1fr); }
  .hb-split.hb-text-first > .hb-split-media { order: 3; }
}

@media (max-width: 480px) {
  .hb-consult:not(.hb-set-mobile-ratio) { min-height: 172px; }
}

@media (prefers-reduced-motion: reduce) {
  .hb-section .landing-brand-card > img,
  .hb-section .landing-card-scrim,
  .hb-section .landing-card-copy,
  .hb-section .landing-brand-logo img {
    transition: none;
    transform: none;
  }
}
