:root {
  --mhb-green: #142e26;
  --mhb-accent: #7AC144;
  --mhb-ink: #202022;
  --mhb-muted: #6C757D;
  --mhb-soft: #f2f2f3;
  --mhb-warm: #fcf8e3;
}

body {
  color: var(--mhb-ink);
  background: #fff;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid rgba(32, 32, 34, 0.08);
  box-shadow: 0 10px 35px rgba(20, 46, 38, 0.08);
  backdrop-filter: blur(12px);
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 28px;
  width: min(100% - 48px, 1280px);
  min-height: 78px;
  margin: 0 auto;
}

.site-nav-logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.site-nav-logo img {
  width: 118px;
  height: auto;
}

.site-nav-toggle,
.site-nav-toggle-button {
  display: none;
}

.site-nav-toggle-button {
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-left: auto;
  color: var(--mhb-green);
  border: 1px solid rgba(20, 46, 38, 0.18);
  background: #fff;
  cursor: pointer;
}

.site-nav-toggle-button span {
  display: block;
  width: 20px;
  height: 2px;
  background: currentColor;
}

.site-nav-links {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: flex-end;
  flex: 1 1 auto;
  gap: 6px;
}

.site-nav-links a,
.site-nav-cta {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 12px;
  color: var(--mhb-green);
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.site-nav-links a:hover,
.site-nav-links a:focus {
  color: #000;
  background: rgba(122, 193, 68, 0.12);
}

.site-nav-cta {
  justify-content: center;
  padding: 0 18px;
  color: #fff;
  background: var(--mhb-green);
  border: 1px solid var(--mhb-green);
}

.site-nav-cta:hover,
.site-nav-cta:focus {
  color: #fff;
  background: #202022;
  border-color: #202022;
}

.site-language-switch {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding-left: 8px;
  border-left: 1px solid rgba(32, 32, 34, 0.14);
}

.site-language-switch a {
  min-height: 34px;
  padding: 0 8px;
  color: var(--mhb-muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-decoration: none;
}

.site-language-switch a[aria-current="true"] {
  color: var(--mhb-green);
  background: rgba(122, 193, 68, 0.16);
}

.mhb-legacy-link-row {
  display: none;
}

main .container,
main .container-fluid {
  width: min(100% - 48px, 1240px);
  max-width: 1240px;
}

.s_banner,
.s_title,
.s_cover {
  position: relative;
  min-height: clamp(360px, 64vh, 720px);
}

.s_banner::before,
.s_title::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(20, 46, 38, 0.58), rgba(20, 46, 38, 0.18) 48%, rgba(20, 46, 38, 0.02));
}

.s_banner > .container,
.s_title > .container,
.s_banner .s_parallax_bg + .container,
.s_title .s_parallax_bg + .container {
  position: relative;
  z-index: 1;
}

.s_banner > .container,
.s_title > .container {
  min-height: inherit;
}

.s_banner > .container > .row,
.s_title > .container > .row {
  min-height: inherit;
}

.s_banner > .container > .row,
.s_title > .container,
.s_title > .container > .row {
  display: flex;
  align-items: center;
}

.s_title > .container {
  justify-content: flex-start;
}

.s_title h1 {
  width: min(100%, 760px);
  margin: 0;
}

.jumbotron,
.card,
.o_cc1,
.o_cc2,
.o_cc3,
.o_cc4,
.o_cc5 {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.s_banner .jumbotron,
.s_title .jumbotron {
  max-width: 720px;
  padding: 0 !important;
  color: #fff;
  background: transparent !important;
}

.s_banner h1,
.s_title h1 {
  color: #fff !important;
  font-size: clamp(2.7rem, 6vw, 4.5rem);
  font-weight: 800;
  line-height: 1.08;
  text-align: left !important;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
}

.s_banner h1 span,
.s_title h1 span {
  font-size: clamp(2rem, 4.2vw, 3rem) !important;
}

.s_call_to_action {
  padding: 72px 0 !important;
  background: var(--mhb-green) !important;
}

.s_call_to_action h1,
.s_call_to_action h2,
.s_call_to_action h3,
.s_call_to_action p {
  color: #fff !important;
}

.s_call_to_action .btn {
  border-color: #fff;
}

.s_text_block,
.s_three_columns,
.s_masonry_block,
.s_image_gallery {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

.s_masonry_block .container-fluid,
.s_image_gallery .container-fluid {
  width: min(100% - 48px, 1320px);
}

.o_grid_mode {
  gap: 18px;
}

.o_grid_item {
  padding: 28px;
}

.s_masonry_block .o_grid_item:not(.o_grid_item_image),
.s_three_columns .card,
.s_text_block .card {
  color: var(--mhb-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 2px solid rgba(122, 193, 68, 0.45) !important;
}

.s_masonry_block .o_grid_item:not(.o_grid_item_image) h1,
.s_masonry_block .o_grid_item:not(.o_grid_item_image) h2,
.s_masonry_block .o_grid_item:not(.o_grid_item_image) h3,
.s_masonry_block .o_grid_item:not(.o_grid_item_image) h4,
.s_masonry_block .o_grid_item:not(.o_grid_item_image) p,
.s_masonry_block .o_grid_item:not(.o_grid_item_image) a,
.s_masonry_block .o_grid_item:not(.o_grid_item_image) span {
  color: var(--mhb-ink) !important;
}

.o_grid_item_image {
  padding: 0;
}

main img {
  display: block;
}

.s_image_gallery img,
.s_masonry_block img,
.s_three_columns img {
  width: 100%;
  margin: 0 0 18px;
  object-fit: cover;
  box-shadow: 0 18px 45px rgba(20, 46, 38, 0.12);
}

.s_image_gallery .row,
.s_three_columns .row {
  row-gap: 32px;
}

.btn-primary,
.btn-secondary {
  border-radius: 0;
  font-weight: 700;
}

.btn-primary {
  background-color: var(--mhb-green);
  border-color: var(--mhb-green);
}

.btn-secondary {
  color: var(--mhb-green);
  background-color: var(--mhb-accent);
  border-color: var(--mhb-accent);
}

.o_footer {
  background: var(--mhb-green) !important;
}

@media (max-width: 991.98px) {
  .site-nav {
    align-items: center;
    flex-wrap: wrap;
    gap: 0 14px;
    width: min(100% - 32px, 720px);
    min-height: 66px;
    padding: 10px 0;
  }

  .site-nav-logo img {
    width: 104px;
  }

  .site-nav-toggle-button {
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
  }

  .site-nav-links {
    order: 3;
    display: none;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-direction: column;
    width: 100%;
    margin-top: 14px;
    gap: 0;
    border-top: 1px solid rgba(32, 32, 34, 0.1);
  }

  .site-nav-links a {
    justify-content: flex-start;
    width: 100%;
    min-height: 44px;
    padding: 0;
    font-size: 0.95rem;
  }

  .site-nav-cta {
    order: 5;
    display: none;
    width: 100%;
    min-height: 46px;
    margin-top: 12px;
  }

  .site-language-switch {
    order: 4;
    display: none;
    width: 100%;
    margin-top: 10px;
    padding-left: 0;
    border-left: 0;
    gap: 6px;
  }

  .site-language-switch a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid rgba(32, 32, 34, 0.12);
  }

  .site-nav-toggle:checked ~ .site-nav-links,
  .site-nav-toggle:checked ~ .site-language-switch,
  .site-nav-toggle:checked ~ .site-nav-cta {
    display: flex;
  }

  main .container,
  main .container-fluid,
  .s_masonry_block .container-fluid,
  .s_image_gallery .container-fluid {
    width: min(100% - 32px, 720px);
  }

  .s_banner,
  .s_title,
  .s_cover {
    min-height: 420px;
  }

  .s_banner h1,
  .s_title h1 {
    max-width: 100%;
    font-size: clamp(1.85rem, 7.4vw, 2.35rem);
    overflow-wrap: normal;
  }

  .s_banner h1 span,
  .s_title h1 span {
    font-size: clamp(1.8rem, 8vw, 2.5rem) !important;
  }

  .s_text_block,
  .s_three_columns,
  .s_masonry_block,
  .s_image_gallery,
  .s_call_to_action {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
}
