/* Page shell: the navigation and editorial chrome stay outside TinyMCE. */
.site-shell {
  position: relative;
  background: var(--bs-body-bg, #fff);
}

.site-shell__navigation {
  position: relative;
  z-index: 30;
}

.site-shell__navigation--overlay {
  position: absolute;
  inset: 0 0 auto;
}

.site-shell[data-navigation-behavior="sticky"] .site-shell__navigation {
  position: sticky;
  top: 0;
}

.site-shell[data-navigation-position="overlay"] .main-nav-container {
  background: linear-gradient(120deg, rgba(4, 41, 43, .92), rgba(25, 90, 94, .82));
}

.page-header {
  padding: clamp(2.5rem, 7vw, 6rem) 0;
  background: linear-gradient(120deg, #07689d, #08acc8);
  color: #fff;
}

.page-header--hero {
  min-height: min(56vw, 38rem);
  display: flex;
  align-items: end;
  background-position: center;
  background-size: cover;
}

.page-header--center .page-header__inner {
  max-width: 52rem;
  margin-inline: auto;
  text-align: center;
}

.page-header h1 {
  margin: 0;
  color: inherit;
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 700;
}

.page-header__eyebrow {
  margin: 0 0 .75rem;
  color: inherit;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-header__intro {
  max-width: 46rem;
  margin: 1rem 0 0;
  font-size: 1.125rem;
}

.page-header--center .page-header__intro {
  margin-inline: auto;
}

.page-breadcrumb {
  padding: .9rem 0;
  background: color-mix(in srgb, var(--bs-body-color, #17272a) 6%, transparent);
}

.page-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color: currentColor;
}

.site-page {
  padding: clamp(2.5rem, 6vw, 5rem) 0;
}

.page-block + .page-block {
  margin-top: clamp(2rem, 5vw, 4rem);
}

.page-block--rich_text > :first-child,
.page-block--html > :first-child {
  margin-top: 0;
}

.page-block--rich_text > :last-child,
.page-block--html > :last-child {
  margin-bottom: 0;
}

.page-block--cta > div {
  background: linear-gradient(135deg, color-mix(in srgb, var(--bs-primary, #0d6efd) 14%, transparent), color-mix(in srgb, var(--bs-secondary, #6c757d) 8%, transparent));
}

@media (max-width: 991.98px) {
  .site-shell__navigation--overlay {
    position: relative;
  }
}
