/* Generated from the validated site theme; do not edit this block directly. */
:root {
  --color-background: #ffffff;
  --color-text: #303133;
  --color-accent: #4b8c6f;
  --color-on-brand: #ffffff;
  --color-hero-overlay-base: #101213;
  --color-divider: #eaeaea;
  --color-card-text: #17221e;
  --color-card-heading: #002b14;
  --color-card-muted: #66746d;
  --color-form-surface: #f0f5f9;
  --color-control-hover-text: #173653;
  --color-accent-hover: #427b62;
  --color-body-text: #636363;
  --color-brand-surface: #0c1e1b;
  --color-hero-overlay: rgb(16 18 19 / 40%);
  --color-dialog-overlay: rgb(16 18 19 / 57.99999999999999%);
  --font-family-body: "Noto Serif", Georgia, serif;
  --font-family-control: Arial, sans-serif;
  --font-family-booking: "Open Sans", Arial, Helvetica, sans-serif;
  --color-booking-text: #282828;
  --color-booking-heading: #2b2b2b;
  --color-booking-border: #adadad;
  --color-booking-divider: #e2e2e2;
  --color-booking-muted: #777777;
  --booking-layout-minimum-height: 675px;
  --booking-layout-header-height: 45px;
  --booking-layout-header-inset: 20px;
  --booking-layout-header-font-size: 20px;
  --booking-layout-details-height: 78px;
  --booking-layout-details-padding: 16px;
  --booking-layout-details-inset: 18px;
  --booking-layout-details-after: 10px;
  --booking-layout-detail-font-size: 12px;
  --booking-layout-detail-line-height: 1.18;
  --booking-layout-icon-size: 18px;
  --booking-layout-icon-gap: 6px;
  --booking-layout-message-padding: 56px;
  --booking-layout-message-inset: 34px;
  --booking-layout-message-width: 640px;
  --booking-layout-title-font-size: 23px;
  --booking-layout-title-gap: 28px;
  --booking-layout-title-line-height: 1.18;
  --booking-layout-body-font-size: 15px;
  --booking-layout-body-gap: 20px;
  --booking-layout-body-line-height: 1.32;
  --typography-display: 35px;
  --typography-recovery-display: clamp(34px, 6vw, 58px);
  --typography-heading-large: 29px;
  --typography-heading: 24px;
  --typography-subheading: 20px;
  --typography-body: 15px;
  --typography-detail: 14px;
  --typography-navigation: 16px;
  --typography-line-height: 1.75;
  --typography-heading-line-height: 1.2;
  --typography-heading-weight: 500;
  --typography-menu-item: 18px;
  --typography-menu-item-line-height: 1.5;
  --typography-lead: 18px;
  --typography-body-weight: 400;
  --typography-navigation-letter-spacing: 0.10em;
  --typography-wine-line-height: 1.35;
  --typography-wine-display: 29px;
  --typography-wine-name: 14px;
  --typography-wine-vintage: 13px;
  --typography-wine-name-compact: 13px;
  --typography-wine-vintage-compact: 12px;
  --typography-footer-heading: 22px;
  --typography-control: 12px;
  --typography-mobile-booking: 25px;
  --typography-control-kicker: 10px;
  --typography-tab: 13px;
  --typography-wine-navigation: 13px;
  --typography-wine-section-line-height: 1.08;
  --typography-wine-group-line-height: 1.3;
  --typography-wine-country-letter-spacing: 0.055em;
  --typography-wine-group-letter-spacing: 0.075em;
  --typography-wine-display-compact: 29px;
  --typography-wine-heading-weight: 500;
  --page-layout-footer-group-gap-compact: 56px;
  --page-layout-footer-heading-gap-compact: 16px;
  --page-layout-footer-paragraph-gap-compact: 24px;
  --page-layout-content-width: 1200px;
  --page-layout-narrow-width: 760px;
  --page-layout-gutter: 36px;
  --page-layout-gutter-compact: 24px;
  --page-layout-section-gap: 72px;
  --page-layout-copy-gap: 18px;
  --page-layout-logo-width: 140px;
  --page-layout-logo-width-compact: 72px;
  --page-layout-header-inset: 36px;
  --page-layout-header-gutter: 72px;
  --page-layout-control-gap: 12px;
  --page-layout-control-size: 44px;
  --page-layout-rule-width: 90px;
  --page-layout-rule-height: 1px;
  --page-layout-rule-before: 24px;
  --page-layout-rule-after: 24px;
  --page-layout-image-ratio: 2 / 3;
  --page-layout-tablet-image-ratio: 3 / 2;
  --header-layout-image-control-shadow-offset: 1px;
  --header-layout-toggle-inset-adjustment: 2px;
  --header-layout-toggle-size: 48px;
  --header-layout-toggle-icon-width: 24px;
  --header-layout-toggle-gap-fill-height: 5px;
  --header-layout-image-control-shadow-blur: 3px;
  --header-layout-language-font-size: clamp(10px, calc(0.68vw + 1px), 12px);
  --header-layout-language-gap: clamp(4px, 0.5vw, 8px);
  --header-layout-social-icon-size: 17px;
  --header-layout-social-link-width: clamp(22px, 1.6875vw, 27px);
  --header-layout-social-gap: 4px;
  --header-layout-gutter: clamp(16px, calc(6.875vw - 50px), 72px);
  --header-layout-logo-column-width: clamp(90px, calc(17.1875vw - 75px), 200px);
  --header-layout-logo-width: clamp(84px, calc(10.3125vw - 15px), 120px);
  --header-layout-navigation-gap: clamp(2px, 0.25vw, 4px);
  --header-layout-navigation-font-size: 16px;
  --header-layout-navigation-letter-spacing: clamp(0.01em, 0.04vw, 0.04em);
  --header-layout-navigation-link-inset: clamp(8.8px, calc(1.4375vw - 5px), 18px);
  --header-layout-marker-height: 2px;
  --header-layout-navigation-marker-bottom: 69px;
  --header-layout-language-padding-block: 6px;
  --header-layout-language-marker-bottom: 1px;
  --header-layout-mobile-contact-gap: clamp(12px, calc(8svh - 40px), 32px);
  --header-layout-utilities-gap: 24px;
  --header-layout-utilities-before: clamp(6px, calc(4.6875vw - 39px), 36px);
  --header-layout-booking-width: clamp(152px, calc(2.5vw + 128px), 168px);
  --header-layout-booking-height: 44px;
  --header-layout-booking-padding-block: 8px;
  --header-layout-booking-padding-inline: clamp(10px, 1.5vw, 24px);
  --content-layout-menu-width: 900px;
  --content-layout-menu-price-gap: 22px;
  --content-layout-wine-floating-height: 62px;
  --content-layout-wine-floating-icon: 38px;
  --content-layout-wine-floating-padding: 11px;
  --content-layout-wine-sheet-height: 820px;
  --content-layout-wine-sheet-number-width: 28px;
  --content-layout-wine-sheet-group-gap: 7px;
  --content-layout-wine-sheet-region-gap: 6px;
  --content-layout-wine-sheet-region-column-gap: 17px;
  --content-layout-booking-frame-inset: 30px;
  --content-layout-lead-after: 40px;
  --content-layout-menu-rule-width: 166px;
  --content-layout-newsletter-intro-width: 330px;
  --content-layout-newsletter-gap: 16px;
  --content-layout-newsletter-control-gap: 16px;
  --content-layout-newsletter-control-height: 50px;
  --content-layout-newsletter-button-border: 2px;
  --content-layout-newsletter-button-inset: 24px;
  --content-layout-footer-top-padding: 60px;
  --content-layout-newsletter-after: 100px;
  --content-layout-functions-action-before: 48px;
  --content-layout-functions-note-gap: 32px;
  --content-layout-functions-after: 48px;
  --content-layout-wine-column-gap: 18px;
  --content-layout-wine-column-gap-compact: 9px;
  --content-layout-wine-vintage-width-compact: 38px;
  --content-layout-wine-country-gap-compact: 52px;
  --content-layout-wine-country-heading-gap-compact: 21px;
  --content-layout-wine-region-gap: 34px;
  --content-layout-wine-region-gap-compact: 27px;
  --content-layout-wine-subregion-section-gap: 27px;
  --content-layout-wine-subregion-section-gap-compact: 24px;
  --content-layout-wine-sidebar-inset: 34px;
  --content-layout-wine-sidebar-padding: 5px;
  --content-layout-wine-navigation-padding: 9px;
  --content-layout-wine-navigation-child-padding: 4px;
  --content-layout-wine-region-body-padding: 15px;
  --content-layout-wine-region-body-padding-compact: 13px;
  --content-layout-wine-row-padding-compact-top: 8px;
  --content-layout-wine-row-padding-compact-bottom: 10px;
  --content-layout-card-width: 684px;
  --content-layout-card-inset-compact: 12px;
  --content-layout-card-item-padding: 10px;
  --content-layout-card-item-inline-padding: 1px;
  --content-layout-card-description-gap: 9px;
  --content-layout-card-heading-gap: 18px;
  --content-layout-card-price-offset: 2px;
  --content-layout-tab-gap: 36px;
  --content-layout-tab-border: 1px;
  --content-layout-booking-information-inset: 42px;
  --content-layout-wine-top-gap: 38px;
  --content-layout-wine-section-gap: 112px;
  --content-layout-wine-section-gap-compact: 76px;
  --content-layout-wine-title-gap: 46px;
  --content-layout-wine-title-gap-compact: 34px;
  --content-layout-wine-group-gap: 40px;
  --content-layout-wine-group-gap-compact: 40px;
  --content-layout-wine-country-gap: 64px;
  --content-layout-wine-subtitle-gap: 13px;
  --content-layout-wine-subregion-gap: 11px;
  --content-layout-wine-country-heading-gap: 26px;
  --content-layout-button-padding-block: 13px;
  --content-layout-button-padding-inline: 31px;
  --content-layout-gift-card-width: 732px;
  --content-layout-offer-minimum-width: 180px;
  --content-layout-wine-width: 1008px;
  --content-layout-wine-floating-width: 358px;
  --content-layout-wine-navigation-inset: 16px;
  --content-layout-wine-sidebar-width: 230px;
  --content-layout-wine-vintage-width: 52px;
  --content-layout-wine-price-width: 70px;
  --content-layout-booking-columns: 7 / 5;
  --content-layout-section-inset: 48px;
  --content-layout-section-gap-compact: 48px;
  --content-layout-sticky-offset: 12px;
  --content-layout-navigation-height: 72px;
  --layer-header: 40;
  --layer-menu: 50;
  --layer-controls: 60;
  --hero-layout-height: 70svh;
  --hero-layout-media-height: 100svh;
  --hero-layout-minimum-height: 360px;
  --hero-layout-parallax-travel: 48px;
  --hero-layout-zoom-start: 1;
  --hero-layout-zoom-end: 1.15;
  --interaction-navigation-hover-opacity: 0.5;
  --radius-wine-control: 12px;
  --radius-button: 6px;
  --radius-form-control: 2px;
  --radius-wine-sheet: 24px 24px 0px 0px;
  --motion-menu-overlay-duration: 240ms;
  --motion-menu-icon-duration: 360ms;
  --motion-menu-icon-easing: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-menu-view-duration: 300ms;
  --motion-menu-view-easing: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-language-marker-duration: 240ms;
  --motion-page-duration: 240ms;
  --motion-standard-easing: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-control-duration: 200ms;
  --motion-control-easing: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  --motion-form-control-easing: ease-in-out;
  --motion-wine-sheet-open-duration: 320ms;
  --motion-wine-sheet-close-duration: 220ms;
  --motion-wine-content-duration: 180ms;
  --motion-wine-content-delay: 60ms;
  --motion-wine-content-offset: 4px;
  --motion-wine-region-duration: 260ms;
  --motion-wine-reduced-duration: 100ms;
  --motion-hero-zoom-duration: 15s;
  --motion-hero-zoom-easing: ease;
  --size-header-height: 204px;
  --size-header-height-compact: 110px;
  --content-layout-booking-grid: minmax(0, 7fr) minmax(0, 5fr);
}
@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  z-index: 2;
  animation: page-out var(--motion-page-duration) var(--motion-standard-easing) both;
  mix-blend-mode: normal;
}

::view-transition-new(root) {
  z-index: 1;
  animation: none;
  mix-blend-mode: normal;
}

@keyframes page-out {
  to {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none;
  }
}

html[data-menu-language-navigation]::view-transition-old(root),
html[data-menu-language-navigation]::view-transition-new(root) {
  animation: none;
}

/* Shared full-screen restaurant mobile menu; brand values arrive through semantic theme tokens. */
.mobile-menu-shell {
  --size-mobile-menu-edge-inset: 20px;

  display: contents;
}

.mobile-menu-shell[data-mobile-only="true"] {
  display: none;
}

body[data-menu-open] {
  overflow: hidden;
}

.mobile-menu__toggle {
  position: fixed;
  z-index: 60;
  top: calc(var(--size-header-edge-inset) + var(--size-header-logo-center-offset) - 24px);
  right: var(--size-mobile-menu-edge-inset);
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  color: var(--color-on-brand);
  background: transparent;
  cursor: pointer;
}
.mobile-menu__toggle span {
  position: absolute;
  top: 16px;
  left: 12px;
  display: block;
  width: 24px;
  height: 2px;
  background: currentColor;
  box-shadow:
    0 0 0 1px var(--color-hero-overlay-base),
    0 1px 2px var(--color-hero-overlay-base);
  transform-origin: center;
  transition:
    opacity calc(var(--motion-menu-icon-duration) / 2) var(--motion-menu-icon-easing),
    transform var(--motion-menu-icon-duration) var(--motion-menu-icon-easing);
}
.mobile-menu__toggle span:nth-child(2) {
  top: 23px;
}
.mobile-menu__toggle span:nth-child(3) {
  top: 30px;
}
.mobile-menu__desktop-label {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .mobile-menu__toggle span {
    transition: none;
  }
}
.mobile-menu__toggle[aria-expanded="true"] {
  color: var(--color-on-brand);
}
.mobile-menu__toggle[aria-expanded="true"] span {
  box-shadow: none;
}
.mobile-menu__toggle[aria-expanded="true"] span:first-child {
  transform: translateY(7px) rotate(45deg);
}
.mobile-menu__toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0.2);
}
.mobile-menu__toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
html[data-menu-language-navigation]:not([data-menu-language-navigation="closed"]) .mobile-menu__toggle span {
  box-shadow: none;
}
html[data-menu-language-navigation]:not([data-menu-language-navigation="closed"])
  .mobile-menu__toggle
  span:first-child {
  transform: translateY(7px) rotate(45deg);
}
html[data-menu-language-navigation]:not([data-menu-language-navigation="closed"])
  .mobile-menu__toggle
  span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0.2);
}
html[data-menu-language-navigation]:not([data-menu-language-navigation="closed"])
  .mobile-menu__toggle
  span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
.mobile-menu__toggle:focus-visible {
  outline: 0;
}
.mobile-menu__toggle[aria-expanded="true"]:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}
.mobile-menu__toggle:not([aria-expanded="true"]):focus-visible span {
  box-shadow: 0 0 0 2px var(--color-accent);
}

.mobile-menu {
  position: fixed;
  z-index: 50;
  inset: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  overflow: hidden;
  min-height: 100dvh;
  padding: calc(var(--size-header-height) + 12px) clamp(24px, 4vw, 64px) max(20px, env(safe-area-inset-bottom));
  background: var(--color-text);
  color: var(--color-on-brand);
  opacity: 0;
  pointer-events: none;
  text-align: center;
  visibility: hidden;
  transition:
    opacity var(--motion-menu-overlay-duration) var(--motion-standard-easing),
    visibility 0s linear var(--motion-menu-overlay-duration);
}
.mobile-menu[data-state="open"] {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transition-delay: 0s;
}
.mobile-menu[data-navigation="pending"] {
  cursor: progress;
}
.mobile-menu__language--header {
  position: absolute;
  z-index: 60;
  top: calc(var(--size-header-edge-inset) + var(--size-header-logo-center-offset) - 22px);
  right: calc(var(--size-mobile-menu-edge-inset) + 48px + var(--size-header-control-gap));
  display: none;
  height: 44px;
  align-items: center;
  gap: 14px;
  color: var(--color-on-brand);
  font-size: 14px;
}
[data-mobile-menu-hero] .mobile-menu__language--header,
body[data-menu-open] .mobile-menu__language--header {
  display: flex;
}
[data-mobile-menu-hero] .mobile-menu__language--header {
  text-shadow:
    0 0 2px var(--color-hero-overlay-base),
    0 1px 3px var(--color-hero-overlay-base);
}
body[data-menu-open] .mobile-menu__language--header {
  position: fixed;
  text-shadow: none;
}
html[data-menu-language-navigation]:not([data-menu-language-navigation="closed"]) .mobile-menu__language--header {
  position: fixed;
  display: flex;
  text-shadow: none;
}
.mobile-menu__language-option {
  position: relative;
  display: grid;
  min-width: 2em;
  height: 44px;
  align-items: center;
  color: inherit;
  isolation: isolate;
}
.mobile-menu__language a {
  opacity: 0.78;
  text-decoration: none;
  transition:
    color var(--motion-menu-icon-duration) var(--motion-standard-easing),
    opacity var(--motion-menu-icon-duration) var(--motion-standard-easing);
}
.mobile-menu__language [aria-current="page"] {
  text-decoration: none;
}
.mobile-menu__language-marker {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: calc(50% - 5px);
  width: 4.15em;
  height: 3.45em;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform: translate(-50%, -50%);
  pointer-events: none;
  view-transition-name: emil-language-marker;
}
.mobile-menu__language-marker path:first-child {
  stroke-width: 2.5;
  opacity: 0.8;
}
.mobile-menu__language-marker path:nth-child(2) {
  stroke-width: 2.1;
  opacity: 0.8;
}
.mobile-menu__language-marker path:nth-child(3) {
  stroke-width: 1.8;
  opacity: 0.8;
}
.mobile-menu__language-marker path:nth-child(4) {
  stroke-width: 1.6;
  opacity: 0.6;
}
.mobile-menu[hidden] {
  display: none;
}
html[data-menu-language-navigation]:not([data-menu-language-navigation="closed"]) .mobile-menu[hidden] {
  display: grid;
  opacity: 1;
  visibility: visible;
}
html[data-menu-language-navigation="info"] .mobile-menu__track,
html[data-menu-language-navigation="newsletter"] .mobile-menu__track {
  transform: translateX(-50%);
}
html[data-menu-language-navigation="info"] .mobile-menu__view--info[hidden],
html[data-menu-language-navigation="newsletter"] .mobile-menu__view--newsletter[hidden] {
  display: flex;
}
.mobile-menu__viewport {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  overflow: clip;
}
.mobile-menu__track {
  display: flex;
  width: 200%;
  height: 100%;
  min-height: 100%;
  transform: translateX(0);
  transition: transform var(--motion-menu-view-duration) var(--motion-menu-view-easing);
  will-change: transform;
}
.mobile-menu[data-view="info"] .mobile-menu__track,
.mobile-menu[data-view="newsletter"] .mobile-menu__track {
  transform: translateX(-50%);
}
.mobile-menu__track-panel {
  display: grid;
  flex: 0 0 50%;
  width: 50%;
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable both-edges;
}
.mobile-menu__view {
  grid-area: 1 / 1;
  display: flex;
  width: min(760px, 100%);
  min-height: 100%;
  flex-direction: column;
  margin: 0 auto;
  padding: 24px 0;
}
.mobile-menu__view[hidden] {
  display: none;
}
.mobile-menu__view-content {
  margin-block: auto;
}
.mobile-menu__view--main {
  width: min(520px, 100%);
}
.mobile-menu ul {
  display: grid;
  gap: clamp(6px, 1.2vh, 16px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.mobile-menu__view--main .mobile-menu__view-content > nav a {
  color: inherit;
  font-size: clamp(25px, 3vh, 40px);
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}
.mobile-menu__view--main .mobile-menu__view-content > nav a:hover,
.mobile-menu__view--main .mobile-menu__view-content > nav a:focus-visible,
.mobile-menu__view--main .mobile-menu__view-content > nav a[aria-current="page"] {
  color: var(--color-accent);
}
.mobile-menu__booking-item {
  padding-top: clamp(8px, 1.2vh, 16px);
}
.mobile-menu__view--main .mobile-menu__view-content > nav a.mobile-menu__booking {
  display: inline-flex;
  width: min(280px, calc(100vw - 48px));
  min-height: 64px;
  align-items: center;
  justify-content: center;
  padding: 14px 32px 16px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: var(--color-on-brand);
  color: var(--color-text);
  font-size: clamp(23px, 2.5vh, 32px);
  transition:
    background-color 160ms var(--motion-standard-easing),
    color 160ms var(--motion-standard-easing);
}
.mobile-menu__view--main .mobile-menu__view-content > nav a.mobile-menu__booking:hover,
.mobile-menu__view--main .mobile-menu__view-content > nav a.mobile-menu__booking:focus-visible {
  background: transparent;
  color: var(--color-on-brand);
}
.mobile-menu__meta {
  display: grid;
  justify-items: center;
  gap: 12px;
  margin-top: 28px;
}
.mobile-menu__newsletter,
.mobile-menu__newsletter-placeholder {
  font-size: 15px;
}
.mobile-menu__newsletter {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 15px;
  text-decoration: underline;
  text-underline-offset: 5px;
  cursor: pointer;
}
.mobile-menu__newsletter-placeholder {
  display: block;
  width: 1px;
  height: 1lh;
  visibility: hidden;
  pointer-events: none;
}
.mobile-menu__socials {
  display: flex;
  gap: 6px;
}
.mobile-menu__social {
  display: grid;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: inherit;
  place-items: center;
}
.mobile-menu__social:hover,
.mobile-menu__social:focus-visible,
.mobile-menu__language a:hover,
.mobile-menu__language a:focus-visible,
.mobile-menu__report:hover,
.mobile-menu__report:focus-visible,
.mobile-menu__back:hover,
.mobile-menu__back:focus-visible,
.mobile-menu__newsletter:hover,
.mobile-menu__newsletter:focus-visible {
  color: var(--color-accent);
}
.mobile-menu__language a:hover,
.mobile-menu__language a:focus-visible {
  opacity: 1;
}
.mobile-menu__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 auto 22px;
  padding: 8px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
}
.mobile-menu__view--secondary > .mobile-menu__view-content > h2 {
  margin: 0 0 34px;
  font-size: clamp(42px, 6vw, 64px);
  line-height: 1;
}
.mobile-menu__view--info {
  width: min(520px, 100%);
}
.mobile-menu__view--info .mobile-menu__back {
  margin-bottom: clamp(24px, 4vh, 40px);
}
.mobile-menu__info-grid {
  display: grid;
  width: min(420px, 100%);
  margin: 0 auto;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(24px, 3.5vh, 34px);
}
.mobile-menu__newsletter-success h3 {
  margin: 0 0 18px;
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.1;
}
.mobile-menu__info-grid h2 {
  margin-bottom: 9px;
  color: inherit;
  font-size: clamp(22px, 2.6vh, 28px);
  line-height: 1.1;
}
.mobile-menu__info-grid p {
  margin: 0 0 8px;
  font-size: clamp(16px, 1.8vh, 18px);
  line-height: 1.45;
}
.mobile-menu__info-grid a {
  color: inherit;
  text-underline-offset: 4px;
}
.mobile-menu__view--newsletter {
  width: min(540px, 100%);
}
.mobile-menu__view--newsletter > .mobile-menu__view-content > p {
  margin: -12px 0 0;
}
.mobile-menu__view--newsletter .emil-form {
  gap: 16px;
  margin-top: 26px;
  text-align: left;
}
.mobile-menu__view--newsletter .emil-button {
  width: 100%;
  border-color: var(--color-on-brand);
  background: var(--color-on-brand);
  color: var(--color-text);
  justify-self: stretch;
}
.mobile-menu__newsletter-success {
  margin-top: 36px;
}
.mobile-menu__newsletter-success h3:focus {
  outline: 0;
}
.mobile-menu__report {
  flex: 0 0 auto;
  align-self: center;
  margin-top: 16px;
  padding: 8px 12px;
  color: inherit;
  font-size: 13px;
  text-underline-offset: 4px;
}
.mobile-menu__view--newsletter .emil-button:hover:not(:disabled),
.mobile-menu__view--newsletter .emil-button:focus-visible:not(:disabled) {
  background: transparent;
  color: var(--color-on-brand);
}

@media (max-width: 959px) {
  .mobile-menu {
    padding: calc(var(--size-header-height) + 8px) 20px max(14px, env(safe-area-inset-bottom));
  }
  .mobile-menu__view {
    padding: 18px 0;
  }
  .mobile-menu__view--main .mobile-menu__view-content > nav a {
    font-size: clamp(24px, 5.5vw, 32px);
  }
  .mobile-menu__view--secondary > .mobile-menu__view-content > h2 {
    margin-bottom: 28px;
    font-size: 42px;
  }
  .mobile-menu__info-grid {
    gap: 22px;
  }
  .mobile-menu__newsletter-success h3 {
    margin-bottom: 12px;
    font-size: 25px;
  }
  .mobile-menu__info-grid h2 {
    margin-bottom: 7px;
    font-size: 22px;
  }
  .mobile-menu__back {
    margin-bottom: 14px;
  }
  .mobile-menu__view--newsletter .emil-form {
    margin-top: 22px;
  }
  .mobile-menu__report {
    font-size: 12px;
  }
}

@media (max-width: 420px) {
  .mobile-menu-shell {
    --size-mobile-menu-edge-inset: 16px;
  }

  .mobile-menu__language {
    gap: 5px;
    font-size: 13px;
  }
  .mobile-menu__language-option {
    justify-items: center;
  }
  .mobile-menu__language-marker {
    left: 50%;
    width: 2.75em;
    height: 2.35em;
  }
}

@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/struktur/fonts/3c4d6a1421c7ddb7/open-sans.woff2") format("woff2");
}

@font-face {
  font-family: "Noto Serif";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/struktur/fonts/e390dc85aa3a773a/noto-serif-italic-latin-ext-400.woff2") format("woff2");
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
    U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Noto Serif";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/struktur/fonts/4536e451d0f5add5/noto-serif-italic-latin-400.woff2") format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC,
    U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Noto Serif";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/struktur/fonts/8941fd5e42ee92f4/noto-serif-normal-latin-ext-400.woff2") format("woff2");
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
    U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Noto Serif";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/struktur/fonts/1526d0045855576e/noto-serif-normal-latin-400.woff2") format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC,
    U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Noto Serif";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/struktur/fonts/f4e15881656da246/noto-serif-italic-latin-ext-500.woff2") format("woff2");
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
    U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Noto Serif";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/struktur/fonts/1b88cd4e4c2029c3/noto-serif-italic-latin-500.woff2") format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC,
    U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Noto Serif";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/struktur/fonts/289b75fc55424ede/noto-serif-normal-latin-ext-500.woff2") format("woff2");
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
    U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Noto Serif";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/struktur/fonts/c49d33ecda60fc09/noto-serif-normal-latin-500.woff2") format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC,
    U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
}
.struktur-site {
  position: relative;
  min-height: 100vh;
  color: var(--color-text);
  background: var(--color-background);
  font-family: var(--font-family-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: var(--typography-body);
  line-height: var(--typography-line-height);
}
/* Keep selected text legible on both light content and dark brand surfaces. */
.struktur-site::selection,
.struktur-site ::selection {
  background-color: var(--color-accent-hover);
  color: var(--color-on-brand);
}
/* Semantic tags provide defaults; visual classes select the approved role. */
.struktur-site :where(h1, h2, h3, h4, h5, h6) {
  color: var(--color-text);
  font-weight: var(--typography-heading-weight);
  line-height: var(--typography-heading-line-height);
}
.struktur-site :where(h1) {
  font-size: var(--typography-display);
}
.struktur-site :where(h2) {
  font-size: var(--typography-heading-large);
}
.struktur-site :where(h3, h4, h5, h6) {
  font-size: var(--typography-subheading);
}
.struktur-emphasis {
  font-weight: var(--typography-heading-weight);
}
.struktur-header .mobile-menu__view--main .mobile-menu__view-content > nav a {
  font-weight: var(--typography-heading-weight);
}
.struktur-site a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.2em;
  transition:
    color var(--motion-control-duration) var(--motion-control-easing),
    background-color var(--motion-control-duration) var(--motion-control-easing),
    border-color var(--motion-control-duration) var(--motion-control-easing);
}
.struktur-site a:hover {
  color: var(--color-accent);
}
.struktur-page a:not(:where(.struktur-button, nav a, .rt-wine-sidebar a, .rt-wine-mobile-nav a)),
.struktur-footer a:not(.struktur-button),
.struktur-mobile-contact > a {
  text-decoration: underline;
  text-decoration-thickness: var(--page-layout-rule-height);
}
.struktur-page a:not(:where(.struktur-button, nav a, .rt-wine-sidebar a, .rt-wine-mobile-nav a)):focus-visible,
.struktur-footer a:not(.struktur-button):focus-visible,
.struktur-mobile-contact > a:focus-visible {
  color: var(--color-accent);
}
.struktur-site :focus-visible {
  outline: var(--page-layout-rule-height) solid var(--color-accent);
  outline-offset: 4px;
}
.struktur-header {
  --size-header-edge-inset: var(--page-layout-header-inset);
  --size-header-logo-center-offset: calc(var(--page-layout-logo-width-compact) / 2);
  --size-header-control-gap: var(--page-layout-control-gap);
  position: absolute;
  inset: 0 0 auto;
  z-index: var(--layer-header);
  display: grid;
  grid-template-columns: var(--header-layout-logo-column-width) minmax(0, 1fr);
  align-items: center;
  min-height: var(--size-header-height);
  padding: 0 var(--header-layout-gutter);
  color: var(--color-on-brand);
}
.struktur-header__logo {
  display: block;
  width: var(--header-layout-logo-width);
  line-height: 0;
}
.struktur-header__logo img {
  width: 100%;
  height: auto;
}
.struktur-header__desktop {
  display: grid;
  min-width: 0;
  height: var(--size-header-height);
  grid-template-columns: minmax(0, 1fr) auto;
}
.struktur-header__desktop > ul {
  min-width: 0;
  justify-content: center;
}
.struktur-header__desktop > ul > li {
  flex-shrink: 0;
}
.struktur-header__utilities {
  display: flex;
  align-items: center;
  justify-self: end;
  gap: var(--header-layout-utilities-gap);
  margin-inline-start: var(--header-layout-utilities-before);
}
.struktur-header__desktop ul {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: var(--header-layout-navigation-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
.struktur-header__desktop a:not(.struktur-button) {
  text-decoration: none;
  font-size: var(--header-layout-navigation-font-size);
  letter-spacing: var(--header-layout-navigation-letter-spacing);
  white-space: nowrap;
}
.struktur-header__desktop > ul > li > a {
  position: relative;
  display: flex;
  height: var(--size-header-height);
  align-items: center;
  padding-inline: var(--header-layout-navigation-link-inset);
}
.struktur-header__utilities .struktur-header__booking {
  width: var(--header-layout-booking-width);
  min-width: max-content;
  flex: 0 0 var(--header-layout-booking-width);
  min-height: var(--header-layout-booking-height);
  padding: var(--header-layout-booking-padding-block) var(--header-layout-booking-padding-inline);
  font-size: var(--header-layout-navigation-font-size);
  letter-spacing: var(--header-layout-navigation-letter-spacing);
  text-transform: none;
  white-space: nowrap;
}
.struktur-header__social a:hover {
  color: inherit;
  opacity: var(--interaction-navigation-hover-opacity);
  text-decoration: none;
}
.struktur-header__language,
.struktur-header__social {
  display: flex;
  align-items: center;
}
.struktur-header__language {
  gap: var(--header-layout-language-gap);
  font-size: var(--header-layout-language-font-size);
}
.struktur-header__desktop .struktur-header__language a {
  position: relative;
  padding-block: var(--header-layout-language-padding-block);
  font-size: inherit;
}
.struktur-header__desktop > ul > li > a::after,
.struktur-header__desktop .struktur-header__language a:not([aria-current="page"])::after,
.struktur-language-marker {
  position: absolute;
  height: var(--header-layout-marker-height);
  background: var(--color-accent);
  content: "";
  transform: scaleX(0);
  transform-origin: center;
  transition: transform var(--motion-page-duration) var(--motion-standard-easing);
}
.struktur-header__desktop > ul > li > a::after {
  right: var(--header-layout-navigation-link-inset);
  bottom: var(--header-layout-navigation-marker-bottom);
  left: var(--header-layout-navigation-link-inset);
}
.struktur-header__desktop .struktur-header__language a:not([aria-current="page"])::after,
.struktur-language-marker {
  right: 0;
  bottom: var(--header-layout-language-marker-bottom);
  left: 0;
}
.struktur-header__desktop > ul > li > a:is(:hover, :focus-visible, [aria-current="page"]),
.struktur-header__desktop .struktur-header__language a:is(:hover, :focus-visible, [aria-current="page"]) {
  color: inherit;
}
.struktur-header__desktop > ul > li > a:is(:hover, :focus-visible, [aria-current="page"])::after,
.struktur-header__desktop .struktur-header__language a:not([aria-current="page"]):is(:hover, :focus-visible)::after {
  transform: scaleX(1);
}
.struktur-language-marker,
.struktur-header .mobile-menu__language-underline {
  transform: none;
  view-transition-name: struktur-language-marker;
}
::view-transition-group(struktur-language-marker) {
  z-index: var(--layer-controls);
  animation-duration: var(--motion-language-marker-duration);
  animation-timing-function: var(--motion-menu-view-easing);
}
.struktur-header__social {
  gap: var(--header-layout-social-gap);
}
.struktur-header__social a {
  display: grid;
  width: var(--header-layout-social-link-width);
  height: var(--page-layout-control-size);
  place-items: center;
}
.struktur-header__desktop .struktur-header__social .social-icon {
  width: var(--header-layout-social-icon-size);
  height: var(--header-layout-social-icon-size);
}
.struktur-button {
  display: inline-flex;
  min-height: var(--page-layout-control-size);
  align-items: center;
  justify-content: center;
  padding: var(--content-layout-button-padding-block) var(--content-layout-button-padding-inline);
  border: var(--content-layout-newsletter-button-border) solid currentColor;
  border-radius: var(--radius-button);
  text-decoration: none;
}
.struktur-page {
  width: min(var(--page-layout-content-width), 100%);
  margin: 0 auto;
  padding: var(--page-layout-header-inset) var(--page-layout-gutter) var(--page-layout-section-gap);
}
.struktur-page__hero {
  position: relative;
  height: max(var(--hero-layout-height), var(--hero-layout-minimum-height));
  overflow: clip;
  background: var(--color-hero-overlay-base);
}
.struktur-page__hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--color-hero-overlay);
  pointer-events: none;
}
.struktur-page__hero-layer {
  position: absolute;
  inset: 0;
  height: max(var(--hero-layout-media-height), 100%);
}
.struktur-page__hero-image,
.struktur-page__hero-image img {
  display: block;
  width: 100%;
  height: 100%;
}
.struktur-page__hero-image img {
  object-fit: cover;
  animation: struktur-hero-zoom var(--motion-hero-zoom-duration) var(--motion-hero-zoom-easing) forwards;
}
.struktur-page__hero-copy {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--page-layout-control-gap);
  padding: calc(var(--size-header-height) + var(--page-layout-copy-gap)) var(--page-layout-gutter)
    var(--page-layout-copy-gap);
}
.struktur-page__hero-description {
  max-width: var(--page-layout-narrow-width);
  margin: 0;
  color: var(--color-on-brand);
  text-align: center;
}
.struktur-page__hero-title {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  color: var(--color-on-brand);
  font-size: var(--typography-display);
  font-weight: var(--typography-heading-weight);
  line-height: var(--typography-heading-line-height);
  text-align: center;
  pointer-events: none;
}
@keyframes struktur-hero-zoom {
  from {
    transform: scale(var(--hero-layout-zoom-start));
  }
  to {
    transform: scale(var(--hero-layout-zoom-end));
  }
}
@supports (animation-timeline: scroll()) {
  .struktur-page__hero-layer {
    animation: struktur-hero-parallax linear both;
    animation-timeline: scroll(root block);
    animation-range: 0px var(--hero-layout-height);
  }
}
@keyframes struktur-hero-parallax {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(var(--hero-layout-parallax-travel));
  }
}
.struktur-page__content {
  width: min(var(--page-layout-narrow-width), 100%);
  margin-inline: auto;
}
.struktur-page p {
  margin: 0 0 var(--page-layout-copy-gap);
  white-space: pre-line;
  color: var(--color-body-text);
}
.struktur-heading {
  font-weight: var(--typography-heading-weight);
  line-height: var(--typography-heading-line-height);
  margin: var(--page-layout-gutter) 0 0;
  hyphens: auto;
  overflow-wrap: anywhere;
}
.struktur-heading:first-child {
  margin-top: 0;
}
.struktur-heading--visual-1 {
  font-size: var(--typography-display);
  margin-block-end: var(--page-layout-gutter);
}
.struktur-heading--visual-2,
.struktur-menu-offer-section > h2,
.struktur-restoo-section > h2,
.struktur-restoo .rt-wine-section-heading h2 {
  font-size: var(--typography-heading-large);
}
.struktur-heading--visual-3,
.struktur-heading--visual-4 {
  margin-block-end: var(--page-layout-copy-gap);
}
.struktur-heading--visual-3 {
  font-size: var(--typography-heading);
}
.struktur-heading--visual-4 {
  font-size: var(--typography-subheading);
}
.struktur-editorial-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: var(--page-layout-section-gap);
  margin-bottom: var(--page-layout-section-gap);
}
.struktur-editorial-row:last-child {
  margin-bottom: 0;
}
/* One section gap at each home-page boundary, independent of trailing scripts. */
.struktur-page[data-route-key="home"] {
  padding-block: var(--page-layout-section-gap);
}
.struktur-page[data-route-key="home"] .struktur-editorial-row {
  margin-block-end: 0;
}
.struktur-page[data-route-key="home"] .struktur-editorial-row + .struktur-editorial-row {
  margin-block-start: var(--page-layout-section-gap);
}
.struktur-editorial-row__copy {
  min-width: 0;
  text-align: center;
}
.struktur-editorial-row--image-first .struktur-editorial-row__copy {
  grid-column: 2;
  grid-row: 1;
}
.struktur-editorial-row--image-first .struktur-page__route-image {
  grid-column: 1;
  grid-row: 1;
}
.struktur-heading--visual-2,
.struktur-page[data-route-key="home"] .struktur-heading--visual-3,
.struktur-editorial-row .struktur-heading--visual-1 {
  margin-block-end: 0;
}
.struktur-heading--visual-2::after,
.struktur-page[data-route-key="home"] .struktur-heading--visual-3::after,
.struktur-editorial-row .struktur-heading--visual-1::after,
.struktur-restoo-section > h2::after {
  content: "";
  display: block;
  width: var(--page-layout-rule-width);
  height: var(--page-layout-rule-height);
  margin: var(--page-layout-rule-before) auto var(--page-layout-rule-after);
  background: var(--color-accent);
}
.struktur-page__route-image {
  display: block;
  width: 100%;
  aspect-ratio: var(--page-layout-image-ratio);
  overflow: hidden;
}
.struktur-page__route-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.struktur-page .offer-group {
  margin-block: var(--page-layout-section-gap);
  text-align: center;
}
.struktur-page .offer-group__offers {
  display: grid;
  gap: var(--page-layout-copy-gap);
}
.struktur-page .offer-group[data-layout="grid"] .offer-group__offers {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--content-layout-offer-minimum-width)), 1fr));
}
.struktur-page .offer-group__information[data-alignment="start"] {
  text-align: start;
}
.struktur-page .offer-card {
  padding: var(--page-layout-copy-gap);
  border-block: var(--page-layout-rule-height) solid var(--color-accent);
}
.struktur-page .offer-card__lines {
  margin: 0 0 var(--page-layout-copy-gap);
  padding: 0;
  list-style: none;
}
.struktur-footer {
  padding: var(--page-layout-section-gap) var(--page-layout-gutter);
  background: var(--color-brand-surface);
  color: var(--color-on-brand);
  font-size: var(--typography-detail);
}
.struktur-footer__grid {
  display: grid;
  width: min(calc(var(--page-layout-content-width) - 2 * var(--page-layout-gutter)), 100%);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--page-layout-gutter);
  margin-inline: auto;
}
.struktur-footer h3 {
  color: inherit;
}
.struktur-footer h2 {
  margin: 0 0 var(--page-layout-copy-gap);
  color: inherit;
  font-size: var(--typography-footer-heading);
  line-height: var(--typography-heading-line-height);
  text-transform: none;
}
.struktur-footer p {
  margin: 0 0 var(--page-layout-copy-gap);
  overflow-wrap: anywhere;
}
.struktur-footer__hours {
  white-space: pre-line;
}
.struktur-footer__link-groups {
  display: grid;
  align-content: start;
  gap: var(--page-layout-gutter);
}
.struktur-footer__link-group h2 {
  margin-bottom: var(--page-layout-control-gap);
}
.struktur-footer__link-group p {
  margin: 0;
}
.struktur-404 {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: var(--page-layout-section-gap) var(--page-layout-gutter);
  text-align: center;
}
.struktur-404 .site-404__content {
  width: min(var(--page-layout-narrow-width), 100%);
  min-width: 0;
}
.struktur-404 .site-404__logo-link {
  display: block;
  width: var(--page-layout-logo-width);
  max-width: 100%;
  margin: 0 auto var(--content-layout-section-inset);
}
.struktur-404 .site-404__logo {
  display: block;
  width: 100%;
  height: auto;
}
.struktur-404 .site-404__code {
  margin: 0;
  color: var(--color-accent);
  font-size: var(--typography-detail);
  letter-spacing: var(--typography-navigation-letter-spacing);
}
.struktur-404 h1 {
  margin: var(--page-layout-copy-gap) 0 0;
  font-size: var(--typography-recovery-display);
  text-wrap: balance;
}
.struktur-404 h1::after {
  display: block;
  width: var(--page-layout-rule-width);
  height: var(--page-layout-rule-height);
  margin: var(--page-layout-rule-before) auto var(--page-layout-rule-after);
  background: var(--color-accent);
  content: "";
}
.struktur-404 .site-404__copy {
  margin: 0 auto var(--content-layout-section-inset);
  color: var(--color-body-text);
  font-size: var(--typography-lead);
  text-wrap: balance;
}
.struktur-404 .site-404__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--page-layout-copy-gap) var(--page-layout-gutter);
}
.struktur-404 .site-404__english {
  margin: var(--page-layout-rule-after) 0 0;
  color: var(--color-body-text);
  font-size: var(--typography-detail);
}
.struktur-404 .site-404__english a {
  text-decoration: underline;
}
.struktur-404 .site-404__english a:hover,
.struktur-404 .site-404__english a:focus-visible {
  color: var(--color-accent);
}
.struktur-header .mobile-menu {
  background: var(--color-background);
  color: var(--color-text);
  z-index: var(--layer-menu);
}
.struktur-header .mobile-menu__toggle {
  position: fixed;
  right: calc(var(--size-mobile-menu-edge-inset) + var(--header-layout-toggle-inset-adjustment));
  color: var(--color-on-brand);
  z-index: var(--layer-controls);
}
.struktur-header .mobile-menu__language--header {
  position: fixed;
  display: flex;
  color: var(--color-on-brand);
  z-index: var(--layer-controls);
}
.struktur-header[data-hero-controls-on-content="true"] .mobile-menu__toggle,
.struktur-header[data-hero-controls-on-content="true"] .mobile-menu__language--header {
  color: var(--color-text);
}
.struktur-header .mobile-menu__toggle span {
  box-shadow: none;
}
body:not([data-menu-open]) .struktur-header[data-hero-controls-on-image="true"] .mobile-menu__toggle span {
  box-shadow: 0 var(--header-layout-image-control-shadow-offset) var(--header-layout-image-control-shadow-blur)
    var(--color-text);
}
body:not([data-menu-open]) .struktur-header[data-hero-controls-on-content="true"] .mobile-menu__toggle span {
  box-shadow: 0 var(--header-layout-image-control-shadow-offset) var(--header-layout-image-control-shadow-blur)
    var(--color-on-brand);
}
.struktur-header[data-hero-controls-on-content="true"] .mobile-menu__language--header {
  text-shadow: none;
}
body[data-menu-open] .struktur-header {
  z-index: var(--layer-menu);
}
body[data-menu-open] .struktur-header .mobile-menu__toggle,
body[data-menu-open] .struktur-header .mobile-menu__language--header {
  position: fixed;
  color: var(--color-text);
}
.struktur-header .mobile-menu__view--main .mobile-menu__view-content > nav a.mobile-menu__booking {
  width: auto;
  max-width: 100%;
  min-height: var(--page-layout-control-size);
  padding: var(--header-layout-booking-padding-block) var(--content-layout-button-padding-inline);
  border-width: var(--content-layout-newsletter-button-border);
  border-radius: var(--radius-button);
  font-size: var(--typography-mobile-booking);
}
.struktur-header .mobile-menu__language-underline {
  display: block;
  position: absolute;
  inset: auto 0 var(--header-layout-language-padding-block);
  height: var(--header-layout-marker-height);
  background: var(--color-accent);
}
.struktur-header .mobile-menu__language-option {
  min-width: 0;
  font-weight: var(--typography-heading-weight);
}
.struktur-header .mobile-menu__socials {
  gap: var(--header-layout-social-gap);
}
.struktur-header .mobile-menu__social {
  width: calc(var(--page-layout-control-size) - var(--page-layout-control-gap));
}
.struktur-header .mobile-menu__newsletter-placeholder {
  display: none;
}
.struktur-mobile-contact {
  display: grid;
  max-width: 100%;
  font-size: var(--typography-body);
  font-style: normal;
  line-height: var(--typography-line-height);
  overflow-wrap: anywhere;
}
/* Keep browser-detected contact text visually identical to its surrounding copy. */
.struktur-site a:is([x-apple-data-detectors], [href^="x-apple-data-detectors:"]) {
  color: inherit;
  font: inherit;
  text-decoration: none;
}
.struktur-mobile-contact__maps {
  margin-top: var(--header-layout-mobile-contact-gap);
}
.struktur-header .mobile-menu__meta {
  gap: var(--header-layout-mobile-contact-gap);
}
@media (max-width: 959px) {
  .struktur-header {
    --size-header-height: var(--size-header-height-compact);
    padding-block: var(--page-layout-header-inset);
    min-height: var(--size-header-height-compact);
    justify-items: start;
    padding-inline: var(--page-layout-gutter-compact);
    grid-template-columns: minmax(0, 1fr);
  }
  .struktur-header__logo {
    width: var(--page-layout-logo-width-compact);
  }
  .struktur-header__desktop {
    display: none;
  }
  .struktur-header .mobile-menu-shell[data-mobile-only="true"] {
    display: contents;
  }
  .struktur-header .mobile-menu-shell {
    --size-mobile-menu-edge-inset: var(--page-layout-gutter-compact);
  }
  .struktur-page__hero-title {
    padding: 0;
  }
}
@media (max-width: 959px) {
  .struktur-404 {
    padding-inline: var(--page-layout-gutter-compact);
  }
  .struktur-page {
    padding-inline: var(--page-layout-gutter-compact);
  }
  .struktur-editorial-row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--page-layout-copy-gap);
  }
  .struktur-editorial-row--image-first .struktur-editorial-row__copy,
  .struktur-editorial-row--image-first .struktur-page__route-image {
    grid-column: auto;
    grid-row: auto;
  }
  .struktur-footer {
    padding-inline: var(--page-layout-gutter);
  }
  .struktur-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--page-layout-footer-group-gap-compact);
  }
  .struktur-footer__link-groups {
    gap: var(--page-layout-footer-group-gap-compact);
  }
  .struktur-footer__grid h2 {
    margin-bottom: var(--page-layout-footer-heading-gap-compact);
  }
  .struktur-footer__grid p {
    margin-bottom: var(--page-layout-footer-paragraph-gap-compact);
  }
  .struktur-footer__grid p:last-child {
    margin-bottom: 0;
  }
}
@media (max-width: 760px) {
  .struktur-footer__grid {
    grid-template-columns: minmax(0, 1fr);
    text-align: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .struktur-page__hero-image img,
  .struktur-page__hero-layer {
    animation: none;
    transform: none;
  }
}

.struktur-newsletter {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
  align-items: center;
  gap: var(--page-layout-copy-gap);
  width: min(calc(var(--page-layout-content-width) - 2 * var(--page-layout-gutter)), 100%);
  margin: 0 auto var(--page-layout-section-gap);
}
.struktur-newsletter > p {
  margin: 0;
}
.struktur-newsletter__success {
  grid-column: 1 / -1;
}
.struktur-newsletter__form {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: end;
  display: grid;
  gap: var(--page-layout-copy-gap);
}
.struktur-newsletter__form label {
  display: grid;
  gap: var(--page-layout-control-gap);
}
.struktur-newsletter input {
  width: 100%;
  padding: var(--page-layout-control-gap);
  font: inherit;
  color: var(--color-text);
  background: var(--color-background);
  border: var(--page-layout-rule-height) solid var(--color-on-brand);
}
.struktur-visually-hidden,
.struktur-newsletter__honeypot {
  position: absolute;
  clip-path: inset(100%);
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.struktur-button {
  font-family: inherit;
  font-size: var(--typography-control);
  font-weight: var(--typography-heading-weight);
  letter-spacing: var(--typography-navigation-letter-spacing);
  line-height: var(--typography-heading-line-height);
  text-transform: uppercase;
  cursor: pointer;
}
.struktur-button,
.struktur-header .mobile-menu__view--main .mobile-menu__view-content > nav a.mobile-menu__booking {
  transition:
    color var(--motion-control-duration) var(--motion-control-easing),
    background-color var(--motion-control-duration) var(--motion-control-easing),
    border-color var(--motion-control-duration) var(--motion-control-easing);
}
.struktur-site .struktur-button--filled,
.struktur-header .mobile-menu__view--main .mobile-menu__view-content > nav a.mobile-menu__booking {
  border-color: var(--color-accent);
  background: var(--color-accent);
  color: var(--color-on-brand);
}
.struktur-site .struktur-button--filled:hover,
.struktur-site .struktur-button--filled:focus-visible,
.struktur-header .mobile-menu__view--main .mobile-menu__view-content > nav a.mobile-menu__booking:hover,
.struktur-header .mobile-menu__view--main .mobile-menu__view-content > nav a.mobile-menu__booking:focus-visible {
  border-color: var(--color-accent-hover);
  background: var(--color-accent-hover);
  color: var(--color-on-brand);
}
.struktur-site .struktur-button--outlined {
  border-color: var(--button-outline-color, var(--color-accent));
  background: transparent;
  color: var(--button-outline-color, var(--color-accent));
  /* Keep text and fill inversion atomic to avoid low-contrast intermediate frames. */
  transition: none;
}
.struktur-site .struktur-button--outlined:hover,
.struktur-site .struktur-button--outlined:focus-visible {
  background: var(--button-outline-color, var(--color-accent));
  color: var(--button-outline-hover-color, var(--color-on-brand));
}
.struktur-site .struktur-button--outlined:focus-visible {
  outline-color: var(--button-outline-color, var(--color-accent));
}
.struktur-footer {
  --button-outline-color: var(--color-on-brand);
  --button-outline-hover-color: var(--color-accent);
}
.struktur-gift-card__dialog {
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: var(--page-layout-gutter);
  border: 0;
  color: var(--color-text);
  background: var(--color-background);
}
.struktur-gift-card__dialog[open] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: var(--page-layout-copy-gap);
}
.struktur-gift-card__dialog header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--page-layout-control-gap);
}
.struktur-gift-card__dialog h2 {
  font-size: var(--typography-subheading);
}
.struktur-gift-card__dialog iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.struktur-unsubscribe {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: var(--page-layout-section-gap) var(--page-layout-gutter);
  text-align: center;
}
.struktur-unsubscribe__content {
  width: min(var(--page-layout-narrow-width), 100%);
}
.struktur-unsubscribe__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--page-layout-copy-gap);
}
.struktur-booking-frame {
  display: block;
  width: 100%;
  min-height: 720px;
  border: 0;
}

.struktur-site [hidden] {
  display: none;
}
html.rt-et-direct,
html.rt-et-embedded,
html.rt-et-direct body,
html.rt-et-embedded body {
  min-height: 100%;
  margin: 0;
  background: var(--color-background);
  color: var(--color-booking-text);
  font-family: var(--font-family-booking);
  letter-spacing: 0;
}
.rt-et-page,
.rt-et-page * {
  box-sizing: border-box;
  font-family: var(--font-family-booking);
  letter-spacing: 0;
}
.rt-et-page {
  min-height: 100vh;
  background: var(--color-background);
}
.rt-et-shell {
  display: flex;
  width: 100%;
  min-height: var(--booking-layout-minimum-height);
  flex-direction: column;
  margin: 0 auto;
  border: 1px solid var(--color-booking-border);
  background: var(--color-background);
}
.rt-et-top {
  display: flex;
  min-height: var(--booking-layout-header-height);
  align-items: center;
  padding: 0 var(--booking-layout-header-inset);
  border-bottom: 1px solid var(--color-booking-divider);
}
.rt-et-top h2 {
  margin: 0;
  color: var(--color-booking-text);
  font-size: var(--booking-layout-header-font-size);
  font-weight: var(--typography-heading-weight);
  line-height: 1.1;
}
.rt-et-layout,
.rt-et-direct-content,
.rt-et-direct-booking {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
}
.rt-et-direct-image,
.rt-et-direct-footer,
.rt-et-direct-only {
  display: none;
}
.rt-et-steps {
  display: grid;
  min-height: var(--booking-layout-details-height);
  align-items: start;
  padding: var(--booking-layout-details-padding) var(--booking-layout-details-inset) var(--booking-layout-details-after);
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.rt-et-step {
  min-width: 0;
  color: var(--color-booking-text);
  font-size: var(--booking-layout-detail-font-size);
  line-height: var(--booking-layout-detail-line-height);
  text-align: center;
}
.rt-et-icon {
  display: block;
  width: var(--booking-layout-icon-size);
  height: var(--booking-layout-icon-size);
  margin: 0 auto var(--booking-layout-icon-gap);
}
.rt-et-main {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  padding: var(--booking-layout-message-padding) var(--booking-layout-message-inset);
  text-align: center;
}
.rt-et-message h1 {
  margin: 0 0 var(--booking-layout-title-gap);
  color: var(--color-booking-heading);
  font-size: var(--booking-layout-title-font-size);
  font-weight: var(--typography-body-weight);
  line-height: var(--booking-layout-title-line-height);
}
.rt-et-message p {
  max-width: var(--booking-layout-message-width);
  margin: 0 0 var(--booking-layout-body-gap);
  color: var(--color-booking-heading);
  font-size: var(--booking-layout-body-font-size);
  font-weight: var(--typography-body-weight);
  line-height: var(--booking-layout-body-line-height);
}
.rt-et-note {
  margin: auto;
  padding: var(--booking-layout-message-padding) var(--booking-layout-message-inset);
  color: var(--color-booking-muted);
  font-size: var(--booking-layout-body-font-size);
  text-align: center;
}
.rt-et-page [hidden] {
  display: none;
}
html.rt-et-embedded .rt-et-page,
html.rt-et-embedded .rt-et-shell,
html.rt-et-embedded body {
  min-height: 0;
}
html.rt-et-embedded body {
  overflow-y: hidden;
}
html.rt-et-direct .rt-et-embedded-only {
  display: none;
}
html.rt-et-direct .rt-et-direct-only {
  display: inline;
}
html.rt-et-direct .rt-et-shell {
  min-height: 100vh;
}
body:has(.struktur-gift-card__dialog[open]) {
  overflow: hidden;
}

.struktur-restoo-section,
.struktur-restoo-footer {
  margin-block: var(--page-layout-section-gap);
}
.struktur-restoo-rows {
  display: grid;
  gap: var(--page-layout-copy-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
.struktur-restoo-rows > li {
  padding: var(--content-layout-card-item-padding) var(--content-layout-card-item-inline-padding);
}
.struktur-menu-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: var(--content-layout-card-description-gap) var(--content-layout-menu-price-gap);
  align-items: first baseline;
}
/* One product scale for dishes, cocktails and offer cards on every viewport. */
.struktur-page
  :is(
    .struktur-menu-item__name,
    .struktur-menu-item__price,
    .offer-card__title,
    .offer-card__price,
    .offer-card__extra h3,
    .offer-card__extra p,
    .struktur-restoo-party h3
  ) {
  font-size: var(--typography-menu-item);
  line-height: var(--typography-menu-item-line-height);
  color: var(--color-body-text);
}
.struktur-page
  :is(
    .struktur-menu-item__name,
    .struktur-menu-item__price,
    .offer-card__price,
    .offer-card__extra p,
    .struktur-restoo-party h3
  ) {
  font-weight: var(--typography-body-weight);
}
.struktur-page :is(.offer-card__title, .offer-card__extra h3) {
  font-weight: var(--typography-heading-weight);
}
/* Offer titles use the existing heading contrast within the shared product scale. */
.struktur-page :is(.offer-card__title, .offer-card__extra h3, .struktur-restoo-party h3) {
  color: var(--color-text);
}
.struktur-menu-item__name {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}
.struktur-menu-item__price {
  grid-column: 2;
  grid-row: 1;
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.struktur-menu-item__description {
  grid-column: 1;
  color: var(--color-body-text);
  font-size: var(--typography-body);
  font-weight: var(--typography-body-weight);
  line-height: var(--typography-line-height);
}
.struktur-menu-item__description p {
  margin: 0;
}
.struktur-menu-item__tagline {
  font-style: italic;
}
.struktur-restoo-interval,
.struktur-restoo-footer {
  text-align: center;
  font-style: italic;
}
.struktur-restoo-menu .struktur-restoo-footer,
.struktur-functions__closing > p {
  font-size: var(--typography-detail);
  font-style: italic;
}
.struktur-restoo-party {
  margin-block: var(--page-layout-copy-gap);
  text-align: center;
}
.struktur-course-line {
  margin: 0;
}
.struktur-course-line__group,
.struktur-menu-offers .offer-card__line-group {
  white-space: nowrap;
}
.struktur-restoo .rt-wine-layout {
  display: grid;
  grid-template-columns: var(--content-layout-wine-sidebar-width) minmax(0, 1fr);
  gap: var(--content-layout-section-inset);
  align-items: start;
}
.struktur-restoo .rt-wine-content,
.struktur-restoo .rt-wine-content section {
  min-width: 0;
}
.struktur-restoo .rt-wine-sidebar {
  position: sticky;
  top: var(--content-layout-sticky-offset);
  max-height: calc(100dvh - var(--page-layout-copy-gap));
  padding-inline-end: var(--page-layout-copy-gap);
  overflow-y: auto;
  border-inline-end: var(--page-layout-rule-height) solid var(--color-accent);
}
.struktur-restoo .rt-wine-sidebar .rt-wine-top-link,
.struktur-restoo .rt-wine-sidebar summary {
  display: block;
  padding-block: var(--page-layout-control-gap);
  font-size: var(--typography-detail);
  font-weight: var(--typography-heading-weight);
  text-decoration: none;
}
.struktur-restoo .rt-wine-sidebar summary {
  cursor: pointer;
}
.struktur-restoo .rt-wine-sidebar details a {
  display: block;
  padding-block: var(--page-layout-control-gap);
}
.struktur-restoo .rt-wine-sidebar a:hover {
  color: var(--color-accent);
}
.struktur-restoo .rt-wine-mobile-nav {
  display: none;
  position: sticky;
  top: 0;
  z-index: var(--layer-header);
  padding-block: var(--page-layout-control-gap);
  background: var(--color-background);
  border-block: var(--page-layout-rule-height) solid var(--color-accent);
}
.struktur-restoo .rt-wine-mobile-nav > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--page-layout-control-size);
  cursor: pointer;
}
.struktur-restoo .rt-wine-mobile-nav svg {
  width: var(--typography-subheading);
  height: var(--typography-subheading);
}
.struktur-restoo .rt-wine-mobile-nav nav {
  display: grid;
  gap: var(--page-layout-control-gap);
  padding-block: var(--page-layout-copy-gap);
}
.struktur-restoo .rt-wine-section,
.struktur-restoo .rt-wine-country {
  margin-bottom: var(--page-layout-section-gap);
  scroll-margin-top: var(--size-header-height-compact);
}
.struktur-restoo .rt-wine-region,
.struktur-restoo .rt-wine-subregion,
.struktur-restoo .rt-wine-byglass-type {
  margin-bottom: var(--page-layout-copy-gap);
}
.struktur-restoo .wine-row {
  display: grid;
  grid-template-columns: var(--content-layout-wine-vintage-width) minmax(0, 1.2fr) minmax(0, 0.8fr) var(
      --content-layout-wine-price-width
    );
  gap: var(--page-layout-control-gap);
  padding-block: calc(var(--page-layout-control-gap) / 2);
  font-size: var(--typography-body);
  line-height: var(--typography-wine-line-height);
  align-items: baseline;
}
.struktur-restoo .wine-row.byglass-row {
  grid-template-columns: var(--content-layout-wine-vintage-width) minmax(0, 1fr) var(--content-layout-wine-price-width);
}
.struktur-restoo .wine-price {
  text-align: right;
  white-space: nowrap;
}
.struktur-restoo .wine-name,
.struktur-restoo .wine-producer {
  overflow-wrap: anywhere;
}

/* Page widths and section navigation follow the captured Struktur source. */
.struktur-page[data-route-key="menu-current"] .struktur-page__content,
.struktur-page[data-route-key="menu-upcoming"] .struktur-page__content {
  width: min(var(--content-layout-menu-width), 100%);
}
.struktur-page[data-route-key="gift-card"] .struktur-page__content {
  width: min(var(--content-layout-gift-card-width), 100%);
  padding-block: var(--page-layout-section-gap);
  text-align: center;
}
.struktur-page[data-route-key="wine"] .struktur-page__content {
  width: min(var(--content-layout-wine-width), 100%);
  padding-block-start: 0;
}
.struktur-page[data-route-key="wine"] .struktur-page__content > .struktur-heading,
.struktur-page[data-route-key="wine"] .struktur-page__content > p {
  width: min(var(--page-layout-narrow-width), 100%);
  margin-inline: auto;
  text-align: center;
}
.struktur-page[data-route-key="wine"] .struktur-restoo {
  margin-block-start: var(--content-layout-wine-top-gap);
}
.struktur-section-navigation {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--page-layout-copy-gap);
  margin: 0 0 var(--content-layout-tab-gap);
  padding: 0;
  border-block-end: var(--content-layout-tab-border) solid var(--color-divider);
}
.struktur-section-navigation a {
  display: inline-flex;
  min-height: var(--page-layout-control-size);
  align-items: center;
  text-align: center;
  text-decoration: none;
}
.struktur-section-navigation a:hover {
  text-decoration: none;
}
.struktur-functions {
  text-align: center;
}
.struktur-functions__section {
  margin-block-end: var(--page-layout-section-gap);
  scroll-margin-top: var(--content-layout-sticky-offset);
}
.struktur-functions__closing ul {
  padding: 0;
  list-style: none;
}
.struktur-functions__closing > ul + ul {
  display: none;
}
.struktur-functions__closing .struktur-button {
  max-width: 100%;
  overflow-wrap: anywhere;
}
.struktur-page .struktur-offer-rows .offer-group {
  margin-block: var(--page-layout-copy-gap) var(--content-layout-section-inset);
}
.struktur-page .struktur-offer-rows .offer-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 0 var(--content-layout-menu-price-gap);
  padding: var(--content-layout-card-item-padding) var(--content-layout-card-item-inline-padding);
  border: 0;
  text-align: start;
}
.struktur-offer-rows .offer-card__title {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
}
.struktur-page .struktur-offer-rows .offer-card__price {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  text-align: right;
  white-space: nowrap;
}
.struktur-page .struktur-offer-rows .offer-card__lines,
.struktur-page .struktur-offer-rows .offer-card__subtitle,
.struktur-page .struktur-offer-rows .offer-card__note {
  grid-column: 1;
  margin-block: var(--content-layout-card-description-gap) 0;
  color: var(--color-body-text);
}
.struktur-booking-layout {
  display: grid;
  grid-template-columns: var(--content-layout-booking-grid);
  align-items: start;
  gap: 0;
  padding-block-start: var(--page-layout-section-gap);
}
.struktur-booking-layout__form {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}
.struktur-booking-layout__information {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  padding-inline-start: var(--content-layout-booking-information-inset);
  text-align: start;
}
.struktur-booking-layout__information .struktur-heading::after {
  margin-inline: 0;
}
.struktur-gift-card {
  margin-block: var(--content-layout-section-inset) var(--page-layout-section-gap);
}
.struktur-restoo-upcoming {
  text-align: center;
}
.struktur-menu-offers .offer-group {
  margin-block: var(--content-layout-section-inset);
}
.struktur-menu-offers .offer-card {
  display: grid;
  align-content: start;
  gap: var(--page-layout-copy-gap);
  padding: 0;
  border: 0;
}
.struktur-page .struktur-menu-offers .offer-card > :is(h2, h3, p, ul) {
  margin: 0;
}
.struktur-restoo-menu > p,
.struktur-restoo-section > h2,
.struktur-restoo-section > p {
  text-align: center;
}
.struktur-restoo-section {
  scroll-margin-top: var(--content-layout-sticky-offset);
}
.struktur-restoo .wine-vintage {
  grid-column: 1;
  font-variant-numeric: tabular-nums;
}
.struktur-restoo .wine-name,
.struktur-restoo .byglass-main {
  grid-column: 2;
  min-width: 0;
}
.struktur-restoo .wine-producer {
  grid-column: 3;
  min-width: 0;
}
.struktur-restoo .wine-price {
  grid-column: 4;
}
.struktur-restoo .byglass-row .wine-price {
  grid-column: 3;
}
.struktur-restoo .rt-wine-content h2,
.struktur-restoo .rt-wine-content h3,
.struktur-restoo .rt-wine-content h4,
.struktur-restoo .rt-wine-content h5,
.struktur-restoo .rt-wine-region-heading {
  font-weight: var(--typography-wine-heading-weight);
  line-height: var(--typography-heading-line-height);
}
.struktur-restoo .rt-wine-country-heading h3 {
  font-size: var(--typography-heading);
}
.struktur-restoo .rt-wine-byglass-type h3,
.struktur-restoo .rt-wine-region-heading {
  color: var(--color-accent);
  font-size: var(--typography-subheading);
}
.struktur-restoo .rt-wine-subregion h4,
.struktur-restoo .rt-wine-subregion h5 {
  font-size: var(--typography-body);
}
.struktur-restoo .rt-wine-region-body {
  padding-block-start: var(--page-layout-control-gap);
}
.struktur-restoo .rt-wine-mobile-hint,
.struktur-restoo .rt-wine-mobile-backdrop,
.struktur-restoo .rt-wine-mobile-sheet-header {
  display: none;
}
.struktur-restoo .rt-wine-mobile-nav summary {
  list-style: none;
}
.struktur-restoo .rt-wine-mobile-nav summary::-webkit-details-marker {
  display: none;
}
.struktur-restoo .rt-wine-mobile-summary-copy {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--page-layout-control-gap);
  min-width: 0;
}
.struktur-restoo .rt-wine-mobile-summary-kicker {
  color: var(--color-accent);
  font-size: var(--typography-detail);
}
.struktur-restoo .rt-wine-mobile-number {
  display: none;
}
.struktur-restoo .rt-wine-mobile-primary {
  display: flex;
  align-items: center;
  gap: var(--page-layout-control-gap);
  min-height: var(--page-layout-control-size);
}
.struktur-restoo .rt-wine-mobile-primary svg {
  display: none;
}
.struktur-restoo .rt-wine-mobile-regions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--page-layout-control-gap);
  padding-block: var(--page-layout-control-gap);
}
.struktur-restoo .rt-wine-mobile-sheet {
  position: absolute;
  inset: 100% 0 auto;
  max-height: calc(100dvh - var(--content-layout-navigation-height));
  overflow-y: auto;
  padding: var(--page-layout-copy-gap);
  background: var(--color-background);
  border: var(--page-layout-rule-height) solid var(--color-accent);
}
@media (max-width: 959px) {
  .struktur-booking-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--page-layout-copy-gap);
  }
  .struktur-booking-layout__information,
  .struktur-booking-layout__form {
    grid-column: auto;
    grid-row: auto;
  }
  .struktur-booking-layout__form {
    margin-inline: calc(-1 * var(--page-layout-gutter-compact));
  }
  .struktur-functions__closing > ul:first-child {
    display: none;
  }
  .struktur-functions__closing > ul + ul {
    display: block;
  }
  .struktur-restoo .rt-wine-layout {
    display: block;
  }
  .struktur-restoo .rt-wine-sidebar {
    display: none;
  }
  .struktur-restoo .rt-wine-mobile-nav {
    display: block;
  }
  .struktur-restoo .wine-row,
  .struktur-restoo .wine-row.byglass-row {
    grid-template-columns: var(--content-layout-wine-vintage-width) minmax(0, 1fr) max-content;
    align-items: start;
  }
  .struktur-restoo .wine-vintage,
  .struktur-restoo .wine-name,
  .struktur-restoo .byglass-main {
    grid-row: 1;
  }
  .struktur-restoo .wine-producer {
    grid-column: 2;
    grid-row: 2;
  }
  .struktur-restoo .wine-price {
    grid-column: 3;
    grid-row: 1;
  }
  .struktur-gift-card__dialog {
    padding: var(--page-layout-gutter-compact);
  }
  .struktur-gift-card__dialog header {
    flex-wrap: wrap;
  }
  .struktur-newsletter {
    grid-template-columns: minmax(0, 1fr);
  }
  .struktur-newsletter__form {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 760px) {
  .struktur-page {
    padding-block-end: var(--content-layout-section-gap-compact);
  }
  .struktur-editorial-row,
  .struktur-functions__section,
  .struktur-restoo-section {
    margin-block-end: var(--content-layout-section-gap-compact);
  }
  .struktur-menu-offers .offer-group[data-layout="grid"] .offer-group__offers {
    grid-template-columns: minmax(0, 1fr);
  }
}

.struktur-newsletter__status {
  grid-column: 1 / -1;
}

.struktur-section-navigation [role="tab"] {
  padding: var(--page-layout-copy-gap) var(--page-layout-control-gap);
  border: 0;
  font-size: var(--typography-tab);
  font-weight: var(--typography-heading-weight);
  letter-spacing: var(--typography-navigation-letter-spacing);
  text-transform: uppercase;
}
.struktur-section-navigation [aria-selected="true"] {
  color: var(--color-accent);
}
.struktur-functions .struktur-section-navigation,
[data-struktur-cocktail-tabs] .struktur-section-navigation {
  border-bottom-color: var(--color-divider);
}
[data-struktur-cocktail-tabs] .struktur-restoo-section > h2,
[data-struktur-cocktail-tabs] .struktur-restoo-section > p {
  text-align: start;
}
[data-struktur-cocktail-tabs] .struktur-restoo-section > h2::after {
  margin-inline: 0;
}
.struktur-page[data-route-key="privacy"] .struktur-page__content {
  width: 100%;
}
.struktur-page[data-route-key="jobs"] {
  padding-block: var(--page-layout-section-gap);
}
.struktur-page[data-route-key="jobs"] .struktur-page__content {
  text-align: center;
}
.struktur-page[data-route-key="jobs"] .struktur-page__content > :last-child {
  margin-block-end: 0;
}
.struktur-job-list {
  margin: 0;
  padding: 0;
  border-block-start: var(--page-layout-rule-height) solid var(--color-divider);
  list-style: none;
}
.struktur-job-list > li {
  border-block-end: var(--page-layout-rule-height) solid var(--color-divider);
}
.struktur-job-list__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--page-layout-copy-gap);
  padding-block: var(--page-layout-copy-gap);
  font-size: var(--typography-subheading);
  font-weight: var(--typography-heading-weight);
  line-height: var(--typography-heading-line-height);
  text-align: start;
}
.struktur-job-list__link > span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.struktur-job-list__link > svg {
  flex-shrink: 0;
  width: var(--typography-subheading);
  height: var(--typography-subheading);
  fill: none;
  stroke: currentColor;
  stroke-width: var(--page-layout-rule-height);
}
.struktur-job-detail__intro {
  margin-block-end: var(--page-layout-gutter);
  text-align: center;
}
.struktur-job-detail__intro > .struktur-heading {
  margin-block-start: 0;
}
.struktur-job-detail__intro > p {
  margin: 0;
  font-size: var(--typography-lead);
  font-weight: var(--typography-body-weight);
}
.struktur-job-detail__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--page-layout-gutter);
}
.struktur-job-detail__columns .struktur-heading {
  margin-block-start: 0;
}
.struktur-job-detail__columns p {
  margin-block-end: var(--page-layout-control-gap);
}
.struktur-job-detail__columns section > :last-child {
  margin-block-end: 0;
}
.struktur-job-detail__practical {
  margin-block-start: var(--page-layout-gutter);
  padding-block-start: var(--page-layout-copy-gap);
  border-block-start: var(--page-layout-rule-height) solid var(--color-divider);
}
.struktur-job-detail__closing {
  margin-block-start: var(--page-layout-gutter);
  text-align: center;
  overflow-wrap: anywhere;
}
.struktur-job-detail__closing > p {
  margin: 0;
  color: var(--color-text);
  font-size: var(--typography-subheading);
  font-weight: var(--typography-heading-weight);
}
@media (max-width: 760px) {
  .struktur-job-detail__columns {
    grid-template-columns: minmax(0, 1fr);
  }
}
.struktur-page[data-route-key="privacy"] p {
  margin-block-end: var(--page-layout-control-gap);
}

.struktur-menu-offer-section {
  margin-block: var(--content-layout-section-inset);
  text-align: center;
}
.struktur-menu-offer-section::before,
.struktur-restoo-menu .struktur-restoo-section::before {
  content: "";
  display: block;
  width: var(--content-layout-menu-rule-width);
  height: var(--page-layout-rule-height);
  background: var(--color-accent);
  margin: var(--content-layout-section-inset) auto;
}
.struktur-menu-offer-section:nth-child(2) .offer-group:first-of-type .offer-card:nth-child(3) {
  grid-column: 1 / -1;
}
.struktur-menu-offer-section:nth-child(2) .offer-group:first-of-type .offer-group__offers {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.struktur-page[data-route-key="gift-card"] {
  font-size: var(--typography-lead);
}

.struktur-menu-offer-section:first-child .offer-group__offers {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.struktur-menu-offers .struktur-menu-offer-section:nth-child(4) .offer-group__offers,
.struktur-menu-offers .struktur-menu-offer-section:nth-child(3) .offer-group__offers {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

.struktur-functions__section > .struktur-heading:first-child + p {
  font-size: var(--typography-lead);
}
@media (max-width: 959px) {
  .struktur-header {
    --header-edge-inset: max(var(--page-layout-gutter-compact), env(safe-area-inset-top));
    --header-control-top: calc(
      var(--header-edge-inset) + (var(--page-layout-logo-width-compact) - var(--header-layout-toggle-size)) / 2
    );
    --header-control-right: calc(
      var(--page-layout-header-inset) + var(--header-layout-toggle-inset-adjustment) -
        (var(--header-layout-toggle-size) - var(--header-layout-toggle-icon-width)) / 2
    );

    padding: 0;
    pointer-events: none;
  }
  .struktur-header .mobile-menu__toggle {
    position: fixed;
    top: var(--header-control-top);
    right: var(--header-control-right);
    pointer-events: auto;
  }
  .struktur-header .mobile-menu__language--header {
    top: calc(var(--header-control-top) + (var(--header-layout-toggle-size) - var(--page-layout-control-size)) / 2);
    right: calc(var(--header-control-right) + var(--header-layout-toggle-size) + var(--page-layout-control-gap));
    pointer-events: auto;
  }
  .struktur-header__logo {
    display: block;
    position: absolute;
    top: var(--header-edge-inset);
    left: var(--page-layout-gutter-compact);
    width: var(--page-layout-logo-width-compact);
    pointer-events: auto;
  }
}

.struktur-restoo .rt-wine-sidebar {
  border: 0;
}
.struktur-restoo .rt-wine-sidebar .rt-wine-top-link,
.struktur-restoo .rt-wine-sidebar summary,
.struktur-restoo .rt-wine-country-heading h3,
.struktur-restoo .rt-wine-byglass-type h3,
.struktur-restoo .rt-wine-region-heading {
  text-transform: uppercase;
  letter-spacing: var(--typography-navigation-letter-spacing);
}
.struktur-restoo .rt-wine-mobile-nav svg {
  fill: none;
  stroke: currentColor;
  stroke-width: var(--page-layout-rule-height);
}
@media (max-width: 959px) {
  .struktur-page__hero-copy {
    padding-block-start: calc(var(--page-layout-copy-gap) * 2);
  }
}
@media (max-width: 959px) {
  .struktur-page__hero-layer {
    height: 100%;
  }
  .struktur-functions .struktur-section-navigation a {
    padding-inline: calc(var(--page-layout-control-gap) / 2);
  }
  .struktur-restoo .rt-wine-mobile-nav {
    position: fixed;
    inset: auto var(--content-layout-wine-navigation-inset)
      max(var(--content-layout-wine-navigation-inset), env(safe-area-inset-bottom)) auto;
    width: min(var(--content-layout-wine-floating-width), calc(100vw - var(--page-layout-control-size) * 2));
    padding: 0;
    border: 0;
    background: transparent;
  }
  body[data-menu-open] .struktur-restoo .rt-wine-mobile-nav {
    visibility: hidden;
  }
  .struktur-restoo .rt-wine-mobile-nav > summary {
    padding: var(--page-layout-control-gap);
    border: var(--page-layout-rule-height) solid var(--color-accent);
    border-radius: var(--radius-button);
    background: var(--color-background);
  }
  .struktur-restoo .rt-wine-mobile-nav[open] > summary {
    visibility: hidden;
  }
  .struktur-restoo .rt-wine-mobile-sheet {
    position: fixed;
    inset: auto 0 0;
    max-height: calc(100dvh - var(--content-layout-navigation-height));
  }
  .struktur-restoo .rt-wine-mobile-nav[open] .rt-wine-mobile-sheet-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .struktur-restoo .rt-wine-mobile-close {
    display: grid;
    place-items: center;
    width: var(--page-layout-control-size);
    height: var(--page-layout-control-size);
    border: 0;
    background: var(--color-background);
    color: var(--color-text);
  }
  .struktur-restoo .rt-wine-mobile-nav[open] .rt-wine-mobile-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: var(--color-hero-overlay);
  }
  body:has(.struktur-restoo .rt-wine-mobile-nav[open]) {
    overflow: hidden;
  }
}

/* Card typography and column rhythm measured on the current public site. */
.struktur-functions,
[data-struktur-cocktail-tabs] {
  width: min(var(--content-layout-card-width), 100%);
  margin-inline: auto;
}
[data-struktur-cocktail-tabs] .struktur-section-navigation {
  display: grid;
  grid-template-columns: repeat(4, max-content);
}
[data-struktur-cocktail-tabs] .struktur-section-navigation a {
  justify-content: center;
  white-space: nowrap;
}
@media (max-width: 760px) {
  [data-struktur-cocktail-tabs] .struktur-section-navigation {
    grid-template-columns: repeat(2, max-content);
  }
  [data-struktur-cocktail-tabs] .struktur-section-navigation a {
    padding-inline: 0;
  }
}
[data-struktur-cocktail-tabs] .struktur-restoo-section {
  margin: 0;
}
[data-struktur-cocktail-tabs] .struktur-restoo-section + .struktur-restoo-section {
  margin-block-start: var(--content-layout-section-gap-compact);
}
[data-struktur-cocktail-tabs] .struktur-restoo-section > h2 {
  margin: 0;
}
.struktur-menu-offers {
  padding-inline: var(--page-layout-gutter);
}
.struktur-menu-offer-section > h2,
.struktur-restoo-menu .struktur-restoo-section > h2 {
  margin: 0 0 var(--page-layout-gutter);
}
.struktur-page__hero[data-route-hero="wine"] .struktur-page__hero-description {
  position: absolute;
  top: calc(
    50% + var(--size-header-height) / 2 + var(--typography-display) * var(--typography-heading-line-height) / 2 +
      var(--page-layout-copy-gap)
  );
  width: min(var(--content-layout-card-width), calc(100% - 2 * var(--page-layout-gutter)));
}
@media (max-width: 959px) {
  .struktur-page__hero[data-route-hero="wine"] {
    height: auto;
    min-height: max(var(--hero-layout-height), var(--hero-layout-minimum-height));
  }
  .struktur-page__hero[data-route-hero="wine"] .struktur-page__hero-copy {
    position: relative;
    min-height: inherit;
  }
  .struktur-page__hero[data-route-hero="wine"] .struktur-page__hero-description {
    position: static;
    width: 100%;
  }
}
.struktur-restoo .rt-wine-layout {
  gap: calc(var(--content-layout-section-inset) + var(--content-layout-card-item-padding));
  color: var(--color-card-text);
}
.struktur-restoo .rt-wine-section {
  margin: 0 0 var(--content-layout-wine-section-gap);
}
.struktur-restoo .rt-wine-section:last-child {
  margin-bottom: 0;
}
.struktur-restoo .rt-wine-section-heading {
  margin-bottom: var(--content-layout-wine-title-gap);
}
.struktur-restoo .rt-wine-section-heading h2 {
  margin: 0;
  color: var(--color-text);
}
.struktur-restoo .rt-wine-byglass-type {
  margin-bottom: var(--content-layout-wine-group-gap);
}
.struktur-restoo .rt-wine-byglass-type h3,
.struktur-restoo .rt-wine-region-heading {
  margin: 0 0 var(--content-layout-wine-subtitle-gap);
  letter-spacing: var(--typography-wine-group-letter-spacing);
  line-height: var(--typography-wine-group-line-height);
}
.struktur-restoo .rt-wine-country {
  margin-bottom: var(--content-layout-wine-country-gap);
}
.struktur-restoo .rt-wine-country-heading {
  margin-bottom: var(--content-layout-wine-country-heading-gap);
}
.struktur-restoo .rt-wine-country-heading h3 {
  margin: 0;
  letter-spacing: var(--typography-wine-country-letter-spacing);
}
.struktur-restoo .rt-wine-region {
  margin-bottom: var(--content-layout-wine-region-gap);
}
.struktur-restoo .rt-wine-region-body {
  padding-top: var(--content-layout-wine-region-body-padding);
}
.struktur-restoo .rt-wine-subregion {
  margin-bottom: var(--content-layout-wine-subregion-section-gap);
}
.struktur-restoo .rt-wine-subregion :is(h4, h5) {
  margin: 0 0 var(--content-layout-wine-subregion-gap);
  line-height: var(--typography-wine-group-line-height);
}
.struktur-restoo .wine-row {
  grid-template-columns:
    var(--content-layout-wine-vintage-width) minmax(0, 1.25fr) minmax(var(--content-layout-offer-minimum-width), 0.9fr)
    var(--content-layout-wine-price-width);
  gap: var(--content-layout-wine-column-gap);
}
.struktur-restoo .wine-row.byglass-row {
  grid-template-columns: var(--content-layout-wine-vintage-width) minmax(0, 1fr) var(--content-layout-wine-price-width);
}
.struktur-restoo .wine-vintage {
  font-size: var(--typography-wine-vintage);
}
.struktur-restoo :is(.wine-name, .wine-producer, .byglass-text, .wine-price) {
  font-size: var(--typography-wine-name);
}
.struktur-restoo .rt-wine-sidebar {
  padding: var(--content-layout-wine-sidebar-padding) var(--content-layout-wine-sidebar-inset) var(--page-layout-gutter)
    0;
  border-right: var(--content-layout-tab-border) solid var(--color-divider);
}
.struktur-restoo .rt-wine-sidebar :is(.rt-wine-top-link, summary) {
  padding: var(--content-layout-wine-navigation-padding) var(--page-layout-copy-gap)
    var(--content-layout-wine-navigation-padding) 0;
  font-size: var(--typography-wine-navigation);
  line-height: var(--typography-wine-line-height);
  letter-spacing: var(--typography-wine-country-letter-spacing);
}
.struktur-restoo .rt-wine-sidebar details a {
  padding: var(--content-layout-wine-navigation-child-padding) 0 var(--content-layout-wine-navigation-child-padding)
    var(--page-layout-control-gap);
  color: var(--color-card-muted);
  font-size: var(--typography-wine-navigation);
  line-height: var(--typography-wine-line-height);
}
@media (max-width: 959px) {
  .struktur-functions,
  [data-struktur-cocktail-tabs],
  .struktur-menu-offers {
    width: calc(100% - 2 * var(--content-layout-card-inset-compact));
    margin-inline: auto;
    padding-inline: 0;
  }
  .struktur-booking-layout__information {
    padding-inline: var(--content-layout-card-inset-compact);
  }
  .struktur-page[data-route-key="gift-card"] .struktur-page__content {
    padding-inline: var(--content-layout-card-inset-compact);
  }
  .struktur-page[data-route-key="wine"] {
    padding-inline: var(--content-layout-wine-navigation-inset);
  }
  .struktur-page[data-route-key="wine"] .struktur-restoo {
    margin-top: calc(var(--content-layout-wine-top-gap) + var(--content-layout-wine-navigation-inset));
  }
  .struktur-restoo .rt-wine-section {
    margin-bottom: var(--content-layout-wine-section-gap-compact);
  }
  .struktur-restoo .rt-wine-section-heading {
    margin-bottom: var(--content-layout-wine-title-gap-compact);
  }
  .struktur-restoo .rt-wine-country {
    margin-bottom: var(--content-layout-wine-country-gap-compact);
  }
  .struktur-restoo .rt-wine-country-heading {
    margin-bottom: var(--content-layout-wine-country-heading-gap-compact);
  }
  .struktur-restoo .rt-wine-region {
    margin-bottom: var(--content-layout-wine-region-gap-compact);
  }
  .struktur-restoo .rt-wine-region-body {
    padding-top: var(--content-layout-wine-region-body-padding-compact);
  }
  .struktur-restoo .rt-wine-subregion {
    margin-bottom: var(--content-layout-wine-subregion-section-gap-compact);
  }
  .struktur-restoo .rt-wine-subregion :is(h4, h5) {
    font-size: var(--typography-detail);
  }
  .struktur-restoo .wine-row,
  .struktur-restoo .wine-row.byglass-row {
    grid-template-columns: var(--content-layout-wine-vintage-width-compact) minmax(0, 1fr) max-content;
    column-gap: var(--content-layout-wine-column-gap-compact);
    row-gap: 0;
    align-items: start;
    padding-block: var(--content-layout-wine-row-padding-compact-top)
      var(--content-layout-wine-row-padding-compact-bottom);
  }
  .struktur-restoo .wine-vintage,
  .struktur-restoo .wine-producer {
    font-size: var(--typography-wine-vintage-compact);
  }
  .struktur-restoo :is(.wine-name, .byglass-text, .wine-price) {
    font-size: var(--typography-wine-name-compact);
  }
}

@media (max-width: 959px) {
  .struktur-page:is([data-route-key="wine"], [data-route-key="gift-card"], [data-route-key="book"]) {
    padding-block-start: 0;
  }
  .struktur-page:is([data-route-key="cocktails"], [data-route-key="functions"]) {
    padding-block-start: calc(var(--page-layout-gutter) - var(--typography-body));
  }
}

.struktur-section-navigation [role="tab"] {
  position: relative;
}
.struktur-section-navigation [aria-selected="true"]::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: calc(2 * var(--page-layout-rule-height));
  background: var(--color-accent);
}
.struktur-page:is([data-route-key="cocktails"], [data-route-key="book"]) {
  padding-block-end: var(--page-layout-gutter);
}
.struktur-booking-layout__form {
  padding-inline-end: var(--content-layout-booking-frame-inset);
}
.struktur-menu-offers .offer-group__offers {
  gap: var(--page-layout-gutter) var(--page-layout-copy-gap);
}
.struktur-menu-offers .offer-card__lines {
  color: var(--color-body-text);
}
.struktur-page[data-route-key="gift-card"] p {
  margin-bottom: var(--page-layout-gutter);
}
.struktur-gift-card {
  margin-block-start: var(--page-layout-gutter);
}
.struktur-functions__section .struktur-heading--visual-2 {
  padding-block-start: var(--page-layout-rule-before);
}
.struktur-functions__section > .struktur-heading:first-child + p {
  color: var(--color-text);
  font-weight: var(--typography-heading-weight);
  margin-bottom: var(--content-layout-lead-after);
}
.struktur-page .struktur-offer-rows .offer-group__offers {
  gap: 0;
}
.struktur-page .struktur-offer-rows .offer-card__extras {
  grid-column: 1 / -1;
  margin-block-start: var(--page-layout-copy-gap);
}
.struktur-page .struktur-offer-rows .offer-card__extra {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
}
.struktur-page .struktur-offer-rows .offer-card__extras {
  display: grid;
  grid-template-columns: subgrid;
}
.struktur-page .struktur-offer-rows .offer-card__extra h3 {
  margin: 0;
}
.struktur-page .struktur-offer-rows .offer-card__extra p {
  margin: 0;
  text-align: right;
  white-space: nowrap;
}
.struktur-page .struktur-offer-rows .offer-card__extra p::before {
  content: "+";
}
.struktur-functions__closing {
  position: relative;
  left: 50%;
  width: calc(var(--page-layout-content-width) - 4 * var(--page-layout-gutter));
  max-width: calc(100vw - 2 * var(--page-layout-gutter));
  transform: translateX(-50%);
}
.struktur-restoo .rt-wine-sidebar {
  top: var(--size-header-height-compact);
  max-height: calc(100dvh - var(--size-header-height-compact) - var(--page-layout-gutter));
}
.struktur-restoo .rt-wine-sidebar summary {
  position: relative;
  list-style: none;
}
.struktur-restoo .rt-wine-sidebar summary::-webkit-details-marker {
  display: none;
}
.struktur-restoo .rt-wine-sidebar summary::after {
  content: "+";
  position: absolute;
  right: var(--content-layout-card-price-offset);
  color: var(--color-accent);
}
.struktur-restoo .rt-wine-sidebar details[open] summary::after {
  content: "−";
}
.struktur-restoo .rt-wine-sidebar details {
  margin-block: var(--content-layout-wine-navigation-child-padding);
}
.struktur-restoo .rt-wine-sidebar details p {
  margin: var(--content-layout-card-price-offset) 0 var(--content-layout-card-item-padding);
  padding-inline-start: var(--content-layout-wine-subtitle-gap);
  border-inline-start: var(--content-layout-tab-border) solid var(--color-divider);
}
.struktur-footer {
  padding-block-start: var(--content-layout-footer-top-padding);
}
.struktur-newsletter {
  position: relative;
  grid-template-columns: var(--content-layout-newsletter-intro-width) minmax(0, 1fr);
  gap: var(--content-layout-newsletter-gap);
  margin-bottom: var(--content-layout-newsletter-after);
}
.struktur-newsletter__form {
  gap: var(--content-layout-newsletter-control-gap);
}
.struktur-newsletter input {
  min-height: var(--content-layout-newsletter-control-height);
  border-width: var(--content-layout-tab-border);
  border-radius: var(--radius-form-control);
  background: var(--color-form-surface);
}
.struktur-newsletter__submit {
  min-height: var(--content-layout-newsletter-control-height);
  padding: 0 var(--content-layout-newsletter-button-inset);
}
@media (max-width: 959px) {
  .struktur-booking-layout__form {
    padding-inline-end: 0;
  }
  .struktur-functions__closing {
    width: 100%;
    max-width: 100%;
  }
  .struktur-newsletter {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 959px) {
  .struktur-restoo .rt-wine-mobile-nav {
    width: calc(100vw - 2 * var(--content-layout-wine-navigation-inset));
    left: var(--content-layout-wine-navigation-inset);
  }
  .struktur-restoo .rt-wine-mobile-nav > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--content-layout-wine-floating-icon);
    gap: var(--content-layout-wine-floating-padding);
    min-height: var(--content-layout-wine-floating-height);
    padding: var(--content-layout-card-item-padding) var(--content-layout-wine-floating-padding)
      var(--content-layout-card-item-padding) var(--content-layout-wine-navigation-inset);
  }
  .struktur-restoo .rt-wine-mobile-summary-kicker {
    font-family: var(--font-family-control);
    font-size: var(--typography-control-kicker);
    font-weight: var(--typography-heading-weight);
    text-transform: uppercase;
    letter-spacing: var(--typography-navigation-letter-spacing);
  }
  .struktur-restoo .rt-wine-mobile-current {
    font-size: var(--typography-body);
    font-weight: var(--typography-wine-heading-weight);
  }
  .struktur-restoo .rt-wine-mobile-summary-icon {
    display: grid;
    place-items: center;
    width: var(--content-layout-wine-floating-icon);
    height: var(--content-layout-wine-floating-icon);
    border-radius: 50%;
    background: var(--color-card-heading);
    color: var(--color-on-brand);
  }
  .struktur-restoo .rt-wine-mobile-sheet {
    max-height: min(82svh, var(--content-layout-wine-sheet-height));
    border-radius: var(--radius-wine-sheet);
  }
}

@media (max-width: 959px) {
  .struktur-header .mobile-menu__language--header {
    visibility: hidden;
  }
  body[data-menu-open] .struktur-header .mobile-menu__language--header {
    visibility: visible;
  }
}
@media (max-width: 959px) {
  .struktur-editorial-row {
    width: calc(100% - 2 * var(--content-layout-card-inset-compact));
    margin-inline: auto;
  }
}

.struktur-site[data-locale="en"] .struktur-functions__section > .struktur-heading:first-child + p {
  font-weight: var(--typography-body-weight);
  color: var(--color-body-text);
}
.struktur-page p a {
  color: var(--color-text);
}
.struktur-page p a:hover {
  color: var(--color-accent);
}
.struktur-menu-offers .offer-group {
  margin-block: var(--page-layout-gutter);
}
.struktur-restoo-menu .struktur-restoo-section {
  width: calc(100% - 2 * var(--page-layout-gutter));
  margin-block: var(--content-layout-section-inset);
  margin-inline: auto;
}
/* Menus use their existing section divider, without a second heading rule. */
.struktur-restoo-menu .struktur-restoo-section > h2::after {
  content: none;
}
.struktur-restoo-menu .struktur-restoo-section > h2 {
  margin-bottom: var(--page-layout-section-gap);
}
.struktur-restoo-menu .struktur-restoo-section > h2:has(+ p) {
  margin-bottom: var(--page-layout-gutter);
}
.struktur-restoo-menu .struktur-restoo-section > p {
  font-style: italic;
  margin-bottom: var(--page-layout-section-gap);
}
@media (max-width: 959px) {
  .struktur-restoo-menu .struktur-restoo-section {
    width: calc(100% - 2 * var(--content-layout-card-inset-compact));
  }
}

.struktur-page[data-route-key="privacy"] .struktur-heading {
  margin-block-start: var(--page-layout-rule-before);
}
.struktur-page[data-route-key="privacy"] .struktur-heading--visual-2 {
  margin-block-end: var(--page-layout-copy-gap);
}
.struktur-page[data-route-key="privacy"] .struktur-heading::after {
  content: none;
}
.struktur-page[data-route-key="privacy"] .struktur-heading:first-child {
  margin-top: 0;
}
.struktur-page[data-route-key="privacy"] p,
.struktur-document-list {
  margin-bottom: var(--page-layout-copy-gap);
}
.struktur-document-list {
  margin-top: 0;
  padding-left: var(--page-layout-copy-gap);
  color: var(--color-body-text);
}

.struktur-page[data-route-key="gift-card"] .struktur-page__content {
  padding-block-end: 0;
}

.struktur-functions [data-source-block="paragraph-21"] {
  font-size: var(--typography-lead);
  margin-bottom: var(--content-layout-lead-after);
}
.struktur-site[data-locale="da"] .struktur-functions [data-source-block="paragraph-21"] {
  font-weight: var(--typography-heading-weight);
  color: var(--color-text);
}
.struktur-functions [data-source-block="paragraph-17"] {
  font-style: italic;
}
.struktur-page .struktur-functions #cocktailbar .offer-group {
  margin-block-start: var(--page-layout-gutter);
  margin-inline: var(--page-layout-gutter);
}
.struktur-page .struktur-functions #cocktailbar .offer-card {
  margin-bottom: var(--page-layout-gutter);
}
.struktur-page .struktur-functions #cocktailbar .offer-card:last-child {
  margin-bottom: 0;
}

.struktur-section-navigation a[aria-selected="true"] {
  text-decoration: none;
}

@media (max-width: 959px) {
  .struktur-restoo .rt-wine-mobile-sheet {
    inset: auto var(--content-layout-wine-navigation-inset) 0;
    padding: var(--content-layout-card-item-padding) var(--page-layout-gutter-compact)
      max(var(--page-layout-gutter-compact), env(safe-area-inset-bottom));
    border: 0;
    overscroll-behavior: contain;
  }
  .struktur-restoo .rt-wine-mobile-nav .rt-wine-mobile-sheet-nav {
    gap: 0;
    padding: 0;
  }
  .struktur-restoo .rt-wine-mobile-sheet-header {
    position: sticky;
    top: calc(-1 * var(--content-layout-card-item-padding));
    padding: var(--content-layout-card-item-padding) 0 var(--page-layout-copy-gap);
    background: var(--color-background);
    z-index: var(--layer-header);
  }
  .struktur-restoo .rt-wine-mobile-sheet-kicker {
    color: var(--color-accent);
    font-family: var(--font-family-control);
    font-size: var(--typography-control-kicker);
    font-weight: var(--typography-heading-weight);
    letter-spacing: var(--typography-navigation-letter-spacing);
    text-transform: uppercase;
  }
  .struktur-restoo .rt-wine-mobile-close {
    padding: 0;
    border-radius: 50%;
    background: var(--color-form-surface);
    color: var(--color-card-text);
  }
  .struktur-restoo .rt-wine-mobile-sheet-group {
    margin-bottom: var(--content-layout-wine-sheet-group-gap);
  }
  .struktur-restoo .rt-wine-mobile-primary {
    display: grid;
    grid-template-columns: var(--typography-subheading) minmax(0, 1fr) var(--typography-subheading);
    gap: var(--content-layout-card-item-padding);
    padding-block: var(--content-layout-wine-floating-padding);
    color: var(--color-card-text);
    text-decoration: none;
  }
  .struktur-restoo .rt-wine-mobile-primary .struktur-emphasis {
    grid-column: 2;
    grid-row: 1;
    font-size: var(--typography-subheading);
    line-height: var(--typography-heading-line-height);
  }
  .struktur-restoo .rt-wine-mobile-primary svg {
    display: block;
    grid-column: 3;
    grid-row: 1;
    color: var(--color-card-heading);
  }
  .struktur-restoo summary.rt-wine-mobile-primary {
    cursor: pointer;
  }
  .struktur-restoo details[open] > summary.rt-wine-mobile-primary svg {
    transform: rotate(90deg);
  }
  .struktur-restoo .rt-wine-mobile-regions {
    justify-content: center;
    gap: var(--content-layout-wine-sheet-region-gap) var(--content-layout-wine-sheet-region-column-gap);
    padding: 0 0 var(--content-layout-card-description-gap);
  }
  .struktur-restoo .rt-wine-mobile-regions a {
    padding-block: var(--content-layout-card-price-offset);
    color: var(--color-card-heading);
    font-size: var(--typography-body);
    line-height: var(--typography-wine-group-line-height);
    text-decoration: none;
  }
  .struktur-restoo .rt-wine-mobile-nav[open] .rt-wine-mobile-backdrop {
    background: var(--color-dialog-overlay);
  }
}

.struktur-footer {
  font-size: var(--typography-body);
}
.struktur-newsletter {
  font-size: var(--typography-detail);
}
.struktur-newsletter > p {
  line-height: var(--typography-wine-line-height);
}

@media (max-width: 959px) {
  .struktur-restoo .rt-wine-mobile-primary .struktur-emphasis {
    text-align: center;
  }
  .struktur-restoo .rt-wine-mobile-primary:hover {
    text-decoration: none;
  }
  .struktur-page:is([data-route-key="privacy"], [data-route-key="jobs"], [data-route-key="gift-card"])
    .struktur-page__content {
    width: calc(100% - 2 * var(--content-layout-card-inset-compact));
  }
}

/* Desktop and mobile share the same region animation lifecycle. */
.struktur-restoo .rt-wine-sidebar details[data-wine-region-motion] {
  overflow: clip;
}
.struktur-restoo .rt-wine-sidebar details[data-wine-expanded="false"] summary::after {
  content: "+";
}

@media (max-width: 959px) {
  .struktur-restoo .rt-wine-mobile-sheet-group[data-wine-region-motion] {
    overflow: clip;
  }
  .struktur-restoo .rt-wine-mobile-sheet-group[data-wine-expanded="false"] > summary.rt-wine-mobile-primary svg {
    transform: rotate(0deg);
  }
  .struktur-restoo summary.rt-wine-mobile-primary svg {
    transition: transform var(--motion-wine-region-duration) var(--motion-standard-easing);
  }
}

@media (prefers-reduced-motion: reduce) {
  .struktur-restoo summary.rt-wine-mobile-primary svg,
  .struktur-site a,
  .struktur-header__desktop > ul > li > a::after,
  .struktur-header__desktop .struktur-header__language a:not([aria-current="page"])::after,
  .struktur-language-marker,
  .struktur-button,
  .struktur-header .mobile-menu__view--main .mobile-menu__view-content > nav a.mobile-menu__booking {
    transition: none;
  }
  ::view-transition-group(struktur-language-marker) {
    animation: none;
  }
}

/* Keep the shared event-booking ending independent of the final tab content. */
.struktur-page[data-route-key="functions"] {
  padding-block-end: var(--content-layout-functions-after);
}
.struktur-functions .struktur-functions__section {
  margin-block-end: 0;
}
.struktur-functions__section:not([hidden]) {
  display: flow-root;
}
.struktur-functions__section > :last-child,
.struktur-page .struktur-functions__section > .struktur-offer-rows:last-child .offer-group,
.struktur-functions__section > .struktur-restoo:last-child .struktur-restoo-party,
.struktur-page .struktur-functions__section > .struktur-restoo:last-child .struktur-course-line {
  margin-block-end: 0;
}
.struktur-page .struktur-functions__section > .struktur-offer-rows:last-child .offer-card:last-child {
  padding-block-end: 0;
}
.struktur-functions__closing {
  display: grid;
  gap: var(--content-layout-functions-note-gap);
  margin-block-start: var(--content-layout-functions-action-before);
}
.struktur-functions__closing > ul,
.struktur-page .struktur-functions__closing > p {
  margin: 0;
}
.struktur-functions__closing > ul > li {
  display: flex;
  justify-content: center;
}

/* Separate landscape framing only in the stacked tablet layout. */
@media (width > 760px) and (width <= 959px) {
  .struktur-editorial-row .struktur-page__route-image {
    aspect-ratio: var(--page-layout-tablet-image-ratio);
  }
}

[data-site="struktur"] [data-route-media="home"] .struktur-page__hero-image img,
[data-site="struktur"] [data-route-media="home"] .struktur-page__route-image img {
  object-position: 50% 50%;
}
[data-site="struktur"] [data-route-media="restaurant"] .struktur-page__hero-image img,
[data-site="struktur"] [data-route-media="restaurant"] .struktur-page__route-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="da"] [data-route-hero="home"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="en"] [data-route-hero="home"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="da"] [data-route-hero="restaurant"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="en"] [data-route-hero="restaurant"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="da"] [data-route-hero="menu-current"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="en"] [data-route-hero="menu-current"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="da"] [data-route-hero="menu-upcoming"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="en"] [data-route-hero="menu-upcoming"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="da"] [data-route-hero="wine"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="en"] [data-route-hero="wine"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="da"] [data-route-hero="cocktails"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="en"] [data-route-hero="cocktails"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="da"] [data-route-hero="functions"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="en"] [data-route-hero="functions"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="da"] [data-route-hero="gift-card"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="en"] [data-route-hero="gift-card"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="da"] [data-route-hero="book"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="en"] [data-route-hero="book"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="da"] [data-route-hero="privacy"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="en"] [data-route-hero="privacy"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"][data-locale="da"] [data-route-hero="jobs"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
[data-site="struktur"] [data-tablet-media="home-image-2"] .struktur-page__route-image img { object-position: 50% 50%; }
[data-site="struktur"] [data-tablet-media="home-image-3"] .struktur-page__route-image img { object-position: 50% 50%; }
@media (max-width: 959px) {
  [data-site="struktur"] [data-route-media="home"] {
    --route-media-mobile-start-offset-y: 0svh;
    --route-media-mobile-scroll-range: 1svh;
  }
  [data-site="struktur"] [data-route-media="home"] .struktur-page__hero-image img,
[data-site="struktur"] [data-route-media="home"] .struktur-page__route-image img {
    object-position: 50% 50%;
  }
  [data-site="struktur"] [data-route-media="restaurant"] {
    --route-media-mobile-start-offset-y: 0svh;
    --route-media-mobile-scroll-range: 1svh;
  }
  [data-site="struktur"] [data-route-media="restaurant"] .struktur-page__hero-image img,
[data-site="struktur"] [data-route-media="restaurant"] .struktur-page__route-image img {
    object-position: 50% 50%;
  }
  [data-site="struktur"][data-locale="da"] [data-route-hero="home"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="en"] [data-route-hero="home"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="da"] [data-route-hero="restaurant"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="en"] [data-route-hero="restaurant"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="da"] [data-route-hero="menu-current"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="en"] [data-route-hero="menu-current"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="da"] [data-route-hero="menu-upcoming"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="en"] [data-route-hero="menu-upcoming"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="da"] [data-route-hero="wine"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="en"] [data-route-hero="wine"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="da"] [data-route-hero="cocktails"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="en"] [data-route-hero="cocktails"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="da"] [data-route-hero="functions"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="en"] [data-route-hero="functions"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="da"] [data-route-hero="gift-card"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="en"] [data-route-hero="gift-card"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="da"] [data-route-hero="book"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="en"] [data-route-hero="book"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="da"] [data-route-hero="privacy"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="en"] [data-route-hero="privacy"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"][data-locale="da"] [data-route-hero="jobs"] .struktur-page__hero-image img {
  object-position: 50% 50%;
}
  [data-site="struktur"] [data-tablet-media="home-image-2"] .struktur-page__route-image img { object-position: 50% 50%; }
  [data-site="struktur"] [data-tablet-media="home-image-3"] .struktur-page__route-image img { object-position: 50% 50%; }
}
@media (width > 760px) and (width <= 959px) { [data-site="struktur"] [data-tablet-media="home-image-1"] .struktur-page__route-image img { object-position: 50% 50%; }
[data-site="struktur"] [data-tablet-media="home-image-2"] .struktur-page__route-image img { object-position: 50% 50%; }
[data-site="struktur"] [data-tablet-media="home-image-3"] .struktur-page__route-image img { object-position: 50% 50%; }
[data-site="struktur"] [data-tablet-media="restaurant-image-1"] .struktur-page__route-image img { object-position: 50% 50%; }
[data-site="struktur"] [data-tablet-media="restaurant-image-2"] .struktur-page__route-image img { object-position: 50% 50%; }
[data-site="struktur"] [data-tablet-media="restaurant-image-3"] .struktur-page__route-image img { object-position: 50% 50%; } }
