.deem-header {
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
  background: rgba(36, 15, 26, .95);
  border-bottom: 1px solid rgba(225, 189, 137, .27);
  color: var(--deem-ivory);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.deem-header--overlay {
  margin-bottom: -79px;
  background: rgba(29, 12, 21, .62);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  transition: background-color 180ms ease;
}

.deem-header--overlay.is-scrolled { background: rgba(29, 12, 21, .96); }

/* Keep section titles visible when a menu link scrolls to an anchor. */
#deem-services,
#deem-gallery,
#deem-reviews,
#deem-about,
#deem-contact { scroll-margin-top: 86px; }

/* Leave room for the WordPress toolbar while it is fixed to the viewport. */
body.admin-bar .deem-header { top: 32px; }

@media (max-width: 782px) {
  body.admin-bar .deem-header { top: 46px; }
}

@media (max-width: 600px) {
  body.admin-bar .deem-header { top: 0; }
}

.deem-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 78px;
  gap: clamp(18px, 3vw, 42px);
}

.deem-header__brand {
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 112px;
  padding-block: 4px;
  text-decoration: none;
}

.deem-header__brand img {
  display: block;
  width: 100px;
  height: 55px;
  object-fit: contain;
  margin: 0;
  filter: drop-shadow(0 1px 1px rgba(20, 4, 12, .15));
}

.deem-header__brand-caption {
  display: block;
  color: var(--deem-gold-light);
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  margin-top: -1px;
}

.deem-header__nav { margin-inline: auto; }

.deem-header__menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(15px, 2.1vw, 31px);
  list-style: none;
  margin: 0;
  padding: 0;
}

.deem-header__menu li { position: relative; margin: 0; padding: 0; }

.deem-header__menu a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--deem-ivory);
  font-family: var(--deem-font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  text-decoration: none;
  transition: color 180ms ease;
}

.deem-header__menu a::after {
  content: '';
  position: absolute;
  inset-inline: 0;
  inset-block-end: 5px;
  height: 1px;
  background: var(--deem-gold-light);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms ease;
}

.deem-header__menu a:hover,
.deem-header__menu a:focus-visible,
.deem-header__menu .current-menu-item > a,
.deem-header__menu .current_page_item > a { color: var(--deem-gold-light); }

.deem-header__menu a:hover::after,
.deem-header__menu a:focus-visible::after,
.deem-header__menu .current-menu-item > a::after,
.deem-header__menu .current_page_item > a::after { transform: scaleX(1); }

.deem-header__menu .current-menu-ancestor > a,
.deem-header__menu .current-menu-parent > a { color: var(--deem-gold-light); }

.deem-header__menu .menu-item-has-children { display: flex; align-items: center; }
.deem-header__submenu-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 18px; width: 18px; height: 44px; margin: 0; padding: 0; border: 0; background: none; color: var(--deem-gold-light); cursor: pointer; }
.deem-header__submenu-toggle svg { transition: transform 180ms ease; }
.deem-header__submenu-toggle[aria-expanded='true'] svg { transform: rotate(180deg); }
.deem-header__submenu-toggle:focus-visible { outline: 2px solid var(--deem-gold-light); outline-offset: 2px; }

.deem-header__menu .sub-menu { position: absolute; z-index: 20; inset-block-start: 100%; inset-inline-start: 0; display: block; width: max-content; min-width: 230px; max-width: min(310px, 90vw); margin: 0; padding: 9px; border: 1px solid rgba(225,189,137,.43); border-radius: 5px; background: #29131e; box-shadow: 0 17px 36px rgba(13,3,8,.34); list-style: none; visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(7px); transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease; }
.deem-header__menu .sub-menu .sub-menu { inset-block-start: -10px; inset-inline-start: auto; inset-inline-end: 100%; transform: translateX(7px); }
.deem-header__menu .sub-menu li { display: flex; width: 100%; align-items: center; border: 0; }
.deem-header__menu .sub-menu li + li { border-top: 1px solid rgba(225,189,137,.13); }
.deem-header__menu .sub-menu a { flex: 1; min-width: 0; min-height: 43px; padding: 10px 12px; color: var(--deem-ivory); font-size: 14px; line-height: 1.55; white-space: normal; }
.deem-header__menu .sub-menu a::after { display: none; }
.deem-header__menu .sub-menu a:hover,
.deem-header__menu .sub-menu a:focus-visible,
.deem-header__menu .sub-menu .current-menu-item > a { color: var(--deem-gold-light); }
.deem-header__menu .sub-menu .deem-header__submenu-toggle { height: 42px; margin-inline-end: 6px; }
.deem-header__menu .sub-menu .deem-header__submenu-toggle svg { transform: rotate(90deg); }
.deem-header__menu .sub-menu .deem-header__submenu-toggle[aria-expanded='true'] svg { transform: rotate(270deg); }
.deem-header__menu li.is-submenu-open > .sub-menu { visibility: visible; opacity: 1; pointer-events: auto; transform: none; }
@media (hover: hover) and (min-width: 901px) {
  .deem-header__menu li:hover > .sub-menu { visibility: visible; opacity: 1; pointer-events: auto; transform: none; }
}

.deem-header__actions {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}

.deem-header__booking {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 42px;
  padding: 7px 19px;
  border: 1px solid var(--deem-gold-light);
  border-radius: 4px;
  box-shadow: inset 0 0 0 2px rgba(225, 189, 137, .12);
  color: var(--deem-gold-light);
  font-family: var(--deem-font-body);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease;
}

.deem-header__booking:hover,
.deem-header__booking:focus-visible {
  background: var(--deem-gold-light);
  color: var(--deem-plum-deep);
}

.deem-header__booking svg { flex: 0 0 auto; }
.deem-header__toggle { display: none; }

@media (max-width: 1060px) {
  .deem-header__inner { gap: 16px; }
  .deem-header__menu { gap: 14px; }
  .deem-header__menu a { font-size: 13px; }
  .deem-header__booking { padding-inline: 13px; }
}

@media (max-width: 900px) {
  .deem-header--overlay { margin-bottom: -75px; }
  #deem-services,
  #deem-gallery,
  #deem-reviews,
  #deem-about,
  #deem-contact { scroll-margin-top: 78px; }
  .deem-header__inner { min-height: 74px; }
  .deem-header__brand { width: 100px; }
  .deem-header__brand img { width: 90px; height: 51px; }
  .deem-header__booking {
    min-height: 40px;
    gap: 6px;
    padding: 6px 10px;
    font-size: 12px;
  }
  .deem-header__booking svg { width: 15px; height: 15px; }

  #deem-site-header button.deem-header__toggle {
    display: inline-flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(225, 189, 137, .62);
    border-radius: 4px;
    background: transparent;
    box-shadow: none;
    color: var(--deem-gold-light);
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
  }

  #deem-site-header button.deem-header__toggle:is(:hover, :focus, :active, [aria-expanded='true']) {
    border-color: var(--deem-gold-light);
    background: rgba(225, 189, 137, .14);
    box-shadow: none;
    color: var(--deem-gold-light);
  }

  #deem-site-header button.deem-header__toggle:focus-visible {
    outline: 2px solid var(--deem-gold-light);
    outline-offset: 3px;
  }

  #deem-site-header button.deem-header__toggle:focus:not(:focus-visible) { outline: none; }

  .deem-header__toggle span {
    display: block;
    width: 18px;
    height: 1.5px;
    background: currentColor;
    transition: transform 180ms ease, opacity 180ms ease;
  }

  .deem-header__toggle[aria-expanded='true'] span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  .deem-header__toggle[aria-expanded='true'] span:nth-child(2) { opacity: 0; }
  .deem-header__toggle[aria-expanded='true'] span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

  .deem-header__nav {
    position: absolute;
    inset-block-start: 100%;
    inset-inline: 0;
    z-index: 1;
    margin: 0;
    padding: 20px var(--deem-gutter) 28px;
    border-bottom: 1px solid rgba(225, 189, 137, .35);
    background: var(--deem-plum-deep);
    box-shadow: 0 20px 30px rgba(20, 4, 12, .22);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: visibility 180ms ease, opacity 180ms ease, transform 180ms ease;
    max-height: calc(100dvh - 75px);
    overflow-y: auto;
  }

  .deem-header__nav.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .deem-header__menu { display: block; }
  .deem-header__menu > li + li { border-top: 1px solid rgba(244, 237, 228, .12); }
  .deem-header__menu a { display: flex; min-height: 48px; font-size: 16px; }
  .deem-header__menu a::after { inset-inline-end: auto; width: 42px; }
  .deem-header__menu .menu-item-has-children { flex-wrap: wrap; justify-content: space-between; }
  .deem-header__menu .menu-item-has-children > a { flex: 1; }
  .deem-header__submenu-toggle,
  .deem-header__menu .sub-menu .deem-header__submenu-toggle { flex: 0 0 44px; width: 44px; height: 48px; margin: 0; }
  .deem-header__menu .sub-menu .deem-header__submenu-toggle svg { transform: none; }
  .deem-header__menu .sub-menu .deem-header__submenu-toggle[aria-expanded='true'] svg { transform: rotate(180deg); }
  .deem-header__menu .sub-menu,
  .deem-header__menu .sub-menu .sub-menu { position: static; display: none; flex: 0 0 100%; width: 100%; min-width: 0; max-width: none; margin: 0 0 8px; padding: 0 13px 0 0; border: 0; border-inline-start: 1px solid rgba(225,189,137,.52); border-radius: 0; background: rgba(225,189,137,.055); box-shadow: none; visibility: visible; opacity: 1; pointer-events: auto; transform: none; transition: none; }
  .deem-header__menu .sub-menu .sub-menu { margin-inline: 12px 0; }
  .deem-header__menu li.is-submenu-open > .sub-menu { display: block; }
  .deem-header__menu .sub-menu li { flex-wrap: wrap; }
  .deem-header__menu .sub-menu a { min-height: 45px; font-size: 14px; }
}

@media (max-width: 360px) {
  .deem-header__brand { width: 88px; }
  .deem-header__brand img { width: 82px; }
  .deem-header__brand-caption { font-size: 10px; }
  .deem-header__inner { gap: 10px; }
  .deem-header__booking { padding-inline: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .deem-header--overlay,
  .deem-header__menu a,
  .deem-header__menu a::after,
  .deem-header__menu .sub-menu,
  .deem-header__submenu-toggle svg,
  .deem-header__booking,
  .deem-header__toggle,
  .deem-header__toggle span,
  .deem-header__nav { transition: none; }
}
