:root {
  --ghc-paper: #f5f7f4;
  --ghc-white: #ffffff;
  --ghc-text: #26373d;
  --ghc-muted: #63747a;
  --ghc-blue: #3e7183;
  --ghc-deep: #2c5666;
  --ghc-mist: #deebed;
  --ghc-sage: #e1e9e2;
  --ghc-line: #c8d5d5;
}

html { font-size: 16px; overflow-x: hidden; }
body { background: var(--ghc-paper) !important; color: var(--ghc-text) !important; font-size: 16px !important; line-height: 1.65; overflow-x: hidden; }
p, li, label, input, textarea, select, button, a, small, time, .blog-date, .footer__label { font-size: max(14px, 1em); }
h1, .heading-style-h1, .blog-post__title { font-size: clamp(3.25rem, 6vw, 6rem) !important; line-height: .94 !important; letter-spacing: -.055em !important; }
h2, .heading-style-h2, .faq__title, .why-us__title { font-size: clamp(2.5rem, 4.5vw, 4.75rem) !important; line-height: 1 !important; letter-spacing: -.045em !important; }
h3, .heading-style-h3, .blog-post__item-title { font-size: clamp(1.35rem, 2vw, 1.75rem) !important; line-height: 1.2 !important; letter-spacing: -.02em !important; }

.header { background: var(--ghc-deep) !important; }
.header.is--fixed { position: relative !important; }
.navigation { background: var(--ghc-deep) !important; }
.navigation-wrapper { min-height: 78px !important; }
.navigation-brand, .navigation-brand .text-block, .navigation-brand .text-block-2, .navigation-menu__item { color: white !important; }
.navigation-brand__logo { filter: none !important; }
.navigation-menu__item { opacity: .88; }
.navigation-menu__item:hover { opacity: 1; }
.navigation .button { background: white !important; color: var(--ghc-deep) !important; border-radius: 3px !important; }
.hamburger-bar { background: white !important; }

main { background: var(--ghc-paper); }
main > section { padding-top: clamp(72px, 8vw, 112px) !important; padding-bottom: clamp(72px, 8vw, 112px) !important; }
.container.padding-global { padding-left: clamp(20px, 4vw, 64px) !important; padding-right: clamp(20px, 4vw, 64px) !important; }
.hero-section { background-color: var(--ghc-mist) !important; }
.hero-section::before { background: linear-gradient(90deg, rgba(44,86,102,.68), rgba(44,86,102,.05)) !important; }
.button, input[type="submit"] { background: var(--ghc-blue) !important; color: white !important; border-radius: 3px !important; }

.blogs-section, .blog-post { background: var(--ghc-paper) !important; }
.blogs__header { margin-bottom: clamp(48px, 6vw, 80px) !important; }
.navigation-mobile__button { background: transparent !important; border: 1px solid rgba(255,255,255,.45) !important; border-radius: 3px !important; }
.blog-posts__wrapper { gap: clamp(28px, 4vw, 54px) !important; }
.blog-post__item { background: transparent !important; border-top: 1px solid var(--ghc-line); padding-top: 18px; }
.blog-post__tile-link { display: block; color: inherit; text-decoration: none; }
.blog-post__item-image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; margin-bottom: 20px; }
.blog-post__item-content { padding: 0 !important; }
.blog-post__item-title { color: var(--ghc-deep) !important; text-decoration: none !important; }
.blog-date { color: var(--ghc-muted) !important; margin-bottom: 10px; }
.blog-post__content { gap: clamp(40px, 6vw, 88px) !important; }
.rich-text { font-size: 1rem !important; line-height: 1.75 !important; }
.blog-post__content > div:first-child { min-width: 0 !important; }
.rich-text { width: 100% !important; max-width: 100% !important; }
.rich-text p, .rich-text li { font-size: 1rem !important; }
.rich-text h2 { margin-top: 2em !important; }
.rich-text h3 { margin-top: 1.7em !important; }

.faq__item { border-color: var(--ghc-line) !important; }
.footer { background: var(--ghc-deep) !important; color: white !important; padding-top: 64px !important; }
.footer a, .footer div { color: inherit; }

.navigation-menu__item {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.rich-text table {
  width: 100% !important;
  margin: 32px 0 !important;
  border-collapse: collapse !important;
  border: 1px solid var(--ghc-line) !important;
  background: var(--ghc-white) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.rich-text th,
.rich-text td {
  padding: 14px 16px !important;
  border: 1px solid var(--ghc-line) !important;
  text-align: left !important;
  vertical-align: top !important;
  min-width: 0 !important;
}
.rich-text th {
  background: var(--ghc-deep) !important;
  color: white !important;
  font-weight: 700 !important;
}
.rich-text tbody tr:nth-child(even) td { background: var(--ghc-mist) !important; }

.reviews-page .page-wrapper > .section:first-child { padding-bottom: 48px !important; }
.reviews-page .page-wrapper > .section:nth-child(2) {
  padding-top: 0 !important;
  padding-bottom: clamp(72px, 8vw, 104px) !important;
}
.reviews-page .page-wrapper > .section:nth-child(2) .about-grid-wrapper {
  display: grid !important;
  grid-template-columns: .8fr 1.2fr !important;
  gap: clamp(40px, 7vw, 96px) !important;
  align-items: center !important;
}
.reviews-page .page-wrapper > .section:nth-child(2) .about-grid-wrapper img {
  width: 100% !important;
  height: clamp(360px, 42vw, 560px) !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}
.reviews-page .page-wrapper > .section:nth-child(2) .text-with-image__text {
  margin: 0 !important;
  align-self: center !important;
}

html body .rich-text.w-richtext table {
  border-color: var(--ghc-line) !important;
  background: var(--ghc-white) !important;
}
html body .rich-text.w-richtext table th {
  background: var(--ghc-deep) !important;
  color: white !important;
  border-color: var(--ghc-line) !important;
}
html body .rich-text.w-richtext table td {
  color: var(--ghc-text) !important;
  border-color: var(--ghc-line) !important;
}
html body .rich-text.w-richtext table tbody tr:nth-child(even) td {
  background: var(--ghc-mist) !important;
}
.rich-text a { color: var(--ghc-blue) !important; text-decoration-color: currentColor !important; }
.rich-text blockquote {
  margin: 32px 0 !important;
  padding: 24px 28px !important;
  border-left: 4px solid var(--ghc-blue) !important;
  background: var(--ghc-mist) !important;
  color: var(--ghc-text) !important;
}
.rich-text [data-autistic-editor="quick-answer"] {
  margin: 32px 0 !important;
  padding: 28px !important;
  background: var(--ghc-mist) !important;
  border: 1px solid var(--ghc-line) !important;
}
.blog-post__date, .ghc-byline { color: var(--ghc-muted) !important; }
.blog-post__aside-item {
  padding: 24px !important;
  background: var(--ghc-sage) !important;
  border: 1px solid var(--ghc-line) !important;
}
.blog-post__aside-item + .blog-post__aside-item { margin-top: 20px !important; }
.aside-item__title {
  color: var(--ghc-deep) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}
.toc-item { border-bottom: 1px solid var(--ghc-line) !important; }
.toc-item__link {
  display: block !important;
  padding: 10px 0 !important;
  color: var(--ghc-deep) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}
.toc-item__link:hover,
.toc-item__link.w--current { color: var(--ghc-blue) !important; }

@media (max-width: 767px) {
  body { font-size: 16px !important; }
  h1, .heading-style-h1, .blog-post__title { font-size: clamp(3rem, 14vw, 4.5rem) !important; }
  h2, .heading-style-h2, .faq__title, .why-us__title { font-size: clamp(2.35rem, 10vw, 3.6rem) !important; }
  main > section { padding-top: 72px !important; padding-bottom: 72px !important; }
  .navigation-menu__items { background: var(--ghc-deep) !important; }
  .rich-text {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }
  .rich-text table { min-width: 620px !important; }
  .reviews-page .page-wrapper > .section:nth-child(2) .about-grid-wrapper {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .reviews-page .page-wrapper > .section:nth-child(2) .about-grid-wrapper img {
    height: 360px !important;
  }
}
