@font-face {
  font-family: "Nordlicht Display";
  src: url("fonts/Oswald-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Nordlicht Display";
  src: url("fonts/Oswald-Light.ttf") format("truetype");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "Nordlicht Display";
  src: url("fonts/Oswald-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Nordlicht Text";
  src: url("fonts/OpenSans-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Nordlicht Text";
  src: url("fonts/OpenSans-SemiBold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Nordlicht Script";
  src: url("fonts/Allura-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

/*
 * Global Noir shell
 * One neutral header, navigation, overlay system and footer for the complete site.
 * Page and post content stays in its own editable Enfold/plugin structures.
 */

body#top.rn-noir-site {
  --rn-black: #080808;
  --rn-panel: #151515;
  --rn-paper: #f1eee7;
  --rn-warm: #c3aa7a;
  --rn-warm-light: #e1cfaa;
  --rn-muted: #aaa69d;
  --rn-line: rgba(255, 255, 255, .14);
  --rn-display: "Nordlicht Display", "Arial Narrow", Arial, sans-serif;
  --rn-text: "Nordlicht Text", "Open Sans", Arial, sans-serif;
  --rn-script: "Nordlicht Script", Allura, cursive;
  --rnfm-navy: #090909;
  --rnfm-teal: #c3aa7a;
  --rnfm-teal-light: #e1cfaa;
  --rnfm-magenta: #c3aa7a;
  --rnfm-paper: #fff;
  --rnfm-body: var(--rn-text);
  --rnfm-display: var(--rn-display);
  --rnfm-script: var(--rn-script);
  --rn-grid-max: 1240px;
  --rn-grid-gutter: 36px;
  --rn-grid-width: min(var(--rn-grid-max), calc(100vw - 72px));
  --rn-grid-left: max(var(--rn-grid-gutter), calc((100vw - var(--rn-grid-max)) / 2));
  --rn-shell-left: var(--rn-grid-left);
  --rn-page: var(--rn-grid-width);
  --rn-card-inset: 18px;
  --rn-editorial-panel-inset: 24px;
  --rn-h1-size: clamp(45.198px, 5.3946vw, 70px);
  --rn-h1-line: .9;
  --rn-h1-track: -.045em;
  --rn-h2-size: clamp(43.74px, 4.86vw, 74.52px);
  --rn-h2-line: .9;
  --rn-h2-track: -.045em;
  --rn-h3-size: clamp(19.44px, 1.782vw, 27.54px);
  --rn-h3-line: 1.05;
  --rn-h3-track: normal;
  --rn-h4-size: 17.82px;
  --rn-h4-line: 1.15;
  --rn-h5-size: 12.96px;
  --rn-h6-size: clamp(32px, 3.4vw, 48px);
  --rn-copy-size: 13px;
  --rn-copy-line: 1.65;
  --rn-lead-size: 16px;
  --rn-lead-line: 1.6;
  --rn-display-lead-size: clamp(23px, 2.3vw, 34px);
  --rn-display-lead-line: 1.3;
  --rn-eyebrow-size: 8px;
  --rn-eyebrow-track: .18em;
  --rn-quote-size: clamp(36px, 3.3vw, 52px);
  --rn-quote-line: .98;
  --rn-cta-size: 9px;
  --rn-cta-track: .14em;
  --rn-calendar-title-size: 29.16px;
  --rn-hero-overlay:
    linear-gradient(90deg, rgba(8, 8, 8, .82) 0%, rgba(8, 8, 8, .54) 46%, rgba(8, 8, 8, .18) 100%),
    linear-gradient(0deg, rgba(8, 8, 8, .44), transparent 54%);
}

/*
 * Zentrale Akkordeon-Geometrie: dieselbe dezente 1-px-Linie und dieselbe
 * Textachse auf Startseite, Unterseiten und in beiden Akkordeonansichten.
 */
body#top.rn-noir-site #wrap_all :is(.rna-accordion--compact, .rna-accordion--full) {
  --rna-line: var(--rn-line);
}

body#top.rn-noir-site #wrap_all :is(.rna-accordion--compact, .rna-accordion--full) .rna-accordion__item {
  border-top: 1px solid var(--rn-line) !important;
  border-bottom: 0 !important;
}

body#top.rn-noir-site #wrap_all :is(.rna-accordion--compact, .rna-accordion--full) .rna-accordion__item:last-of-type {
  border-bottom: 1px solid var(--rn-line) !important;
}

body#top.rn-noir-site #wrap_all :is(.rna-accordion--compact, .rna-accordion--full) .rna-accordion__content {
  padding-left: 72px !important;
}

/*
 * Zentrale Noir-Kantenregel für beide Arrangement-Ausgaben.
 * Die Farbauswahl bleibt redaktionell erhalten; nur die Form folgt dem CD.
 */
body#top.rn-noir-site #wrap_all :is(.rnarr-card, .rnarr-package) {
  border-radius: 0 !important;
}

/*
 * Zentrales Label für kleine Uplines auf großflächigen Bildern.
 * Neue Module verwenden .rn-media-upline; die vorhandenen redaktionellen
 * Großbildmodule werden über ihre semantischen Klassen mitgeführt.
 */
body#top.rn-noir-site #wrap_all :is(
  .rn-media-upline,
  .rnarr-package__media > figcaption,
  .rnnd-house-primary-image .avia-inner-caption,
  .rnnd-house-story figure > figcaption,
  .rnnd-island-image > figcaption,
  .rnbg-single-hero figure > figcaption
) {
  width: fit-content;
  max-width: calc(100% - 40px);
  padding: 10px 14px !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  background: rgba(8, 8, 8, .78) !important;
  color: #fff !important;
  font-family: var(--rn-text) !important;
  font-size: 8px !important;
  font-weight: 600 !important;
  letter-spacing: .13em !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

@media (max-width: 620px) {
  body#top.rn-noir-site #wrap_all :is(.rna-accordion--compact, .rna-accordion--full) .rna-accordion__content {
    padding-left: 49px !important;
  }
}

/* Central CD rule: H6 is the handwritten editorial accent everywhere. */
body#top.rn-noir-site #wrap_all h6,
body#top.rn-noir-site #wrap_all h6 * {
  font-family: var(--rn-script) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* One central H1 scale: ten percent smaller than the approved 1.7.1 size. */
body#top.rn-noir-site.rn-noir-page #wrap_all h1,
body#top.rn-noir-site.rn-noir-subpage #main h1 {
  font-size: var(--rn-h1-size) !important;
}

body#top.rn-noir-site .rnbg-single-hero h1 {
  font-size: var(--rn-h1-size) !important;
}

body#top.rn-noir-site .rnbg-single-hero h1.rnbg-single-title--long {
  font-size: clamp(45px, 4.68vw, 68.4px) !important;
}

body#top.rn-noir-site .rnbg-single-hero h1.rnbg-single-title--xlong {
  font-size: clamp(41.4px, 4.23vw, 62.1px) !important;
}

/* Every Enfold image overlay is neutral black; stored blue gradients cannot leak through. */
body#top.rn-noir-site #main .avia-section .av-section-color-overlay {
  background: linear-gradient(90deg,
    rgba(8, 8, 8, .72) 0%,
    rgba(8, 8, 8, .44) 48%,
    rgba(8, 8, 8, .18) 100%) !important;
  background-color: transparent !important;
}

/*
 * Zentrale Bildbuehne: Die im ALB gepflegte Klasse hero-blau und die
 * gleich aufgebaute Abschlussbuehne verwenden denselben Noir-Verlauf.
 * Enfold erzeugt bei Parallax-Hintergruenden nicht immer ein Overlay-DIV;
 * in diesem Fall liefert das Pseudo-Element denselben Effekt, ohne den
 * redaktionellen ALB-Inhalt zu veraendern.
 */
body#top.rn-noir-site #main .avia-section.hero-blau .av-section-color-overlay {
  opacity: 1 !important;
  background: var(--rn-hero-overlay) !important;
  background-color: transparent !important;
}

body#top.rn-noir-site #main .avia-section:is(
  .hero-blau,
  .av-parallax-section:has(.avia_textblock.headline .hero-script)
):not(:has(.av-section-color-overlay)) {
  position: relative;
  isolation: isolate;
}

body#top.rn-noir-site #main .avia-section:is(
  .hero-blau,
  .av-parallax-section:has(.avia_textblock.headline .hero-script)
):not(:has(.av-section-color-overlay))::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: var(--rn-hero-overlay);
}

body#top.rn-noir-site #main .avia-section:is(
  .hero-blau,
  .av-parallax-section:has(.avia_textblock.headline .hero-script)
):not(:has(.av-section-color-overlay)) > .av-parallax {
  z-index: 0;
}

body#top.rn-noir-site #main .avia-section:is(
  .hero-blau,
  .av-parallax-section:has(.avia_textblock.headline .hero-script)
):not(:has(.av-section-color-overlay)) > .container {
  position: relative;
  z-index: 2;
}

/* Shared grouped surface for editorial modules split across ALB sections. */
body#top.rn-noir-site #main .avia-section.rnnd-section-surface {
  --rn-surface-ink: #11100e;
  --rn-surface-copy: #5f5a51;
  --rn-surface-accent: #9b8357;
  --rn-surface-line: rgba(17, 16, 14, .16);
  background-color: #f8f6f2 !important;
  background-image: none !important;
  color: var(--rn-surface-copy) !important;
}

body#top.rn-noir-site #main .avia-section.rnnd-section-surface--start {
  border-top: 0 !important;
}

body#top.rn-noir-site #main .avia-section.rnnd-section-surface :is(h1, h2, h3, h4, h5),
body#top.rn-noir-site #main .avia-section.rnnd-section-surface :is(h1, h2, h3, h4, h5) * {
  color: var(--rn-surface-ink) !important;
  -webkit-text-fill-color: var(--rn-surface-ink) !important;
}

body#top.rn-noir-site #main .avia-section.rnnd-section-surface :is(h6, .hero-script, .hero-script *),
body#top.rn-noir-site #main .avia-section.rnnd-section-surface .headline h2 + h2,
body#top.rn-noir-site #main .avia-section.rnnd-section-surface .headline h2 + h2 * {
  color: var(--rn-surface-accent) !important;
  -webkit-text-fill-color: var(--rn-surface-accent) !important;
}

body#top.rn-noir-site #main .avia-section.rnnd-section-surface :is(p, li, .eyebrow, .eyebrow *) {
  color: var(--rn-surface-copy) !important;
}

body#top.rn-noir-site #main .avia-section.rnnd-section-surface .av_toggle_section,
body#top.rn-noir-site #main .avia-section.rnnd-section-surface .av_toggle_section .single_toggle,
body#top.rn-noir-site #main .avia-section.rnnd-section-surface :is(.rna-accordion--compact, .rna-accordion--full) .rna-accordion__item {
  border-color: var(--rn-surface-line) !important;
}

body#top.rn-noir-site #main .avia-section.rnnd-section-surface :is(.toggler, .toggle_content) {
  border-color: var(--rn-surface-line) !important;
  background: transparent !important;
}

body#top.rn-noir-site #main .avia-section.rnnd-section-surface .toggler,
body#top.rn-noir-site #main .avia-section.rnnd-section-surface :is(.rna-accordion--compact, .rna-accordion--full) .rna-accordion__item > summary strong {
  color: var(--rn-surface-ink) !important;
  -webkit-text-fill-color: var(--rn-surface-ink) !important;
}

body#top.rn-noir-site #main .avia-section.rnnd-section-surface .toggle_content :is(p, li),
body#top.rn-noir-site #main .avia-section.rnnd-section-surface :is(.rna-accordion--compact, .rna-accordion--full) :is(.rna-accordion__content, .rna-accordion__content p, .rna-accordion__content li, .rna-accordion__compact-text, .rna-accordion__hint) {
  color: var(--rn-surface-copy) !important;
}

body#top.rn-noir-site #main .avia-section.rnnd-section-surface :is(.toggle_icon, .rna-accordion__icon, .rna-accordion__plus) {
  color: var(--rn-surface-accent) !important;
  border-color: var(--rn-surface-line) !important;
}

/* Header geometry is identical and fixed to the shared content grid. */
body#top.rn-noir-site #header {
  position: fixed !important;
  z-index: 600;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent !important;
  color: #fff;
}

/* Posts and archives keep their content below the same fixed black header. */
body#top.rn-noir-site:not(.page) #header {
  position: fixed !important;
  z-index: 600;
  top: 0 !important;
  width: 100%;
  background: #090909 !important;
  color: #fff;
}

body#top.rn-noir-site.admin-bar #header {
  top: 32px !important;
}

body#top.rn-noir-site:not(.page) #main {
  padding-top: 126px !important;
}

body#top.rn-noir-site #header_main,
body#top.rn-noir-site #header_main .container,
body#top.rn-noir-site #header_main .inner-container {
  height: 126px !important;
  min-height: 126px !important;
}

body#top.rn-noir-site #header_main {
  border: 0 !important;
  background: transparent !important;
}

body#top.rn-noir-site:not(.page) #header_main {
  background: #090909 !important;
}

body#top.rn-noir-site #header_main .container {
  width: var(--rn-grid-width) !important;
  max-width: none;
  padding: 0;
}

body#top.rn-noir-site #header .header_bg {
  background: transparent !important;
  opacity: 1 !important;
}

body#top.rn-noir-site:not(.page) #header .header_bg,
body#top.rn-noir-site #header.header-scrolled .header_bg {
  background: rgba(8, 8, 8, .94) !important;
  backdrop-filter: blur(10px);
}

/* Project rule: single posts always keep the shared header transparent.
 * The rule also wins over the generic dark archive/header fallback above. */
body#top.rn-noir-site.single-post #header,
body#top.rn-noir-site.single-post #header_main,
body#top.rn-noir-site.single-post #header .header_bg,
body#top.rn-noir-site.single-post #header.header-scrolled .header_bg {
  border-color: transparent !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

/* Posts inherit the corporate type system regardless of legacy Enfold element
 * settings. Sizes remain component-specific; font families and weights do not. */
body#top.rn-noir-site.rnbg-single-enabled #main .post-entry :is(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  blockquote,
  .av-special-heading-tag
) {
  font-family: var(--rn-display) !important;
  font-synthesis: none !important;
}

body#top.rn-noir-site.rnbg-single-enabled #main .post-entry :is(h1, h2) {
  font-weight: 500 !important;
}

body#top.rn-noir-site.rnbg-single-enabled #main .post-entry :is(h3, h4, h5, h6) {
  font-weight: 400 !important;
}

body#top.rn-noir-site.rnbg-single-enabled #main .post-entry :is(
  p,
  li,
  a,
  button,
  input,
  textarea,
  select,
  label,
  figcaption
) {
  font-family: var(--rn-text) !important;
  font-synthesis: none !important;
}

body#top.rn-noir-site #header_main .logo,
body#top.rn-noir-site #header_main .logo a {
  width: 178px !important;
  height: 126px !important;
  max-height: 126px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 0 24px 24px;
  background: transparent !important;
  box-shadow: none !important;
  display: grid !important;
  place-items: center;
}

body#top.rn-noir-site #header_main .logo {
  position: absolute !important;
  z-index: 700 !important;
  top: 0 !important;
  left: 0 !important;
}

body#top.rn-noir-site.admin-bar #header_main .logo {
  top: 0 !important;
}

body#top.rn-noir-site #header_main .logo img {
  width: 150px !important;
  height: auto !important;
  max-height: 96px !important;
  object-fit: contain;
}

body#top.rn-noir-site #header .main_menu {
  display: none !important;
}

body#top.rn-noir-site .rnfm-location {
  position: fixed !important;
  top: 46px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .84) !important;
  font-family: var(--rn-text) !important;
  font-size: 9px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}

body#top.rn-noir-site .rnfm-location span {
  margin-right: 14px;
  color: var(--rn-warm-light) !important;
}

body#top.rn-noir-site .rnfm-header-booking,
body#top.rn-noir-site .rnfm-trigger {
  top: 28px !important;
  box-sizing: border-box !important;
  height: 52px !important;
  min-height: 52px !important;
  border: 1px solid rgba(255, 255, 255, .42) !important;
  border-radius: 999px !important;
  background: rgba(9, 9, 9, .46) !important;
  color: #fff !important;
  backdrop-filter: blur(9px);
  box-shadow: none !important;
}

body#top.rn-noir-site .rnfm-header-booking {
  right: 154px !important;
  padding: 0 19px !important;
  gap: 6px;
  font-size: 9px !important;
  font-weight: 600;
  letter-spacing: .11em;
  text-transform: uppercase;
}

body#top.rn-noir-site .rnfm-trigger {
  right: 32px !important;
  padding: 0 8px 0 17px !important;
  gap: 12px;
}

body#top.rn-noir-site .rnfm-trigger > span {
  font-family: var(--rn-text) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase;
}

body#top.rn-noir-site .rnfm-trigger > i {
  width: 38px !important;
  height: 38px !important;
  background: var(--rn-warm) !important;
}

body#top.rn-noir-site .rnfm-trigger > i::before,
body#top.rn-noir-site .rnfm-trigger > i::after {
  background: #111 !important;
}

body#top.rn-noir-site.rnfm-menu-open .rnfm-trigger {
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (min-width: 783px) {
  body#top.rn-noir-site.admin-bar .rnfm-location {
    top: 78px !important;
  }

  body#top.rn-noir-site.admin-bar .rnfm-header-booking,
  body#top.rn-noir-site.admin-bar .rnfm-trigger {
    top: 60px !important;
  }
}

/* Full-screen navigation uses the same Noir palette everywhere. */
body#top.rn-noir-site .rnfm-layer {
  background: rgba(0, 0, 0, .72) !important;
}

body#top.rn-noir-site .rnfm-surface,
body#top.rn-noir-site .rnfm-head {
  background-color: #090909 !important;
}

body#top.rn-noir-site .rnfm-surface::before {
  border-color: rgba(195, 170, 122, .12) !important;
  box-shadow: 0 0 0 85px rgba(195, 170, 122, .025),
              0 0 0 170px rgba(195, 170, 122, .018) !important;
}

body#top.rn-noir-site .rnfm-brand {
  background: transparent !important;
}

body#top.rn-noir-site .rnfm-preview {
  background: linear-gradient(145deg, #171717, #26231d) !important;
}

body#top.rn-noir-site .rnfm-booking {
  background: var(--rn-warm) !important;
  color: #111 !important;
}

body#top.rn-noir-site .rnfm-booking small {
  color: rgba(17, 17, 17, .64) !important;
}

body#top.rn-noir-site .rnfm-booking > i {
  border-color: rgba(17, 17, 17, .28) !important;
}

body#top.rn-noir-site .rnfm-mobile-intro > p {
  color: var(--rn-warm) !important;
  font-family: var(--rn-display) !important;
  text-transform: uppercase !important;
  transform: none !important;
}

/* The approved two-column menu structure is shared by pages, posts and archives. */
body#top.rn-noir-site .rnfm-layer {
  z-index: 9000 !important;
  inset: 0 !important;
  padding: 0 !important;
}

body#top.rn-noir-site.admin-bar .rnfm-layer {
  top: 32px !important;
}

body#top.rn-noir-site .rnfm-surface {
  height: 100svh !important;
  max-height: 100svh !important;
  padding: 0 var(--rn-grid-left) !important;
  overflow: hidden !important;
  color: #fff !important;
  line-height: 1.2 !important;
}

body#top.rn-noir-site.admin-bar .rnfm-surface {
  height: calc(100svh - 32px) !important;
}

body#top.rn-noir-site .rnfm-head {
  min-height: 126px !important;
  display: grid !important;
  grid-template-columns: 210px 1fr auto !important;
  align-items: center !important;
  gap: 25px !important;
  border-bottom: 1px solid var(--rn-line) !important;
}

body#top.rn-noir-site .rnfm-brand {
  width: 178px !important;
  height: 126px !important;
  padding: 16px 18px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 0 0 24px 24px !important;
}

body#top.rn-noir-site .rnfm-brand img {
  width: 150px !important;
  max-height: 96px !important;
  object-fit: contain !important;
}

body#top.rn-noir-site .rnfm-head > p,
body#top.rn-noir-site .rnnd-menu-headline {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: center !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .48) !important;
  font-family: var(--rn-text) !important;
  font-size: 9px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

body#top.rn-noir-site .rnfm-head > p:not(.rnnd-menu-headline) {
  display: none !important;
}

body#top.rn-noir-site .rnnd-menu-headline span {
  margin-right: 14px !important;
  color: var(--rn-warm-light) !important;
}

body#top.rn-noir-site .rnfm-close {
  grid-column: 3 !important;
  grid-row: 1 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  gap: 13px !important;
}

body#top.rn-noir-site .rnfm-close span {
  font-family: var(--rn-text) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

body#top.rn-noir-site .rnfm-close i {
  width: 48px !important;
  height: 48px !important;
  border: 1px solid rgba(255, 255, 255, .3) !important;
  border-radius: 50% !important;
}

body#top.rn-noir-site .rnfm-close:focus-visible {
  outline: 0 !important;
}

body#top.rn-noir-site .rnfm-close:focus-visible i {
  outline: 3px solid var(--rn-warm-light) !important;
  outline-offset: 3px !important;
}

body#top.rn-noir-site .rnfm-content {
  height: calc(100% - 246px) !important;
  display: grid !important;
  grid-template-columns: minmax(570px, 1.3fr) minmax(350px, .7fr) !important;
  gap: clamp(50px, 7vw, 110px) !important;
}

body#top.rn-noir-site .rnfm-nav-wrap {
  min-width: 0 !important;
  display: grid !important;
  align-items: center !important;
}

body#top.rn-noir-site .rnfm-mobile-intro {
  display: none !important;
}

body#top.rn-noir-site .rnfm-nav__list {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: auto repeat(3, minmax(58px, 72px)) !important;
  column-gap: clamp(28px, 4vw, 58px) !important;
  list-style: none !important;
}

body#top.rn-noir-site .rnfm-nav__list::before,
body#top.rn-noir-site .rnfm-nav__list::after {
  align-self: end !important;
  margin: 0 0 10px !important;
  color: var(--rn-warm-light) !important;
  font-family: var(--rn-text) !important;
  font-size: 8px !important;
  font-weight: 600 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

body#top.rn-noir-site .rnfm-nav__list::before {
  content: "Das Reethaus" !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body#top.rn-noir-site .rnfm-nav__list::after {
  content: "Mehr Meerzeit" !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
}

body#top.rn-noir-site .rnfm-nav__item {
  margin: 0 !important;
  border: 0 !important;
}

body#top.rn-noir-site .rnfm-nav__item:nth-child(-n+3) { grid-column: 1 !important; }
body#top.rn-noir-site .rnfm-nav__item:nth-child(1) { grid-row: 2 !important; }
body#top.rn-noir-site .rnfm-nav__item:nth-child(2) { grid-row: 3 !important; }
body#top.rn-noir-site .rnfm-nav__item:nth-child(3) { grid-row: 4 !important; }
body#top.rn-noir-site .rnfm-nav__item:nth-child(n+4) { grid-column: 2 !important; }
body#top.rn-noir-site .rnfm-nav__item:nth-child(4) { grid-row: 2 !important; }
body#top.rn-noir-site .rnfm-nav__item:nth-child(5) { grid-row: 3 !important; }
body#top.rn-noir-site .rnfm-nav__item:nth-child(6) { grid-row: 4 !important; }

body#top.rn-noir-site .rnfm-nav__row,
body#top.rn-noir-site .rnfm-nav__link {
  height: 100% !important;
}

body#top.rn-noir-site .rnfm-nav__link {
  min-height: clamp(58px, 7.4vh, 72px) !important;
  padding: 0 10px 0 4px !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--rn-line) !important;
  display: grid !important;
  grid-template-columns: 1fr 36px !important;
  align-items: center !important;
  gap: 12px !important;
  color: #fff !important;
}

body#top.rn-noir-site .rnfm-nav__item:nth-child(1) .rnfm-nav__link,
body#top.rn-noir-site .rnfm-nav__item:nth-child(4) .rnfm-nav__link {
  border-top: 1px solid var(--rn-line) !important;
}

body#top.rn-noir-site .rnfm-nav__number {
  display: none !important;
}

body#top.rn-noir-site .rnfm-nav__title {
  font-family: var(--rn-display) !important;
  font-size: clamp(27px, 2.55vw, 39px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
  text-transform: uppercase !important;
}

body#top.rn-noir-site .rnfm-nav__arrow {
  width: 34px !important;
  height: 34px !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  justify-self: end !important;
  color: var(--rn-warm-light) !important;
}

body#top.rn-noir-site .rnfm-preview {
  min-height: 380px !important;
  margin: 30px 0 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
}

body#top.rn-noir-site .rnfm-preview > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body#top.rn-noir-site .rnfm-preview__shade {
  background: linear-gradient(180deg, transparent 28%, rgba(0, 0, 0, .64) 100%) !important;
}

body#top.rn-noir-site .rnfm-preview__copy {
  left: 29px !important;
  right: 29px !important;
  bottom: 29px !important;
}

body#top.rn-noir-site .rnfm-preview__copy > span {
  color: var(--rn-warm-light) !important;
  font-family: var(--rn-text) !important;
  font-size: 8px !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

body#top.rn-noir-site .rnfm-preview__copy p {
  margin: 10px 0 17px !important;
  color: #fff !important;
  font-family: var(--rn-display) !important;
  font-size: clamp(34px, 3vw, 46px) !important;
  line-height: .9 !important;
  text-transform: uppercase !important;
}

body#top.rn-noir-site .rnfm-preview__index {
  display: none !important;
}

body#top.rn-noir-site .rnfm-foot {
  min-height: 120px !important;
  display: grid !important;
  grid-template-columns: 1fr 360px !important;
  align-items: center !important;
  gap: 50px !important;
  border-top: 1px solid var(--rn-line) !important;
}

body#top.rn-noir-site .rnfm-service {
  display: flex !important;
  gap: 28px !important;
}

body#top.rn-noir-site .rnfm-service span {
  color: var(--rn-warm-light) !important;
  font-size: 8px !important;
}

body#top.rn-noir-site .rnfm-booking {
  min-height: 70px !important;
  padding: 0 24px 0 27px !important;
  border-radius: 999px !important;
}

body#top.rn-noir-site .rnfm-booking span {
  font-family: var(--rn-display) !important;
  font-size: 18px !important;
  text-transform: uppercase !important;
}

/* Shared vertical axes for regular content; full-width compositions keep their own layout. */
body#top.rn-noir-site.rn-noir-page #start .av_three_fifth {
  padding-left: var(--rn-grid-left) !important;
}

body#top.rn-noir-site.rn-noir-page #start .av_two_fifth {
  margin-right: var(--rn-grid-left) !important;
}

@media (min-width: 941px) {
body#top.rn-noir-site.rn-noir-page #start {
    background-position: center bottom !important;
  }

  body#top.rn-noir-site.rn-noir-page #haus .entry-content-wrapper,
  body#top.rn-noir-site.rn-noir-page #haus .flex_column_table {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body#top.rn-noir-site.rn-noir-page #haus .entry-content-wrapper > :is(.flex_column, .avia-slideshow),
  body#top.rn-noir-site.rn-noir-page #haus .flex_column_table > .flex_column {
    width: auto !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

/*
 * Balanced 50/50 editorial modules.
 * ALB continues to own images and copy; these rules only normalize the shared
 * geometry so text length can no longer force one side out of the image row.
 */
@media (min-width: 941px) {
  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .entry-content-wrapper {
    grid-template-rows: 720px 720px !important;
  }

  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .rnnd-house-primary-image,
  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .rnnd-house-primary-image .avia-slideshow-inner,
  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .rnnd-house-primary-image li,
  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .rnnd-house-primary-image .avia-slide-wrap,
  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .rnnd-house-primary-image img {
    height: 720px !important;
  }

  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .rnnd-house-copy-heading {
    padding: 82px clamp(72px, 8vw, 154px) 0 !important;
  }

  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .rnnd-house-copy-body {
    padding: 280px clamp(72px, 8vw, 154px) 70px !important;
  }

  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story :is(.rnnd-house-copy-heading, .rnnd-house-sauna-copy) h2 {
    font-size: clamp(50px, 4vw, 72px) !important;
    line-height: .93 !important;
  }

  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .rnnd-house-copy-body .large-copy h4,
  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .rnnd-house-sauna-copy .rnnd-story-lead {
    max-width: 620px;
    font-size: clamp(22px, 1.75vw, 30px) !important;
    line-height: 1.28 !important;
  }

  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .flex_column_table,
  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .rnnd-house-sauna-image,
  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .rnnd-house-sauna-copy {
    height: 720px !important;
    min-height: 720px !important;
  }

  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .rnnd-house-sauna-copy {
    padding: 76px clamp(72px, 8vw, 154px) !important;
  }
}

/* Ausstattung: the same optical 50/50 rule with a page-owned ALB module. */
body#top.rn-noir-site.rn-noir-subpage .rnnd-equipment-split .flex_column_table {
  width: 100% !important;
  min-height: 620px;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  border-radius: 0 !important;
}

body#top.rn-noir-site.rn-noir-subpage .rnnd-equipment-split .flex_column_table > .flex_column {
  width: auto !important;
  min-width: 0 !important;
  min-height: 620px;
  margin: 0 !important;
  border-radius: 0 !important;
}

body#top.rn-noir-site.rn-noir-subpage .rnnd-equipment-split .flex_column_table > .flex_column:last-child {
  padding: clamp(56px, 5vw, 82px) !important;
  background: #11110f !important;
  color: #f1eee7 !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
}

body#top.rn-noir-site.rn-noir-subpage #main .avia-section.rnnd-equipment-split .flex_column_table > .flex_column:last-child h2,
body#top.rn-noir-site.rn-noir-subpage #main .avia-section.rnnd-equipment-split .flex_column_table > .flex_column:last-child h2 * {
  color: #f1eee7 !important;
  -webkit-text-fill-color: #f1eee7 !important;
  font-size: clamp(48px, 3.25vw, 62px) !important;
  line-height: .94 !important;
}

body#top.rn-noir-site.rn-noir-subpage #main .avia-section.rnnd-equipment-split .flex_column_table > .flex_column:last-child h2 + h2,
body#top.rn-noir-site.rn-noir-subpage #main .avia-section.rnnd-equipment-split .flex_column_table > .flex_column:last-child h2 + h2 * {
  color: var(--rn-warm) !important;
  -webkit-text-fill-color: var(--rn-warm) !important;
}

body#top.rn-noir-site.rn-noir-subpage #main .avia-section.rnnd-equipment-split .flex_column_table > .flex_column:last-child :is(p, li) {
  color: rgba(241, 238, 231, .7) !important;
}

body#top.rn-noir-site.rn-noir-subpage #main .avia-section.rnnd-equipment-split .flex_column_table > .flex_column:last-child p:first-child,
body#top.rn-noir-site.rn-noir-subpage #main .avia-section.rnnd-equipment-split .flex_column_table > .flex_column:last-child p:first-child * {
  color: var(--rn-warm) !important;
  -webkit-text-fill-color: var(--rn-warm) !important;
}

body#top.rn-noir-site.rn-noir-subpage .rnnd-equipment-wellness-split .wellness-copy {
  padding: clamp(76px, 8vw, 154px) !important;
}

/* Mobile menu polish: script accent, safe link leading and true left alignment. */
@media (max-width: 990px) {
  body#top.rn-noir-site.rnfm-enabled #rnfm-menu .rnfm-mobile-intro > p {
    color: rgba(225, 207, 170, .8) !important;
    font-family: var(--rn-script) !important;
    font-size: clamp(23px, 6vw, 29px) !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  body#top.rn-noir-site.rnfm-enabled #rnfm-menu .rnfm-nav__title {
    line-height: 1.1 !important;
  }

  body#top.rn-noir-site.rnfm-enabled #rnfm-menu .rnfm-service {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  body#top.rn-noir-site.rnfm-enabled #rnfm-menu .rnfm-service > span {
    display: inline-block !important;
  }
}

@media (max-width: 940px) {
  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .flex_column_table {
    margin-top: 28px !important;
  }

  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story :is(.rnnd-house-copy-heading, .rnnd-house-sauna-copy) h2 {
    font-size: clamp(46px, 13vw, 60px) !important;
    line-height: .95 !important;
  }

  body#top.rn-noir-site.rn-noir-subpage .rnnd-equipment-split .flex_column_table {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  body#top.rn-noir-site.rn-noir-subpage .rnnd-equipment-split .flex_column_table > .flex_column {
    min-height: 0;
  }

  body#top.rn-noir-site.rn-noir-subpage .rnnd-equipment-split .flex_column_table > .flex_column:first-child {
    min-height: 430px;
  }

  body#top.rn-noir-site.rn-noir-subpage .rnnd-equipment-split .flex_column_table > .flex_column:last-child,
  body#top.rn-noir-site.rn-noir-subpage .rnnd-equipment-wellness-split .wellness-copy {
    padding: 64px 24px !important;
  }

  /* Enfold setzt leere Hintergrundzellen beim Stapeln auf nur 60 Pixel.
   * Der explizit markierte Wellness-Split behaelt deshalb auf Smartphone und
   * Tablet einen bildgerechten, responsiven Ausschnitt. */
  body#top.rn-noir-site.rn-noir-subpage .rnnd-equipment-wellness-split > .flex_cell:last-child {
    height: clamp(390px, 110vw, 520px) !important;
    min-height: clamp(390px, 110vw, 520px) !important;
    padding: 0 !important;
    background-position: center center !important;
    background-size: cover !important;
  }

  body#top.rn-noir-site.rn-noir-subpage #main .avia-section.rnnd-equipment-split .flex_column_table > .flex_column:last-child h2,
  body#top.rn-noir-site.rn-noir-subpage #main .avia-section.rnnd-equipment-split .flex_column_table > .flex_column:last-child h2 * {
    font-size: clamp(44px, 13vw, 58px) !important;
  }
}

/*
 * Mobile media labels stay compact even when the caption wraps. The box is
 * content-sized, has a deliberate maximum line length and never touches the
 * image edges.
 */
@media (max-width: 620px) {
  body#top.rn-noir-site #wrap_all :is(
    .rn-media-upline,
    .rnarr-package__media > figcaption,
    .rnnd-house-primary-image .avia-inner-caption,
    .rnnd-house-story figure > figcaption,
    .rnnd-island-image > figcaption,
    .rnbg-single-hero figure > figcaption
  ) {
    width: max-content;
    max-width: min(280px, calc(100% - 64px));
    padding: 11px 14px !important;
    line-height: 1.55 !important;
    white-space: normal !important;
    overflow-wrap: normal;
  }

  body#top.rn-noir-site #wrap_all .rnnd-island-image > figcaption {
    left: 20px !important;
    right: auto !important;
    bottom: 20px !important;
    width: fit-content !important;
    max-width: min(240px, calc(100% - 48px)) !important;
    padding: 10px 13px !important;
    font-size: 8px !important;
    line-height: 1.45 !important;
    letter-spacing: .08em !important;
    text-wrap: balance;
    overflow-wrap: normal;
    word-break: normal;
  }

  body#top.rn-noir-site.rn-noir-subpage #main .avia-section:not(.hero-blau):not(.rnnd-section-surface):not(.rnnd-legacy-footer-cta) > .container > .content {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
}

/*
 * The Impressionen gallery is a normal content surface, not a fullwidth
 * breakout. It therefore follows the exact ALB text grid on this page.
 */
body#top.rn-noir-site.rn-noir-subpage #main .rnnd-impressions-gallery-section .rng-gallery-shell {
  --rng-page: 100%;
  width: 100% !important;
  max-width: none !important;
}

body#top.rn-noir-site.rn-noir-subpage #main .rnnd-impressions-gallery-section .rng-gallery {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

/* Impressionen: Hero, Editorial-Text, Quote und Galerie share one grid. */
body#top.rn-noir-site.rn-noir-subpage.page-id-4204 #main .rnnd-impressions-material-section > .flex_cell {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body#top.rn-noir-site.rn-noir-subpage.page-id-4204 #main .rnnd-impressions-material-section .wellness-copy {
  padding-right: var(--rn-grid-left) !important;
  padding-left: var(--rn-grid-left) !important;
}

body#top.rn-noir-site.rn-noir-subpage.page-id-4204 #main .rnnd-impressions-quote-section .flex_column:has(.large-copy blockquote) {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body#top.rn-noir-site.rn-noir-subpage.page-id-4204 #main .rnnd-impressions-quote-section .large-copy blockquote,
body#top.rn-noir-site.rn-noir-subpage.page-id-4204 #main .rnnd-impressions-quote-section .large-copy blockquote :is(p, span, em, strong) {
  font-size: clamp(22px, 2vw, 28px) !important;
  line-height: 1.18 !important;
}

@media (max-width: 560px) {
  body#top.rn-noir-site.rn-noir-subpage.page-id-4204 #main .rnnd-impressions-gallery-section .rng-gallery {
    padding-right: 0 !important;
    padding-left: 0 !important;
    scroll-padding-inline: 0 !important;
  }

  body#top.rn-noir-site.rn-noir-subpage.page-id-4204 #main .rnnd-impressions-gallery-section .rng-gallery__tile > span {
    left: var(--rn-card-inset) !important;
    right: var(--rn-card-inset) !important;
  }
}

body#top.rn-noir-site.rn-noir-subpage #main .avia-section:not(.footer) > .container,
body#top.rn-noir-site .rnbg-single-hero__inner,
body#top.rn-noir-site .rnbg-single-outro__inner,
body#top.rn-noir-site .footer-page-content .avia-section.footer > .container,
body#top.rn-noir-site #socket > .container {
  width: var(--rn-grid-width) !important;
  max-width: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

/* The reusable Enfold footer page is always the same neutral Noir footer. */
body#top.rn-noir-site #main .rnnd-legacy-footer-cta {
  display: none !important;
}

body#top.rn-noir-site .rnnd-footer-cta {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: clamp(62px, 6vw, 88px) 0;
  overflow: hidden;
  border-top: 1px solid rgba(195, 170, 122, .34);
  border-bottom: 1px solid rgba(195, 170, 122, .18);
  background:
    radial-gradient(circle at 26% 20%, rgba(195, 170, 122, .09), transparent 28%),
    linear-gradient(118deg, #1c1914 0%, #11100e 46%, #080808 100%);
  box-shadow: inset 0 36px 80px rgba(195, 170, 122, .035);
  color: var(--rn-paper);
}

body#top.rn-noir-site .rnnd-footer-cta__inner {
  width: var(--rn-grid-width);
  max-width: none;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 190px minmax(300px, 1fr) minmax(235px, auto);
  align-items: center;
  gap: clamp(50px, 7vw, 106px);
}

body#top.rn-noir-site .rnnd-footer-cta__brand {
  width: 190px;
  height: 168px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #111 !important;
  text-decoration: none !important;
}

body#top.rn-noir-site .rnnd-footer-cta__brand > span {
  color: #111 !important;
  font-family: Georgia, serif;
  font-size: 72px;
}

body#top.rn-noir-site .rnnd-footer-cta__logo-image {
  width: 100%;
  height: auto;
  max-width: 190px;
  max-height: 132px;
  display: block;
  object-fit: contain;
}

body#top.rn-noir-site .rnnd-footer-cta__copy > p {
  margin: 0 0 12px !important;
  color: var(--rn-warm-light) !important;
  font-family: var(--rn-script) !important;
  font-size: clamp(60px, 6.2vw, 90px) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: .72 !important;
  text-transform: none !important;
}

body#top.rn-noir-site .rnnd-footer-cta__copy {
  width: max-content;
  max-width: 100%;
  justify-self: center;
  text-align: left;
}

body#top.rn-noir-site .rnnd-footer-cta__copy h2 {
  margin: 0 !important;
  color: var(--rn-paper) !important;
  font-family: var(--rn-display) !important;
  font-size: clamp(42px, 4.25vw, 62px) !important;
  font-weight: 400 !important;
  letter-spacing: -.035em !important;
  line-height: .92 !important;
  text-transform: uppercase !important;
}

body#top.rn-noir-site .rnnd-footer-cta__copy h2 span,
body#top.rn-noir-site .rnnd-footer-cta__copy h2 em {
  display: block;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
  text-transform: inherit !important;
}

body#top.rn-noir-site .rnnd-footer-cta__copy h2 em {
  color: var(--rn-warm) !important;
  font-style: normal !important;
}

body#top.rn-noir-site .rnnd-footer-cta__button {
  min-width: 235px;
  min-height: 64px;
  padding: 0 24px 0 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border: 1px solid rgba(241, 238, 231, .52);
  border-radius: 999px;
  background: rgba(8, 8, 8, .18);
  color: var(--rn-paper) !important;
  text-decoration: none !important;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

body#top.rn-noir-site .rnnd-footer-cta__actions {
  display: grid;
  gap: 13px;
  justify-items: stretch;
}

body#top.rn-noir-site .rnnd-footer-cta__button span {
  color: inherit !important;
  font-family: var(--rn-text) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

body#top.rn-noir-site .rnnd-footer-cta__button i {
  color: inherit !important;
  font-family: Arial, sans-serif !important;
  font-size: 18px;
  font-style: normal;
  transition: transform .2s ease;
}

body#top.rn-noir-site .rnnd-footer-cta__button:hover,
body#top.rn-noir-site .rnnd-footer-cta__button:focus-visible {
  border-color: var(--rn-warm);
  background: var(--rn-warm);
  color: #111 !important;
}

body#top.rn-noir-site .rnnd-footer-cta__button:hover i,
body#top.rn-noir-site .rnnd-footer-cta__button:focus-visible i {
  transform: translate(3px, -3px);
}

body#top.rn-noir-site .footer-page-content,
body#top.rn-noir-site .footer-page-content .avia-section.footer,
body#top.rn-noir-site .footer-page-content .container_wrap,
body#top.rn-noir-site #footer,
body#top.rn-noir-site #socket {
  border-color: var(--rn-line) !important;
  background: var(--rn-black) !important;
  background-color: var(--rn-black) !important;
  background-image: none !important;
  color: var(--rn-muted) !important;
}

body#top.rn-noir-site .footer-page-content :is(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--rn-paper) !important;
}

body#top.rn-noir-site .footer-page-content :is(p, li, span) {
  color: var(--rn-muted) !important;
}

body#top.rn-noir-site .footer-page-content a,
body#top.rn-noir-site :is(#footer, #socket) a {
  color: var(--rn-warm-light) !important;
}

body#top.rn-noir-site .footer-page-content a:not(.avia-button):not(.rnnd-footer-cta__button):not(:has(img)),
body#top.rn-noir-site :is(#footer, #socket) a:not(.avia-button):not(:has(img)) {
  text-decoration: none !important;
}

body#top.rn-noir-site .footer-page-content a:hover,
body#top.rn-noir-site .footer-page-content a:focus-visible,
body#top.rn-noir-site :is(#footer, #socket) a:hover {
  color: #fff !important;
  text-decoration-color: currentColor !important;
}

body#top.rn-noir-site #scroll-top-link {
  border-color: var(--rn-warm) !important;
  background: var(--rn-warm) !important;
  color: #111 !important;
}

@media (max-width: 940px) {
  body#top.rn-noir-site {
    --rn-grid-max: 100%;
    --rn-grid-gutter: 20px;
    --rn-grid-width: calc(100vw - 40px);
    --rn-grid-left: 20px;
    --rn-shell-left: var(--rn-grid-left);
    --rn-hero-overlay:
      linear-gradient(90deg, rgba(8, 8, 8, .8), rgba(8, 8, 8, .44)),
      linear-gradient(0deg, rgba(8, 8, 8, .56), transparent 58%);
  }

  body#top.rn-noir-site .rnfm-surface {
    padding: 0 var(--rn-grid-left) !important;
    overflow-y: auto !important;
    scroll-padding-bottom: calc(106px + env(safe-area-inset-bottom)) !important;
  }

  body#top.rn-noir-site .rnfm-head {
    min-height: 116px !important;
    grid-template-columns: 150px 1fr auto !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
  }

  body#top.rn-noir-site .rnfm-brand {
    width: 140px !important;
    height: 116px !important;
    padding: 13px !important;
  }

  body#top.rn-noir-site .rnfm-head > p {
    display: none !important;
  }

  body#top.rn-noir-site .rnfm-content {
    height: auto !important;
    min-height: 650px !important;
    grid-template-columns: 1fr !important;
    padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
  }

  body#top.rn-noir-site .rnfm-nav-wrap {
    display: block !important;
  }

  body#top.rn-noir-site .rnfm-mobile-intro {
    min-height: 92px !important;
    padding: 24px 3px 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
  }

  body#top.rn-noir-site .rnfm-preview {
    display: none !important;
  }

  body#top.rn-noir-site .rnfm-foot {
    min-height: 172px !important;
    padding: 20px 0 92px !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body#top.rn-noir-site .rnfm-booking {
    position: fixed !important;
    z-index: 30 !important;
    left: var(--rn-grid-left) !important;
    right: var(--rn-grid-left) !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
  }

  body#top.rn-noir-site #header_main,
  body#top.rn-noir-site #header_main .container,
  body#top.rn-noir-site #header_main .inner-container {
    height: 116px !important;
    min-height: 116px !important;
  }

  body#top.rn-noir-site #header_main .container {
    width: var(--rn-grid-width) !important;
  }

  body#top.rn-noir-site #header_main .logo,
  body#top.rn-noir-site #header_main .logo a {
    width: 150px !important;
    height: 116px !important;
    max-height: 116px !important;
  }

  body#top.rn-noir-site #header_main .logo img {
    width: 124px !important;
  }

  body#top.rn-noir-site .rnfm-location,
  body#top.rn-noir-site .rnfm-header-booking {
    display: none !important;
  }

  body#top.rn-noir-site .rnfm-trigger {
    top: 28px !important;
    right: 20px !important;
  }

  body#top.rn-noir-site.rn-noir-page #start .av_three_fifth {
    padding-right: var(--rn-grid-left) !important;
    padding-left: var(--rn-grid-left) !important;
  }

  /* Enfold keeps .content as a table-cell at this breakpoint. Force the
     homepage hero back to the full viewport before sizing its calendar. */
  body#top.rn-noir-site.rn-noir-page #start .content,
  body#top.rn-noir-site.rn-noir-page #start .post-entry,
  body#top.rn-noir-site.rn-noir-page #start .entry-content-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
  }

  body#top.rn-noir-site.rn-noir-page #start .av_two_fifth {
    margin-right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    overflow: visible !important;
    background: var(--rn-paper) !important;
  }

  body#top.rn-noir-site.rn-noir-page #start .rnva-availability {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: var(--rn-grid-left) !important;
    padding-left: var(--rn-grid-left) !important;
    border-radius: 0 !important;
    background: var(--rn-paper) !important;
  }

  body#top.rn-noir-site .rnnd-footer-cta__inner {
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 32px 46px;
  }

  body#top.rn-noir-site .rnnd-footer-cta__brand {
    width: 150px;
    height: 138px;
    padding: 0;
  }

  body#top.rn-noir-site .rnnd-footer-cta__actions {
    grid-column: 2;
    width: min(100%, 320px);
  }

  body#top.rn-noir-site .rnnd-footer-cta__button {
    width: 100%;
  }
}

@media (max-width: 620px) {
  body#top.rn-noir-site {
    --rn-grid-gutter: 15px;
    --rn-grid-width: calc(100vw - 30px);
    --rn-grid-left: 15px;
    --rn-shell-left: var(--rn-grid-left);
  }

  body#top.rn-noir-site .rnbg-single-hero h1 {
    font-size: clamp(39.6px, 11.7vw, 50.4px) !important;
  }

  body#top.rn-noir-site .rnbg-single-hero h1.rnbg-single-title--long {
    font-size: clamp(36.9px, 10.44vw, 46.8px) !important;
  }

  body#top.rn-noir-site .rnbg-single-hero h1.rnbg-single-title--xlong {
    font-size: clamp(33.3px, 9.27vw, 42.3px) !important;
  }

  body#top.rn-noir-site.admin-bar #header_main .logo {
    top: 0 !important;
  }

  body#top.rn-noir-site.admin-bar .rnfm-layer {
    top: 46px !important;
  }

  body#top.rn-noir-site.admin-bar .rnfm-surface {
    height: calc(100svh - 46px) !important;
  }

  body#top.rn-noir-site .rnfm-surface {
    padding: 0 var(--rn-grid-left) !important;
  }

  body#top.rn-noir-site .rnfm-head {
    min-height: 110px !important;
    grid-template-columns: 123px 1fr auto !important;
  }

  body#top.rn-noir-site .rnfm-brand {
    width: 116px !important;
    height: 110px !important;
    padding: 10px !important;
    border-radius: 0 0 18px 18px !important;
  }

  body#top.rn-noir-site .rnfm-close span {
    display: none !important;
  }

  body#top.rn-noir-site .rnfm-close i {
    width: 42px !important;
    height: 42px !important;
  }

  body#top.rn-noir-site .rnfm-mobile-intro {
    min-height: 78px !important;
  }

  body#top.rn-noir-site .rnfm-nav__list {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    grid-auto-rows: 66px !important;
    column-gap: 0 !important;
  }

  body#top.rn-noir-site .rnfm-nav__list::before,
  body#top.rn-noir-site .rnfm-nav__list::after {
    content: none !important;
    display: none !important;
  }

  body#top.rn-noir-site .rnfm-nav__item:nth-child(1) { grid-column: 1 !important; grid-row: 1 !important; }
  body#top.rn-noir-site .rnfm-nav__item:nth-child(2) { grid-column: 1 !important; grid-row: 2 !important; }
  body#top.rn-noir-site .rnfm-nav__item:nth-child(3) { grid-column: 1 !important; grid-row: 3 !important; }
  body#top.rn-noir-site .rnfm-nav__item:nth-child(4) { grid-column: 1 !important; grid-row: 4 !important; }
  body#top.rn-noir-site .rnfm-nav__item:nth-child(5) { grid-column: 1 !important; grid-row: 5 !important; }
  body#top.rn-noir-site .rnfm-nav__item:nth-child(6) { grid-column: 1 !important; grid-row: 6 !important; }

  body#top.rn-noir-site .rnfm-nav__title {
    font-size: clamp(27px, 8.5vw, 34px) !important;
  }

  body#top.rn-noir-site .rnfm-service {
    justify-content: space-between !important;
    gap: 10px !important;
  }

  body#top.rn-noir-site .rnfm-service span {
    display: none !important;
  }

  body#top.rn-noir-site .rnfm-booking {
    left: 13px !important;
    right: 13px !important;
    bottom: 9px !important;
  }

  body#top.rn-noir-site.admin-bar #header {
    top: 46px !important;
  }

  body#top.rn-noir-site #header_main,
  body#top.rn-noir-site #header_main .container,
  body#top.rn-noir-site #header_main .inner-container {
    height: 110px !important;
    min-height: 110px !important;
  }

  body#top.rn-noir-site #header_main .container {
    width: var(--rn-grid-width) !important;
  }

  body#top.rn-noir-site #header_main .logo,
  body#top.rn-noir-site #header_main .logo a {
    width: 122px !important;
    height: 110px !important;
    max-height: 110px !important;
  }

  body#top.rn-noir-site #header_main .logo img {
    width: 105px !important;
    max-height: 84px !important;
  }

  /* Mobile sticky header: the menu trigger remains reachable while the logo
     leaves the compact scrolled state without changing the header grid. */
  body#top.rn-noir-site #header_main .logo {
    transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
  }

  body#top.rn-noir-site #header.header-scrolled #header_main .logo,
  body#top.rn-noir-site #header.header-scrolled-full #header_main .logo,
  body#top.rn-noir-site.rnnd-mobile-scrolled #header_main .logo {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-8px) !important;
  }

  body#top.rn-noir-site .rnfm-trigger {
    top: 25px !important;
    right: 15px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding-left: 15px !important;
  }

  body#top.rn-noir-site.admin-bar .rnfm-trigger {
    top: 70px !important;
  }

  body#top.rn-noir-site .rnfm-trigger > i {
    width: 34px !important;
    height: 34px !important;
  }

  body#top.rn-noir-site #main .avia-section .av-section-color-overlay {
    background: linear-gradient(90deg,
      rgba(8, 8, 8, .76),
      rgba(8, 8, 8, .32)) !important;
  }

  body#top.rn-noir-site .rnnd-footer-cta {
    padding: 40px 0 44px;
  }

  body#top.rn-noir-site .rnnd-footer-cta__inner {
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: end;
    gap: 20px 14px;
  }

  body#top.rn-noir-site .rnnd-footer-cta__brand {
    width: 72px;
    height: 72px;
    padding: 0;
  }

  body#top.rn-noir-site .rnnd-footer-cta__copy > p {
    margin-bottom: 6px !important;
    font-size: 30px !important;
    line-height: .88 !important;
  }

  body#top.rn-noir-site .rnnd-footer-cta__copy h2 {
    font-size: clamp(25px, 7.2vw, 28px) !important;
    line-height: .94 !important;
  }

  body#top.rn-noir-site .rnnd-footer-cta__actions {
    grid-column: 1 / -1;
    width: 100%;
  }

  body#top.rn-noir-site .rnnd-footer-cta__button {
    width: 100%;
    min-height: 54px;
    padding-right: 20px;
    padding-left: 20px;
    border-radius: 0 !important;
    border-color: rgba(241, 238, 231, .52) !important;
    background: transparent !important;
    color: var(--rn-paper) !important;
  }

  /* The host copy must size to its editable content instead of clipping at 580px. */
  body#top.rn-noir-site.rn-noir-page #main .rnnd-home-hosts,
  body#top.rn-noir-site.rn-noir-page #main .rnnd-home-hosts > .container,
  body#top.rn-noir-site.rn-noir-page #main .rnnd-home-hosts .content,
  body#top.rn-noir-site.rn-noir-page #main .rnnd-home-hosts .post-entry,
  body#top.rn-noir-site.rn-noir-page #main .rnnd-home-hosts .entry-content-wrapper {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body#top.rn-noir-site.rn-noir-page #main .rnnd-home-hosts .entry-content-wrapper > .flex_column:last-child {
    height: auto !important;
    min-height: 0 !important;
    padding: 64px 24px 72px !important;
  }

  body#top.rn-noir-site.rn-noir-page #main .rnnd-home-hosts .entry-content-wrapper > .flex_column:last-child :is(.av_textblock_section, .avia_textblock, .rn-noir-host-copy) {
    height: auto !important;
    min-height: 0 !important;
  }

  body#top.rn-noir-site.rn-noir-page #main .rnnd-home-hosts .rn-noir-host-contact {
    margin-top: 36px !important;
  }

  /* Stable mobile footer: compact CTA followed by four editable blocks in 2x2. */
  body#top.rn-noir-site .rnnd-footer-cta__logo-image {
    max-width: 72px;
    max-height: 62px;
  }

  body#top.rn-noir-site .rnnd-footer-cta__copy > p {
    font-size: 30px !important;
    line-height: .88 !important;
  }

  body#top.rn-noir-site .rnnd-footer-cta__copy h2 {
    font-size: clamp(25px, 7.2vw, 28px) !important;
  }

  body#top.rn-noir-site .footer-page-content :is(.avia-section.footer, .rnnd-footer-main) .entry-content-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 36px 32px !important;
    align-items: start !important;
  }

  /* Enfold's clearfix pseudo elements must not become extra grid cells. */
  body#top.rn-noir-site .footer-page-content :is(.avia-section.footer, .rnnd-footer-main) .entry-content-wrapper::before,
  body#top.rn-noir-site .footer-page-content :is(.avia-section.footer, .rnnd-footer-main) .entry-content-wrapper::after {
    display: none !important;
    content: none !important;
  }

  body#top.rn-noir-site .footer-page-content :is(.avia-section.footer, .rnnd-footer-main) .entry-content-wrapper > .flex_column {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    float: none !important;
  }

  body#top.rn-noir-site .footer-page-content :is(.avia-section.footer, .rnnd-footer-main) .content {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  /* One mobile axis for editorial copy, galleries and media labels. */
  body#top.rn-noir-site.rn-noir-subpage.page-id-4204 #main .rnnd-impressions-gallery-section .flex_column_table > .flex_column {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body#top.rn-noir-site #wrap_all .rng-gallery-shell {
    --rng-page: 100%;
    width: 100% !important;
    max-width: none !important;
  }

  body#top.rn-noir-site #wrap_all .rng-gallery-shell .rng-gallery {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    scroll-padding-inline: 0 !important;
  }

  body#top.rn-noir-site #wrap_all .rng-gallery-shell .rng-gallery__tile {
    scroll-snap-align: start !important;
  }

  body#top.rn-noir-site #wrap_all .rng-gallery-shell .rng-gallery__tile > span {
    left: var(--rn-card-inset) !important;
    right: var(--rn-card-inset) !important;
  }

  body#top.rn-noir-site #wrap_all .rng-gallery-shell .rng-gallery__controls {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story {
    --rn-media-label-left: var(--rn-editorial-panel-inset);
  }

  body#top.rn-noir-site #wrap_all :is(
    .rnarr-package__media > figcaption,
    .rnnd-house-story figure > figcaption,
    .rnnd-island-image > figcaption,
    .rnbg-single-hero figure > figcaption
  ) {
    left: var(--rn-media-label-left, var(--rn-grid-left)) !important;
    right: auto !important;
  }

  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .rnnd-house-primary-image .av-slideshow-caption {
    left: var(--rn-media-label-left) !important;
    right: auto !important;
    width: auto !important;
    max-width: calc(100% - 48px) !important;
    padding: 0 !important;
  }

  body#top.rn-noir-site.rn-noir-page #haus.rnnd-home-story .rnnd-house-primary-image .avia-inner-caption {
    width: max-content !important;
    max-width: min(280px, calc(100vw - 48px)) !important;
  }

}

/*
 * Mobile closing CTA exception.
 * The long accent phrase needs a deliberate two-line measure here; this must
 * not change the central H2 scale or the overlays of other editorial heroes.
 */
@media (max-width: 620px) {
  body#top.rn-noir-site.rn-noir-page .rnnd-closing-cta::after {
    background: rgba(0, 0, 0, .58) !important;
  }

  body#top.rn-noir-site.rn-noir-page .rnnd-closing-cta h2 {
    font-size: clamp(40px, 11vw, 54px) !important;
  }

  body#top.rn-noir-site.rn-noir-page .rnnd-closing-cta h2 em {
    display: block !important;
    max-width: none !important;
    margin-inline: auto !important;
    white-space: nowrap !important;
    text-wrap: nowrap !important;
  }

  body#top.rn-noir-site.rn-noir-page .rnnd-closing-cta > div > p:not(.rnnd-eyebrow) {
    color: rgba(255, 255, 255, .94) !important;
  }

  /* Price page: keep the accordion close to the inclusive-benefits list. */
  body#top.rn-noir-site.rn-noir-subpage.page-id-83 #main .rnnd-section-surface--end .content {
    padding-top: 30px !important;
  }
}

/*
 * The menu surface remains scrollable for genuinely short devices, but its
 * decorative off-canvas glow must never create an artificial scroll range.
 */
@media (max-width: 940px) {
  body#top.rn-noir-site .rnfm-surface::before {
    display: none !important;
  }

  /* Tablet und Smartphone teilen denselben kompakten Sticky-Header:
     Nach dem Scrollen bleibt ausschließlich der Menüschalter sichtbar. */
  body#top.rn-noir-site #header.header-scrolled #header_main .logo,
  body#top.rn-noir-site #header.header-scrolled-full #header_main .logo,
  body#top.rn-noir-site.rnnd-mobile-scrolled #header_main .logo {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-8px) !important;
  }
}

/* Price page: vertically centre the benefits column beside the editorial copy. */
@media (min-width: 941px) {
  body#top.rn-noir-site.rn-noir-subpage.page-id-83 #main #entdecken .flex_column_table > .flex_column:last-child {
    align-self: auto !important;
    vertical-align: middle !important;
  }

  body#top.rn-noir-site.rn-noir-subpage.page-id-83 #main #entdecken .flex_column_table > .flex_column:last-child :is(ul, ol) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
