html { scroll-behavior: smooth; font-size: 19px; }
    body { background-color: #0D0500; color: #FEF2F2; font-family: 'Jost', sans-serif; }

    .hero-overlay {
      background: linear-gradient(to bottom,
        rgba(13,5,0,0.18) 0%,
        rgba(13,5,0,0.05) 28%,
        rgba(13,5,0,0.55) 62%,
        rgba(13,5,0,0.98) 100%);
    }

    @keyframes fadeInUp {
      from { opacity: 0; transform: translateY(32px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .fade-up { opacity: 0; animation: fadeInUp 0.9s cubic-bezier(.16,1,.3,1) forwards; }
    .delay-1 { animation-delay: .15s; }
    .delay-2 { animation-delay: .35s; }
    .delay-3 { animation-delay: .55s; }
    .delay-4 { animation-delay: .75s; }

    .reveal {
      opacity: 0; transform: translateY(36px);
      transition: opacity .75s cubic-bezier(.16,1,.3,1), transform .75s cubic-bezier(.16,1,.3,1);
    }
    .reveal.visible { opacity: 1; transform: translateY(0); }

    #navbar { transition: background-color .35s ease, box-shadow .35s ease; }
    #navbar.scrolled {
      background-color: rgba(13,5,0,.96);
      box-shadow: 0 1px 40px rgba(0,0,0,.55);
      backdrop-filter: blur(12px);
    }

    .gold-line { width: 48px; height: 2px; background: linear-gradient(to right, transparent, #C05E35, transparent); margin: 0 auto; }

    .menu-card {
      border: 1px solid rgba(192,94,53,.12);
      transition: border-color .25s, transform .25s, box-shadow .25s;
    }
    .menu-card:hover {
      border-color: rgba(192,94,53,.45);
      transform: translateY(-4px);
      box-shadow: 0 20px 40px rgba(0,0,0,.45);
    }

    .tab-btn.active { color: #C05E35; border-bottom-color: #C05E35; }

    .tab-content {
      transition: opacity .3s ease, transform .3s ease;
    }
    .tab-content.tab-fading-out {
      opacity: 0;
      transform: translateY(6px);
      pointer-events: none;
    }
    @keyframes tabFadeIn {
      from { opacity: 0; transform: translateY(10px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .tab-content.tab-entering {
      animation: tabFadeIn .9s cubic-bezier(.16,1,.3,1);
    }

    .gallery-item { overflow: hidden; position: relative; }
    .gallery-item img { transition: transform .65s ease; }
    .gallery-item:hover img { transform: scale(1.07); }
    .gallery-item::after {
      content: '';
      position: absolute;
      inset: 0;
      box-shadow: inset 0 0 55px 18px rgba(13,5,0,0.72);
      pointer-events: none;
      z-index: 1;
    }
    .img-vignette { position: relative; overflow: hidden; }
    .img-vignette::after {
      content: '';
      position: absolute;
      inset: 0;
      box-shadow: inset 0 0 60px 20px rgba(13,5,0,0.68);
      pointer-events: none;
    }

    ::-webkit-scrollbar { width: 5px; }
    ::-webkit-scrollbar-track { background: #0D0500; }
    ::-webkit-scrollbar-thumb { background: #C05E35; border-radius: 3px; }

    .menu-fire-overlay {
      background:
        linear-gradient(to bottom, rgb(13,5,0) 0%, rgba(13,5,0,0) 13%, rgba(13,5,0,0) 87%, rgb(13,5,0) 100%),
        radial-gradient(ellipse 85% 50% at 50% 46%, rgba(148,52,6,0.18) 0%, rgba(13,5,0,0) 68%),
        rgba(13,5,0,0.68);
    }
    @keyframes fireplaceReveal {
      from { opacity: 0; }
      to   { opacity: 1; }
    }
    #menuFireplaceVideo {
      opacity: 1;
      mix-blend-mode: screen;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transform: scale(1.15);
      transform-origin: center;
    }

    @media (prefers-reduced-motion: reduce) {
      .reveal, .fade-up { transition: none; animation: none; opacity: 1; transform: none; }
      #menuFireplaceVideo { animation: none; opacity: 1; }
      .tab-content,
      .tab-content.tab-fading-out,
      .tab-content.tab-entering { transition: none; transform: none; opacity: 1; }
    }

/* Ausgelagerte ehemalige Inline-Styles */
.hero-title-size { font-size: clamp(3.6rem, 9vw, 8rem); }
.text-italic-custom { font-style: italic; }
.aspect-3-4 { aspect-ratio: 3 / 4; }
.signature-media-min-height { min-height: 750px; }
.menu-section-bg { background-color: #1A0A00; }
/* === Lock menu video frame across tabs ===
   Each tab has different content length, which made the section (and therefore
   the absolutely-positioned fireplace video) resize/reframe on every click.
   Reserving the same min-height for every tab keeps the video rock-steady,
   and centering content inside that block makes shorter tabs sit in the middle. */
#menu .tab-content:not(.hidden) {
  min-height: 1180px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media (max-width: 768px) {
  #menu .tab-content:not(.hidden) {
    min-height: 1600px;   /* 2-col grids collapse to 1 col on mobile */
  }
}

.aspect-1-1 { aspect-ratio: 1 / 1; }
.aspect-2-1 { aspect-ratio: 2 / 1; }
.quote-text-size { font-size: clamp(1.55rem, 3vw, 2.4rem); max-width: 38ch; }
.legal-text-size { font-size: 1.05rem; }
