/* Opening section only; the remaining WordPress sections keep their styling. */
.mm-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  min-height: 740px;
  min-height: min(850px, 100svh);
  padding: 0 max(32px, calc((100% - 1160px) / 2));
  margin: 0;
  background: #203b40;
  color: #fff;
  font-family: "Open Sans", sans-serif;
  box-sizing: border-box;
}
.mm-hero__video, .mm-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  object-fit: cover;
  pointer-events: none;
}
.mm-hero__shade {
  z-index: -1;
  background: linear-gradient(90deg, rgba(13, 34, 38, .9) 0%, rgba(13, 34, 38, .76) 45%, rgba(13, 34, 38, .28) 100%), linear-gradient(180deg, rgba(13, 34, 38, .35), transparent 35%, rgba(13, 34, 38, .25));
}
.mm-header {
  display: flex;
  align-items: center;
  gap: 28px;
  min-height: 106px;
  border-bottom: 1px solid #ffffff26;
}
.mm-brand { display: block; flex: 0 0 136px; }
.mm-brand img { display: block; width: 136px; height: auto; }
.mm-header .wp-block-navigation { margin: 0; color: #fff; flex: 1; }
.mm-header .wp-block-navigation__container { gap: 22px; }
.mm-header .wp-block-navigation-item { font-size: 14px; white-space: nowrap; }
.mm-header .wp-block-navigation-item__content { padding: 12px 0; }
.mm-header .wp-block-navigation-item__content:hover { color: #cce8dc; }
.mm-hero a { text-decoration: none; }
.mm-header__booking, .mm-hero__booking {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 16px 24px;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  white-space: nowrap;
  transition: background-color .18s ease, color .18s ease;
}
.mm-header__booking { border: 1px solid #ffffff80; color: #fff; padding: 12px 17px; gap: 15px; }
.mm-header__booking:hover { background: #ffffff18; color: #fff; }
.mm-hero__content { flex: 1; padding: 76px 0 72px; }
.mm-hero .mm-hero__eyebrow { margin: 0 0 22px; color: #daece5; font-size: 14px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.mm-hero #mm-hero-title { margin: 0; font-family: "Open Sans", sans-serif; color: #fff; font-size: clamp(46px, 5.3vw, 76px); font-weight: 600; line-height: 1.08; letter-spacing: -.055em; }
.mm-hero #mm-hero-title span { color: #cce8dc; }
.mm-hero .mm-hero__intro { max-width: 520px; margin: 26px 0 32px; color: #f0f4f2; font-size: 18px; line-height: 1.7; }
.mm-hero__booking { color: #183a3e; background: #d8eee2; min-height: 24px; }
.mm-hero__booking:hover { background: #fff; color: #183a3e; }
.mm-hero__booking span { font-size: 22px; line-height: 1; }
.mm-hero a:focus-visible, .mm-hero button:focus-visible { outline: 3px solid #d8eee2; outline-offset: 5px; }
.mm-hero__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 88px 26px 0; border-top: 1px solid #ffffff26; }
.mm-hero__location { display: inline-flex; align-items: center; gap: 10px; color: #e0ebe6; font-size: 13px; }
.mm-hero__location:hover { color: #fff; }
.mm-hero__video-toggle { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 8px 0; background: none; color: #e0ebe6; border: 0; font: inherit; font-size: 12px; cursor: pointer; }
.mm-hero__video-toggle[hidden] { display: none; }
.mm-hero:has(.is-menu-open) { z-index: 10000000; }
.mm-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) { background: #203b40; color: #fff; padding: 32px; }
.mm-header .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container { gap: 8px; align-items: flex-start; width: 100%; }
.mm-header .is-menu-open .wp-block-navigation-item { font-size: 22px; }
.mm-header .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; }
.mm-header .is-menu-open .wp-block-navigation-item__content { padding: 12px 0 !important; }
.mm-header .wp-block-navigation__responsive-container-open { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
@media (max-width: 900px) {
  .mm-header { gap: 20px; }
  .mm-header .wp-block-navigation { justify-content: flex-end; order: 3; flex: 0; }
  .mm-header__booking { margin-left: auto; }
  .mm-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .mm-header .wp-block-navigation__responsive-container-open { display: flex !important; }
}
@media (max-width: 600px) {
  .mm-hero { min-height: 730px; padding: 0 24px; }
  .mm-header { min-height: 90px; gap: 12px; }
  .mm-brand { flex-basis: 106px; margin-left: -10px; }
  .mm-brand img { width: 106px; }
  .mm-header__booking { font-size: 12px; padding: 11px 12px; gap: 10px; }
  .mm-header__booking span { display: none; }
  .mm-hero__content { padding: 64px 0 46px; }
  .mm-hero .mm-hero__eyebrow { font-size: 11px; letter-spacing: .09em; margin-bottom: 20px; }
  .mm-hero #mm-hero-title { font-size: clamp(43px, 11.7vw, 64px); }
  .mm-hero .mm-hero__intro { font-size: 16px; line-height: 1.7; margin: 24px 0 30px; }
  .mm-hero__booking { font-size: 15px; padding: 17px 22px; }
  .mm-hero__shade { background: linear-gradient(90deg, #0d2226e8, #0d222699); }
  .mm-hero__footer { align-items: flex-start; flex-direction: column; gap: 0; padding: 18px 70px 18px 0; }
  .mm-hero__location { font-size: 11px; gap: 6px; white-space: nowrap; }
}
@media (max-width: 359px) {
  .mm-header__booking { display: none; }
  .mm-header .wp-block-navigation { margin-left: auto; }
  .mm-hero #mm-hero-title { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  .mm-header__booking, .mm-hero__booking { transition: none; }
}
