.language-switcher{
  display:flex;
  align-items:center;
  gap:5px;
  direction:ltr;
  flex:0 0 auto;
}
.language-switcher a{
  min-width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 9px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:#fffdf8 !important;
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.06em;
  line-height:1;
  text-decoration:none;
}
.language-switcher a:hover,
.language-switcher a:focus-visible,
.language-switcher a.is-current-lang{
  background:var(--gold-2);
  border-color:var(--gold-2);
  color:var(--navy) !important;
}
.language-switcher--mobile{display:none}

.site-header__inner{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:24px !important;
}
.primary-nav{
  justify-self:end !important;
}

/* Hebrew RTL */
html[dir="rtl"] body{
  direction:rtl;
  text-align:right;
  font-family:Arial,"Arial Hebrew",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3,
html[dir="rtl"] .display-title,
html[dir="rtl"] .brand strong{
  font-family:Georgia,"Times New Roman","Arial Hebrew",serif;
  letter-spacing:-.025em;
}
html[dir="rtl"] .site-header__inner,
html[dir="rtl"] .brand,
html[dir="rtl"] .language-switcher,
html[dir="rtl"] .utility-rail{
  direction:ltr;
}
html[dir="rtl"] .primary-nav{
  direction:rtl;
  text-align:right;
}
html[dir="rtl"] .primary-nav a{
  letter-spacing:.04em !important;
}
html[dir="rtl"] .hero__content,
html[dir="rtl"] .copy-block,
html[dir="rtl"] .menu-feature__copy,
html[dir="rtl"] .compact-category,
html[dir="rtl"] .contact-details-panel,
html[dir="rtl"] .form-card,
html[dir="rtl"] .contact-route-card__body,
html[dir="rtl"] .faq,
html[dir="rtl"] .blog-index-head,
html[dir="rtl"] .blog-card__body,
html[dir="rtl"] .article-copy,
html[dir="rtl"] .article-side,
html[dir="rtl"] .privacy-copy,
html[dir="rtl"] .booking-cta__inner{
  text-align:right;
}
html[dir="rtl"] input,
html[dir="rtl"] textarea{
  text-align:right;
  direction:rtl;
}
html[dir="rtl"] .menu-row{
  direction:rtl;
}
html[dir="rtl"] .menu-row b{
  direction:ltr;
}
html[dir="rtl"] .booking-cta__button span,
html[dir="rtl"] .blog-card__link span{
  display:inline-block;
  transform:rotate(180deg);
}
html[dir="rtl"] .article-back{
  direction:rtl;
}

@media(max-width:1180px){
  .site-header__inner{gap:14px !important}
  .primary-nav{gap:17px !important}
  .language-switcher a{min-width:31px;padding-inline:7px}
}

@media(max-width:960px){
  .site-header__inner{
    grid-template-columns:auto 1fr auto !important;
  }
  .language-switcher--desktop{display:none !important}
  .language-switcher--mobile{
    display:flex !important;
    width:100%;
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.12);
    gap:8px;
  }
  .language-switcher--mobile a{
    width:auto !important;
    min-width:0 !important;
    height:40px !important;
    padding:0 14px !important;
    border:1px solid rgba(255,255,255,.18) !important;
  }
  html[dir="rtl"] .primary-nav{
    align-items:stretch !important;
    text-align:right;
  }
}




/* Header contains navigation only; language control now belongs to utility tools. */
.language-switcher{
  display:none !important;
}
.site-header__inner{
  grid-template-columns:auto 1fr auto !important;
}
.primary-nav{
  justify-self:end !important;
}

/* Compact language selector integrated in the existing utility rail. */
.utility-lang{
  position:relative;
  flex:0 0 auto;
  direction:ltr;
}
.utility-lang summary{
  list-style:none;
}
.utility-lang summary::-webkit-details-marker{
  display:none;
}
.utility-lang__trigger{
  width:42px;
  height:42px;
  padding:0;
  display:grid;
  grid-template-columns:16px auto;
  align-items:center;
  justify-content:center;
  column-gap:3px;
  border:1px solid transparent;
  border-radius:50%;
  color:#fffdf8;
  background:transparent;
  cursor:pointer;
  font:inherit;
}
.utility-lang__trigger svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.utility-lang__code{
  font-size:.56rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.01em;
}
.utility-lang[open] .utility-lang__trigger,
.utility-lang__trigger:hover,
.utility-lang__trigger:focus-visible{
  background:#fffaf3;
  color:var(--navy);
}
.utility-lang__menu{
  position:absolute;
  z-index:420;
  right:52px;
  bottom:0;
  width:168px;
  padding:7px;
  display:grid;
  gap:3px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:#061d25;
  box-shadow:0 16px 44px rgba(0,0,0,.24);
}
.utility-lang__menu a{
  min-height:38px;
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:center;
  gap:8px;
  padding:6px 9px;
  border-radius:9px;
  color:#fffdf8;
  font-size:.72rem;
  text-decoration:none;
}
.utility-lang__menu a span{
  font-weight:800;
}
.utility-lang__menu a strong{
  font-size:.72rem;
  font-weight:600;
}
.utility-lang__menu a:hover,
.utility-lang__menu a:focus-visible,
.utility-lang__menu a.is-current-lang{
  background:var(--gold-2);
  color:var(--navy);
}

/* Hebrew menu labels are readable without changing toolbar geometry. */
html[dir="rtl"] .utility-lang,
html[dir="rtl"] .utility-lang__menu{
  direction:ltr;
}
html[dir="rtl"] .utility-lang__menu strong{
  direction:rtl;
  text-align:right;
}

/* Mobile: language popup opens above the fixed bottom strip. */
@media(max-width:760px){
  .utility-lang__trigger{
    width:40px;
    height:40px;
    border-radius:4px;
  }
  .utility-lang__menu{
    right:-2px;
    bottom:48px;
    width:168px;
    border-radius:12px 12px 4px 12px;
  }
  .utility-rail__divider--language{
    display:none !important;
  }
}

@media(max-width:390px){
  .utility-lang__trigger{
    width:37px;
    height:37px;
  }
  .utility-lang__trigger svg{
    width:14px;
    height:14px;
  }
  .utility-lang__code{
    font-size:.52rem;
  }
  .utility-lang__menu{
    bottom:45px;
  }
}




/*
 * The photo-deck engine uses positive scrollLeft values:
 *   track.scrollLeft = index * stride()
 *
 * RTL scroll containers use browser-specific negative/reversed scrollLeft
 * semantics, especially on mobile Safari/Chrome. Keep the scrolling geometry
 * LTR even when the document language is Hebrew.
 */
html[dir="rtl"] main.horizontal-main,
html[dir="rtl"] .horizontal-track{
  direction:ltr !important;
}

/* Restore Hebrew reading direction inside every physical slide. */
html[dir="rtl"] .horizontal-track > .h-slide{
  direction:rtl !important;
  text-align:right;
}

/*
 * Structural wrappers that participate in deck geometry stay LTR.
 * Their text/content descendants continue to use the RTL rules above.
 */
html[dir="rtl"] .menu-page{
  direction:ltr !important;
}

/* Form fields and editorial content remain naturally Hebrew. */
html[dir="rtl"] .horizontal-track > .h-slide input,
html[dir="rtl"] .horizontal-track > .h-slide textarea,
html[dir="rtl"] .horizontal-track > .h-slide select,
html[dir="rtl"] .horizontal-track > .h-slide .copy-block,
html[dir="rtl"] .horizontal-track > .h-slide .hero__content,
html[dir="rtl"] .horizontal-track > .h-slide .menu-feature__copy,
html[dir="rtl"] .horizontal-track > .h-slide .compact-category,
html[dir="rtl"] .horizontal-track > .h-slide .contact-details-panel,
html[dir="rtl"] .horizontal-track > .h-slide .form-card,
html[dir="rtl"] .horizontal-track > .h-slide .contact-route-card__body,
html[dir="rtl"] .horizontal-track > .h-slide .faq,
html[dir="rtl"] .horizontal-track > .h-slide .blog-index-head,
html[dir="rtl"] .horizontal-track > .h-slide .blog-card__body,
html[dir="rtl"] .horizontal-track > .h-slide .article-copy,
html[dir="rtl"] .horizontal-track > .h-slide .article-side,
html[dir="rtl"] .horizontal-track > .h-slide .privacy-copy,
html[dir="rtl"] .horizontal-track > .h-slide .booking-cta__inner{
  direction:rtl !important;
  text-align:right;
}

/* Keep numerical/menu-price columns readable. */
html[dir="rtl"] .horizontal-track > .h-slide .menu-row b{
  direction:ltr !important;
  unicode-bidi:isolate;
}




.mobile-action-bar{
  display:none;
}

@media(max-width:760px){
  :root{
    --mobile-tools-h:calc(66px + env(safe-area-inset-bottom));
  }

  /* The dense desktop rail is replaced by the dedicated 4-action mobile bar. */
  .utility-rail{
    display:none !important;
  }

  .mobile-action-bar{
    position:fixed;
    z-index:305;
    left:0;
    right:0;
    bottom:0;
    height:var(--mobile-tools-h);
    padding:4px 6px max(4px,env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:stretch;
    gap:3px;
    background:#061d25;
    border-top:1px solid rgba(255,255,255,.14);
    box-shadow:0 -6px 22px rgba(0,0,0,.12);
    direction:ltr;
  }

  .mobile-action{
    min-width:0;
    min-height:54px;
    margin:0;
    padding:5px 3px 4px;
    border:0;
    border-radius:8px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    color:#fffdf8;
    background:transparent;
    text-decoration:none;
    font:inherit;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation !important;
  }

  .mobile-action svg{
    width:21px;
    height:21px;
    flex:0 0 auto;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-action span{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.68rem;
    line-height:1;
    font-weight:700;
    letter-spacing:.01em;
  }

  .mobile-action--primary{
    background:var(--gold-2);
    color:var(--navy);
  }

  .mobile-action:active,
  .mobile-action-menu[open] > .mobile-action{
    background:rgba(255,255,255,.11);
  }

  .mobile-action--primary:active{
    background:var(--gold-2);
    filter:brightness(.94);
  }

  .mobile-action-menu{
    position:relative;
    min-width:0;
    margin:0;
    padding:0;
  }

  .mobile-action-menu > summary{
    list-style:none;
    width:100%;
    height:100%;
  }

  .mobile-action-menu > summary::-webkit-details-marker{
    display:none;
  }

  .mobile-action-panel{
    position:fixed;
    z-index:410;
    left:10px;
    right:10px;
    bottom:calc(var(--mobile-tools-h) + 8px);
    padding:10px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:16px;
    background:#071e27;
    box-shadow:0 18px 50px rgba(0,0,0,.32);
    direction:ltr;
  }

  .mobile-action-panel__head{
    padding:4px 6px 10px;
    color:#fffdf8;
    font-size:.74rem;
    line-height:1;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .mobile-more__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
  }

  .mobile-more__grid a,
  .mobile-more__privacy,
  .mobile-language__grid a{
    min-height:48px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border-radius:10px;
    color:#fffdf8;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.07);
    text-decoration:none;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation !important;
  }

  .mobile-more__grid a:active,
  .mobile-more__privacy:active,
  .mobile-language__grid a:active{
    background:rgba(255,255,255,.13);
  }

  .mobile-more__grid svg,
  .mobile-more__privacy svg{
    width:20px;
    height:20px;
    flex:0 0 auto;
    fill:none;
    stroke:currentColor;
    stroke-width:1.75;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-more__grid a:nth-child(2) svg,
  .mobile-more__grid a:nth-child(3) svg,
  .mobile-more__grid a:nth-child(4) svg{
    fill:currentColor;
    stroke:none;
  }

  .mobile-more__grid span,
  .mobile-more__privacy span{
    font-size:.78rem;
    font-weight:700;
  }

  .mobile-more__privacy{
    margin-top:6px;
  }

  .mobile-language__grid{
    display:grid;
    gap:5px;
  }

  .mobile-language__grid a{
    position:relative;
    display:grid;
    grid-template-columns:40px 1fr 22px;
    gap:8px;
    min-height:50px;
  }

  .mobile-language__grid a.is-current-lang{
    color:var(--navy);
    background:var(--gold-2);
    border-color:var(--gold-2);
  }

  .mobile-language__short{
    font-size:.75rem;
    font-weight:900;
    letter-spacing:.04em;
  }

  .mobile-language__grid strong{
    font-size:.8rem;
    font-weight:700;
  }

  .mobile-language__check{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  /*
   * Hebrew page direction must never flip the physical action order;
   * labels inside the language choices can still read naturally.
   */
  html[dir="rtl"] .mobile-action-bar,
  html[dir="rtl"] .mobile-action-panel{
    direction:ltr;
  }

  html[dir="rtl"] .mobile-language__grid a strong{
    direction:rtl;
    text-align:right;
  }

  /* The mobile deck already uses this variable as its lower viewport edge. */
  main.horizontal-main{
    bottom:var(--mobile-tools-h) !important;
  }
}

@media(max-width:390px){
  :root{
    --mobile-tools-h:calc(64px + env(safe-area-inset-bottom));
  }

  .mobile-action-bar{
    padding-inline:4px;
    gap:2px;
  }

  .mobile-action{
    min-height:52px;
  }

  .mobile-action svg{
    width:20px;
    height:20px;
  }

  .mobile-action span{
    font-size:.64rem;
  }

  .mobile-action-panel{
    left:7px;
    right:7px;
    border-radius:14px;
  }
}


body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
h1,h2,h3,.brand strong{font-family:Georgia,"Times New Roman",serif}
html[dir="rtl"] body{font-family:Arial,"Segoe UI",sans-serif}
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3{font-family:Arial,"Segoe UI",sans-serif}
.skip-link{position:fixed;z-index:9999;top:8px;left:8px;padding:10px 14px;background:#fff;color:#071e27;border-radius:8px;transform:translateY(-160%);transition:transform .15s ease}
.skip-link:focus{transform:none}
.meta-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;vertical-align:-3px}.meta-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.map-consent{display:grid;place-items:center;min-height:360px;background:linear-gradient(135deg,#efe5d5,#ddd0bb);overflow:hidden}.map-consent__placeholder{max-width:520px;padding:32px;text-align:center}.map-consent iframe{width:100%;height:100%;min-height:420px;border:0}
.form-privacy-note{font-size:.82rem;color:var(--muted);line-height:1.5}.form-privacy-note a{text-decoration:underline;text-underline-offset:3px}
.translation-notice{font-size:.78rem;padding:8px 10px;border-radius:8px;background:rgba(212,162,73,.14)}
.generic-page__section{min-height:70vh;padding:150px 0 90px;background:var(--cream-2)}.generic-page__inner{max-width:900px}.generic-content>*+*{margin-top:1.2em}.search-card{padding:24px 0;border-bottom:1px solid var(--line)}
.privacy-copy{max-width:900px}.privacy-copy h2{margin-top:38px}.privacy-copy p{max-width:850px}
@media(max-width:760px){.generic-page__section{padding:100px 0 82px}.map-consent{min-height:280px}.map-consent iframe{min-height:340px}}
.lightbox__close svg,.lightbox__prev svg,.lightbox__next svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.map-pin svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}
\n\n/* =========================================================\n   v2.4 — DESKTOP NATIVE SCROLL ROUTING FIX\n   The document is the only native vertical scroll container on desktop.\n   Panels are moved programmatically from window.scrollY by theme.js.\n   This lets trackpads, mouse wheels and the browser scrollbar all drive\n   the same deck timeline without wheel interception.\n   ========================================================= */\n@media (min-width:1025px),\n       (min-width:761px) and (pointer:fine) and (hover:hover){\n  html{\n    overflow-y:auto !important;\n    overflow-x:hidden !important;\n  }\n\n  body.horizontal-experience{\n    height:auto !important;\n    min-height:100% !important;\n    overflow-y:visible !important;\n    overflow-x:hidden !important;\n  }\n\n  main.horizontal-main{\n    overflow:visible !important;\n  }\n\n  .horizontal-track{\n    overflow-y:hidden !important;\n    overscroll-behavior-y:auto !important;\n  }\n\n  /*\n   * Critical: if a fixed panel is overflow-y:auto, the wheel/trackpad\n   * scrolls that panel instead of the document and window.scrollY never\n   * changes. Keep it programmatically scrollable but not a native wheel\n   * target. JS can still set panel.scrollTop while overflow is hidden.\n   */\n  .horizontal-track > .h-slide{\n    overflow-y:hidden !important;\n    overscroll-behavior-y:auto !important;\n  }\n}\n