.hm-mobile-action-bar {
  display: none;
}
@media (max-width: 700px) {
  body.hm-has-mobile-action-bar {
    padding-bottom: calc(64px + env(safe-area-inset-bottom));
  }
  .hm-has-mobile-action-bar .hm-mobile-action-bar {
    position: fixed;
    z-index: 9998;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    width: 100%;
    height: 64px;
    padding-bottom: env(safe-area-inset-bottom);
    box-sizing: content-box;
    box-shadow: 0 -4px 16px rgba(51, 36, 25, .08);
    background: #8B6759;
  }
  .hm-mobile-action-bar__item {
    display: flex;
    flex: 1 1 50%;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 0;
    height: 64px;
    padding: 0 10px;
    box-sizing: border-box;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
  }
  .hm-mobile-action-bar__item--phone {
    background: #8B6759;
  }
  .hm-mobile-action-bar__item--route {
    border: 0;
    border-right: 1px solid #C4B7A9;
    border-radius: 0;
    background: #8B6759;
  }
  .hm-mobile-action-bar__item--route svg {
    flex-basis: 18px;
    width: 18px;
    height: 18px;
  }
  .hm-mobile-action-bar__item--route .hm-directions-button__arrow {
    font-size: 17px;
  }
  .hm-mobile-action-bar__item:hover,
  .hm-mobile-action-bar__item:focus-visible {
    color: #FFFFFF;
    background: #765549;
  }
}
@media (max-width: 700px) {
  .hm-mobile-action-bar__item--route svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }
}
/* Shared mobile navigation: full-width, readable dropdown with the reference site's animated three-line control. */
@media (max-width: 900px) {
  html.mobile-menu-open,
  body.mobile-menu-open { overflow: hidden !important; }

  .site-header {
    position: relative !important;
    z-index: 10000 !important;
  }
  .site-header .header-inner {
    position: relative !important;
    z-index: 10000 !important;
  }

  .menu-toggle {
    display: flex !important;
    width: 44px !important;
    height: 44px !important;
    padding: 9px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 6px !important;
    border: 0 !important;
    background: transparent !important;
    color: #18232b !important;
    cursor: pointer;
    z-index: 12012 !important;
  }
  .menu-toggle > span:not(.screen-reader-text) {
    display: block !important;
    width: 26px !important;
    height: 2px !important;
    margin: 0 !important;
    background: currentColor !important;
    transform-origin: center !important;
    transition: transform .2s ease, opacity .2s ease !important;
  }
  .menu-toggle[aria-expanded="true"] > span:nth-of-type(1) { transform: translateY(8px) rotate(45deg) !important; }
  .menu-toggle[aria-expanded="true"] > span:nth-of-type(2) { opacity: 0 !important; }
  .menu-toggle[aria-expanded="true"] > span:nth-of-type(3) { transform: translateY(-8px) rotate(-45deg) !important; }
  .menu-toggle:focus-visible,
  #hm-header-shell #hm-menu-toggle:focus-visible { outline: 2px solid #71372a !important; outline-offset: 3px !important; }

  .site-header .header-inner > .primary-nav {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 12011 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: calc(100vh - 74px) !important;
    max-height: calc(100dvh - 74px) !important;
    margin: 0 !important;
    padding: 8px 18px 22px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 0 !important;
    background: #fffefa !important;
    border: 0 !important;
    border-bottom: 1px solid #e9e2d9 !important;
    box-shadow: 0 18px 24px rgba(16,47,53,.12) !important;
  }
  .site-header .header-inner > .primary-nav.is-open { display: flex !important; }
  .site-header .header-inner > .primary-nav[hidden] { display: none !important; }
  .site-header .primary-nav ul,
  .site-header .primary-nav .menu {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #302720 !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
  }
  .site-header .primary-nav ul > li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    border: 0 !important;
    border-bottom: 1px solid #e9e2d9 !important;
  }
  .site-header .primary-nav ul > li > a,
  .site-header .primary-nav ul > li > a * {
    display: block !important;
    width: auto !important;
    min-height: 84px !important;
    padding: 20px 8px !important;
    box-sizing: border-box !important;
    color: #302720 !important;
    -webkit-text-fill-color: #302720 !important;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.7 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    letter-spacing: normal !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
  }
  .site-header .primary-nav .nav-item-icon { display: none !important; }
  .site-header .primary-nav .nav-phone {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 16px 0 0 !important;
    padding: 13px 12px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #71372a !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    box-shadow: 0 5px 14px rgba(65,35,25,.16) !important;
  }
  .site-header .primary-nav .nav-phone * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  #hm-header-shell {
    position: relative !important;
    z-index: 10000 !important;
  }
  #hm-header-shell #hm-site-header { position: relative !important; }
  #hm-header-shell .hm-header-actions,
  body.mobile-menu-visible #hm-header-shell .hm-header-actions {
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    right: 18px !important;
    z-index: 12012 !important;
    transform: translateY(-50%) !important;
  }
  #hm-header-shell #hm-menu-toggle,
  #hm-header-shell #hm-menu-toggle:hover,
  #hm-header-shell #hm-menu-toggle:focus {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    box-sizing: border-box !important;
    padding: 9px !important;
    color: #18232b !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  #hm-header-shell #hm-menu-toggle .hm-menu-toggle__icon,
  #hm-header-shell #hm-menu-toggle .hm-menu-toggle__icon::before,
  #hm-header-shell #hm-menu-toggle .hm-menu-toggle__icon::after {
    display: block !important;
    width: 26px !important;
    height: 2px !important;
    background: currentColor !important;
    transition: transform .2s ease, opacity .2s ease !important;
  }
  #hm-header-shell #hm-menu-toggle .hm-menu-toggle__icon {
    position: relative !important;
    height: 2px !important;
    overflow: visible !important;
  }
  #hm-header-shell #hm-menu-toggle .hm-menu-toggle__icon::before,
  #hm-header-shell #hm-menu-toggle .hm-menu-toggle__icon::after {
    position: absolute !important;
    left: 0 !important;
    content: "" !important;
  }
  #hm-header-shell #hm-menu-toggle .hm-menu-toggle__icon::before { top: -8px !important; transform: none !important; }
  #hm-header-shell #hm-menu-toggle .hm-menu-toggle__icon::after { top: 8px !important; transform: none !important; }
  #hm-header-shell #hm-menu-toggle[aria-expanded="true"] .hm-menu-toggle__icon { background: transparent !important; }
  #hm-header-shell #hm-menu-toggle[aria-expanded="true"] .hm-menu-toggle__icon::before { top: 0 !important; transform: rotate(45deg) !important; }
  #hm-header-shell #hm-menu-toggle[aria-expanded="true"] .hm-menu-toggle__icon::after { top: 0 !important; transform: rotate(-45deg) !important; }
  #hm-header-shell #hm-menu-close { display: none !important; }

  #hm-header-shell #hm-mobile-navigation {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 74px) !important;
    max-height: calc(100dvh - 74px) !important;
    margin: 0 !important;
    padding: 8px 18px 22px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    background: #fffefa !important;
    border: 0 !important;
    border-bottom: 1px solid #e9e2d9 !important;
    box-shadow: 0 18px 24px rgba(16,47,53,.12) !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    transition: none !important;
    z-index: 12011 !important;
  }
  #hm-header-shell #hm-site-header #hm-mobile-navigation { top: 100% !important; }
  #hm-header-shell #hm-mobile-navigation.hm-mobile-navigation--open { display: block !important; }
  #hm-header-shell #hm-mobile-navigation.hm-mobile-navigation--closed { display: none !important; }
  #hm-header-shell #hm-mobile-navigation .hm-navigation-shell,
  #hm-header-shell #hm-mobile-navigation #hm-primary-navigation,
  #hm-header-shell #hm-mobile-navigation #hm-navigation-list {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    color: #302720 !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
  }
  #hm-header-shell #hm-mobile-navigation #hm-navigation-list > li {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    border: 0 !important;
    border-bottom: 1px solid #e9e2d9 !important;
    background: transparent !important;
  }
  #hm-header-shell #hm-mobile-navigation #hm-navigation-list > li > a,
  #hm-header-shell #hm-mobile-navigation #hm-navigation-list > li > a * {
    display: block !important;
    width: auto !important;
    min-height: 84px !important;
    padding: 20px 8px !important;
    box-sizing: border-box !important;
    color: #302720 !important;
    -webkit-text-fill-color: #302720 !important;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.7 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    letter-spacing: normal !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
  }
  #hm-header-shell #hm-site-header #hm-mobile-navigation #hm-navigation-list > li > a > .hm-menu-icon {
    display: none !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
  #hm-header-shell #hm-mobile-navigation .hm-nav-phone,
  #hm-header-shell #hm-mobile-navigation #hm-primary-navigation > .hm-nav-phone {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 16px 0 0 !important;
    padding: 13px 12px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #71372a !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    box-shadow: 0 5px 14px rgba(65,35,25,.16) !important;
  }
  #hm-header-shell #hm-mobile-navigation .hm-nav-phone *,
  #hm-header-shell #hm-mobile-navigation #hm-primary-navigation > .hm-nav-phone * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }
}

/* v1.5.238: Keep the fixed reservation bar visible while the mobile menu is open. */
@media (max-width: 700px) {
  body.mobile-menu-open #hm-header-shell #hm-site-header #hm-mobile-navigation {
    position: fixed !important;
    top: 81px !important;
    right: 0 !important;
    bottom: calc(64px + env(safe-area-inset-bottom)) !important;
    left: 0 !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom: 12px !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }
  body.mobile-menu-open .hm-mobile-action-bar {
    z-index: 12012 !important;
  }
}

@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
  .menu-toggle > span:not(.screen-reader-text),
  #hm-header-shell #hm-menu-toggle .hm-menu-toggle__icon,
  #hm-header-shell #hm-menu-toggle .hm-menu-toggle__icon::before,
  #hm-header-shell #hm-menu-toggle .hm-menu-toggle__icon::after { transition: none !important; }
}

/* Compact, shared mobile menu for the site header templates. */
@media (max-width: 900px) {
  .site-header .header-inner > .primary-nav,
  #hm-header-shell #hm-mobile-navigation {
    display: none !important;
    position: absolute !important;
    inset: 100% 0 auto 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 74px) !important;
    max-height: calc(100dvh - 74px) !important;
    margin: 0 !important;
    padding: 8px 18px 14px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: none !important;
    background: #fffefa !important;
    border: 0 !important;
    border-bottom: 1px solid #e9e2d9 !important;
    box-shadow: 0 18px 24px rgba(16,47,53,.12) !important;
    z-index: 12011 !important;
  }
  .site-header .header-inner > .primary-nav.is-open { display: flex !important; }
  #hm-header-shell #hm-mobile-navigation.hm-mobile-navigation--open { display: block !important; }
  .site-header .header-inner > .primary-nav[hidden],
  #hm-header-shell #hm-mobile-navigation.hm-mobile-navigation--closed { display: none !important; }

  .site-header .primary-nav ul,
  #hm-header-shell #hm-mobile-navigation #hm-navigation-list,
  #hm-header-shell #hm-mobile-navigation #hm-primary-navigation,
  #hm-header-shell #hm-mobile-navigation .hm-navigation-shell {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
  }
  .site-header .primary-nav ul > li,
  #hm-header-shell #hm-mobile-navigation #hm-navigation-list > li {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #e9e2d9 !important;
    background: transparent !important;
  }
  .site-header .primary-nav ul > li > a,
  #hm-header-shell #hm-mobile-navigation #hm-navigation-list > li > a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 8px !important;
    box-sizing: border-box !important;
    color: #302720 !important;
    -webkit-text-fill-color: #302720 !important;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    text-align: left !important;
    text-decoration: none !important;
    letter-spacing: normal !important;
    background: transparent !important;
  }
  .site-header .primary-nav .nav-item-icon,
  #hm-header-shell #hm-mobile-navigation .hm-menu-icon { display: none !important; }

  .site-header .primary-nav .nav-phone,
  #hm-header-shell #hm-mobile-navigation .hm-nav-phone {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    margin: 10px 0 0 !important;
    padding: 8px 12px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #71372a !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 0 5px 14px rgba(65,35,25,.16) !important;
  }
  .site-header .primary-nav .nav-phone-label,
  #hm-header-shell #hm-mobile-navigation .hm-nav-phone-copy > span {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }
  .site-header .primary-nav .nav-phone strong,
  #hm-header-shell #hm-mobile-navigation .hm-nav-phone-copy strong {
    margin-top: 1px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
  }
  .site-header .primary-nav .nav-phone *,
  #hm-header-shell #hm-mobile-navigation .hm-nav-phone * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }
}

/* v1.5.52: comfortable menu rows with reliable touch scrolling. */
@media (max-width: 900px) {
  .site-header .header-inner > .primary-nav,
  #hm-header-shell #hm-mobile-navigation {
    top: 100% !important;
    bottom: calc(100% - 100vh) !important;
    bottom: calc(100% - 100dvh) !important;
    height: auto !important;
    max-height: none !important;
    padding: 8px 18px max(14px, env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain !important;
    touch-action: pan-y !important;
  }

  .site-header .header-inner > .primary-nav {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .site-header .header-inner > .primary-nav.is-open {
    display: flex !important;
  }

  #hm-header-shell #hm-mobile-navigation.hm-mobile-navigation--open {
    display: block !important;
  }
  #hm-header-shell #hm-mobile-navigation.hm-mobile-navigation--closed {
    display: none !important;
  }

  .site-header .header-inner > .primary-nav > ul,
  .site-header .header-inner > .primary-nav > .menu,
  #hm-header-shell #hm-mobile-navigation .hm-navigation-shell,
  #hm-header-shell #hm-mobile-navigation #hm-primary-navigation,
  #hm-header-shell #hm-mobile-navigation #hm-navigation-list {
    display: block !important;
    float: none !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    list-style: none !important;
    background: transparent !important;
  }

  .site-header .primary-nav ul > li,
  #hm-header-shell #hm-mobile-navigation #hm-navigation-list > li {
    display: block !important;
    float: none !important;
    flex: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header .primary-nav ul > li > a,
  #hm-header-shell #hm-mobile-navigation #hm-navigation-list > li > a {
    min-height: 54px !important;
    height: auto !important;
    padding: 9px 8px !important;
    line-height: 1.45 !important;
    box-sizing: border-box !important;
  }

  .site-header .primary-nav .nav-phone,
  #hm-header-shell #hm-mobile-navigation .hm-nav-phone {
    flex: none !important;
    min-height: 54px !important;
    margin: 8px 0 0 !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
  }
}
/* v1.5.53: keep the mobile header visible while the page scrolls. */
@media (max-width: 900px) {
  .site-header,
  #hm-header-shell {
    position: sticky !important;
    top: 0 !important;
    z-index: 12010 !important;
  }
}
/* v1.5.54: pin the mobile header to the viewport and reserve its space. */
@media (max-width: 900px) {
  .site-header,
  #hm-header-shell {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    z-index: 12010 !important;
  }

  body.admin-bar .site-header,
  body.admin-bar #hm-header-shell {
    top: 32px !important;
  }

  #hm-site-shell {
    padding-top: 120px !important;
  }
}

@media (max-width: 782px) {
  body.admin-bar .site-header,
  body.admin-bar #hm-header-shell {
    top: 46px !important;
  }
}
/* One mobile header, with white artwork at the top and photographed cloth after the introduction. */
@media (max-width: 900px) {
  html { scrollbar-gutter: stable; }
  body {
    /* 949 x 204 source canvas, capped at 448 CSS pixels of artwork on tablets. */
    --hm-header-cap: 448px;
    --hm-header-limit: calc(var(--hm-header-cap) * 204 / 949);
  }
  #hm-site-shell,
  .site-header + .site-main {
    padding-top: min(calc(100% * 204 / 949), var(--hm-header-limit)) !important;
  }
  body :is(#hm-header-shell, .site-header) {
    --hm-noren-brand: min(calc(100% * 806 / 949), calc(var(--hm-header-cap) * 806 / 949));
    --hm-noren-menu: min(calc(100% * 143 / 949), calc(var(--hm-header-cap) * 143 / 949));
    --hm-brand-art: url("../images/mobile-header-brand.webp");
    --hm-menu-art: url("../images/mobile-header-menu-c.svg");
    /* Use actual available width, including on browsers with a classic scrollbar. */
    aspect-ratio: 949 / 204;
    height: auto !important;
    max-height: var(--hm-header-limit) !important;
    min-height: 0 !important;
    bottom: auto !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    transition: none !important;
  }
  body.hm-mobile-noren-active:not(.mobile-menu-open) :is(#hm-header-shell, .site-header) {
    --hm-brand-art: url("../images/mobile-noren-five.webp?v=1.5.94");
    --hm-menu-art: url("../images/mobile-noren-plain.webp?v=1.5.94");
    background: transparent !important;
  }
  body.mobile-menu-open :is(#hm-header-shell, .site-header) {
    --hm-menu-art: none;
  }
  body :is(#hm-header-shell, .site-header)::before { display: none; }
  /* The veil sits behind the cloth, from the fabric loops to just below the hem. */
  body.hm-mobile-noren-active:not(.mobile-menu-open) :is(#hm-header-shell, .site-header)::before {
    content: "";
    display: block !important;
    position: absolute;
    inset: 13% 0 -3px;
    width: auto;
    height: auto;
    z-index: 0;
    pointer-events: none;
    background: rgba(255, 254, 252, .91);
    -webkit-mask-image: linear-gradient(#000 calc(100% - 5px), transparent);
    mask-image: linear-gradient(#000 calc(100% - 5px), transparent);
  }
  @supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    body.hm-mobile-noren-active:not(.mobile-menu-open) :is(#hm-header-shell, .site-header)::before {
      background: rgba(255, 254, 252, .73);
      -webkit-backdrop-filter: blur(7px);
      backdrop-filter: blur(7px);
    }
  }
  body :is(#hm-header-shell, .site-header)::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: var(--hm-brand-art) left top / var(--hm-noren-brand) 100% no-repeat,
                var(--hm-menu-art) right 2px top -4px / var(--hm-noren-menu) 100% no-repeat;
  }
  body.hm-mobile-noren-active:not(.mobile-menu-open) :is(#hm-header-shell, .site-header)::after { background-position: left top, right top !important; background-size: var(--hm-noren-brand) 100%, auto 100% !important; }
  body.hm-mobile-noren-active:not(.mobile-menu-open) :is(#hm-header-shell #hm-site-header, .site-header .header-inner)::after { content:""; display:block; position:absolute; inset:0; z-index:3; pointer-events:none; background-image:url("../images/mobile-noren-menu-button.svg"); background-repeat:no-repeat; background-size:var(--hm-noren-menu) 100%; background-position:right 2px top 3px; }
  body :is(#hm-header-shell #hm-site-header, .site-header .header-inner) {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    z-index: 2;
  }
  body.hm-mobile-noren-active:not(.mobile-menu-open) :is(#hm-header-shell #hm-site-header, .site-header .header-inner)::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 var(--hm-noren-menu) 0 var(--hm-noren-brand);
    pointer-events: none;
    background: url("../images/mobile-noren-plain.webp?v=1.5.94") left top / auto 100% repeat-x;
  }

  /* Keep the labeled Home link and menu trigger on the same artwork in both states. */
  body #hm-header-shell :is(.hm-header-main, #site-logo) {
    display: block !important;
    position: static !important;
    margin: 0 !important;
  }
  body :is(#hm-header-shell #site-logo > a, .site-header .brand, .site-header .custom-logo-link) {
    display: block;
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--hm-noren-brand);
    height: 100%;
  }
  body :is(#hm-header-shell #site-logo img, .site-header .brand img, .site-header .custom-logo-link img) {
    opacity: 0;
  }
  body :is(#hm-header-shell .hm-header-actions, .site-header .menu-toggle),
  body.admin-bar #hm-header-shell .hm-header-actions,
  body.mobile-menu-open #hm-header-shell .hm-header-actions {
    position: absolute !important;
    inset: 0 0 0 auto !important;
    width: var(--hm-noren-menu) !important;
    min-width: 44px;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }
  body #hm-header-shell #hm-menu-toggle,
  body #hm-header-shell #hm-menu-toggle:is(:hover, :focus) {
    margin: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  body:not(.mobile-menu-open) :is(#hm-header-shell #hm-menu-toggle .hm-menu-toggle__icon, .site-header .menu-toggle > span:not(.screen-reader-text)) {
    visibility: hidden;
  }
  body :is(#hm-header-shell #hm-menu-toggle, .site-header .menu-toggle):focus-visible {
    outline-offset: -4px !important;
  }
}

/* v1.5.213: Keep the mobile noren artwork at its natural height in landscape. */
@media (max-width: 900px) and (orientation: landscape) {
  body {
    --hm-header-cap: 900px;
    --hm-header-limit: calc(var(--hm-header-cap) * 204 / 949);
  }
}

/* v1.5.232: Full-width mobile menu with clear illustrated section icons. */
@media (max-width: 900px) {
  .site-header .header-inner > .primary-nav,
  #hm-header-shell #hm-mobile-navigation {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    background: #fff !important;
  }

  .site-header .primary-nav ul > li > a,
  #hm-header-shell #hm-mobile-navigation #hm-navigation-list > li > a {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 13px !important;
    width: 100% !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 8px 18px !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid #e9e2d9 !important;
    color: #302720 !important;
    -webkit-text-fill-color: #302720 !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    text-align: left !important;
    text-decoration: none !important;
    background: transparent !important;
  }

  #hm-header-shell #hm-site-header #hm-mobile-navigation #hm-navigation-list > li > a > .hm-menu-icon {
    display: inline-flex !important;
    position: static !important;
    flex: 0 0 36px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    border-radius: 10px !important;
    background: #f7f1ec !important;
    color: #71372a !important;
    -webkit-text-fill-color: #71372a !important;
    box-sizing: border-box !important;
  }

  #hm-header-shell #hm-site-header #hm-mobile-navigation #hm-navigation-list > li > a > .hm-menu-icon svg {
    display: block !important;
    width: 21px !important;
    height: 21px !important;
    min-height: 0 !important;
    padding: 0 !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.65 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    overflow: visible !important;
  }

  .site-header .primary-nav ul > li > a:hover,
  .site-header .primary-nav ul > li > a:focus-visible,
  #hm-header-shell #hm-mobile-navigation #hm-navigation-list > li > a:hover,
  #hm-header-shell #hm-mobile-navigation #hm-navigation-list > li > a:focus-visible {
    background: #fcfaf8 !important;
  }

  .site-header .primary-nav .nav-phone,
  #hm-header-shell #hm-mobile-navigation .hm-nav-phone,
  .site-header .primary-nav > .nav-directions,
  #hm-header-shell #hm-mobile-navigation .hm-nav-directions {
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    box-sizing: border-box !important;
  }

  .site-header .primary-nav .nav-phone,
  #hm-header-shell #hm-mobile-navigation .hm-nav-phone {
    margin-top: 12px !important;
  }

  .site-header .primary-nav > .nav-directions,
  #hm-header-shell #hm-mobile-navigation .hm-nav-directions {
    margin-top: 8px !important;
  }
}

@media (max-width: 900px) {
  :is(#hm-header-shell #hm-site-header #hm-mobile-navigation #hm-navigation-list, .site-header .primary-nav #primary-menu) .menu-item-home > a { --hm-menu-art: url("../images/menu-326/home.webp"); }
  :is(#hm-header-shell #hm-site-header #hm-mobile-navigation #hm-navigation-list, .site-header .primary-nav #primary-menu) li > a[href$="/eat/"] { --hm-menu-art: url("../images/menu-326/food.webp"); }
  :is(#hm-header-shell #hm-site-header #hm-mobile-navigation #hm-navigation-list, .site-header .primary-nav #primary-menu) li > a[href$="/drink/"] { --hm-menu-art: url("../images/menu-326/drink.webp"); }
  :is(#hm-header-shell #hm-site-header #hm-mobile-navigation #hm-navigation-list, .site-header .primary-nav #primary-menu) li > a[href$="/visit/"] { --hm-menu-art: url("../images/menu-326/visit.webp"); }
  :is(#hm-header-shell #hm-site-header #hm-mobile-navigation #hm-navigation-list, .site-header .primary-nav #primary-menu) li > a[href$="/daishi/"] { --hm-menu-art: url("../images/menu-326/greeting.webp"); }
  :is(#hm-header-shell #hm-site-header #hm-mobile-navigation #hm-navigation-list, .site-header .primary-nav #primary-menu) li > a[href$="/dayori/"] { --hm-menu-art: url("../images/menu-326/journal.webp"); }
  :is(#hm-header-shell #hm-site-header #hm-mobile-navigation #hm-navigation-list, .site-header .primary-nav #primary-menu) li > a[href$="/shop/"] { --hm-menu-art: url("../images/menu-326/shop.webp"); }
  :is(#hm-header-shell #hm-site-header #hm-mobile-navigation #hm-navigation-list, .site-header .primary-nav #primary-menu) > li > a > :is(.hm-menu-icon, .nav-item-icon) {
    display: inline-block !important;
    position: static !important;
    flex: 0 0 82px !important;
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent var(--hm-menu-art) center / contain no-repeat !important;
  }
  :is(#hm-header-shell #hm-site-header #hm-mobile-navigation #hm-navigation-list, .site-header .primary-nav #primary-menu) > li > a > :is(.hm-menu-icon, .nav-item-icon) > svg,
  :is(#hm-header-shell #hm-site-header #hm-mobile-navigation #hm-navigation-list, .site-header .primary-nav #primary-menu) > li > a > :is(.hm-menu-icon, .nav-item-icon)::before {
    display: none !important;
  }
}
