/* ==========================================================================
   Flair Hotel Vier Jahreszeiten – Complete Design System
   Source: https://webdesign.steilbergauf.de/Flairhotel-Vier-Jahreszeiten/3/
   ========================================================================== */

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Manrope:wght@200..800&display=swap');


/* --- site.css --- */
/* Flair-Hotel Vier Jahreszeiten — local, editorial hotel identity. */
/* removed obsolete local font-face */
/* removed obsolete local font-face */
/* removed obsolete local font-face */

:root {
  --olive: #3f4a3c;
  --olive-dark: #2f392e;
  --ivory: #f5f0e6;
  --paper: #fbf9f4;
  --taupe: #c8b48a;
  --ink: #2b2b2b;
  --muted: #675b49;
  --line: #c9b998;
  --font-display: "Instrument Serif", Georgia, "Times New Roman", serif;
  --font-serif: "Instrument Serif", Georgia, "Times New Roman", serif;
  --fh-display: "Instrument Serif", Georgia, "Times New Roman", serif;
  --display: "Instrument Serif", Georgia, "Times New Roman", serif;
  --sans: "Manrope", Arial, sans-serif;
  --font-sans: "Manrope", Arial, sans-serif;
  --gutter: clamp(24px, 4.4vw, 96px);
  --section-space: clamp(76px, 8.5vw, 160px);
  --header-height: 100px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 24px); }
body { margin: 0; background: var(--ivory); color: var(--ink); font-family: var(--sans); font-size: 15px; line-height: 1.75; -webkit-font-smoothing: antialiased; }
body.menu-open, body.dialog-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button, input, select, textarea { border-radius: 0; }
button { color: inherit; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 5px; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a, button { touch-action: manipulation; }
img, video { display: block; max-width: 100%; height: auto; }
.icon { display: inline-block; width: 24px; height: 24px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
figure { margin: 0; }
p { margin: 0 0 1.4em; }
p:last-child { margin-bottom: 0; }
h1, h2, h3, h4 { font-family: var(--font-display, "Instrument Serif", Georgia, serif); font-weight: 400; line-height: 1.03; margin: 0; }
h1 { font-size: clamp(64px, 8.6vw, 152px); letter-spacing: -.035em; }
h2 { font-size: clamp(48px, 5.3vw, 90px); letter-spacing: -.028em; }
h3 { font-size: clamp(33px, 3vw, 48px); letter-spacing: -.02em; }
h4 { font-size: 29px; }
em { font-family: var(--font-display, "Instrument Serif", Georgia, serif); font-weight: 400; }
ul, ol { padding-left: 1.4em; }
::selection { background: #d7dec9; color: var(--olive-dark); }
:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; padding: 12px 20px; background: var(--ivory); color: var(--olive); transform: translateY(-180%); }
.skip-link:focus { transform: none; }

/* The quiet, compact navigation leaves the landscape in the foreground. */
.site-header {
  position: relative;
  z-index: 30;
  min-height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 12px var(--gutter);
  background: var(--ivory);
}
.brand { display: block; flex: 0 0 auto; text-decoration: none; }
.brand img { width: 200px; height: 76px; object-fit: contain; }
.desktop-nav { display: flex; align-items: center; gap: clamp(22px, 2.2vw, 42px); }
.desktop-nav ul { display: flex; align-items: center; gap: inherit; margin: 0; padding: 0; list-style: none; }
.desktop-nav li { display: block; margin: 0; padding: 0; }
.desktop-nav a { position: relative; padding: 10px 0; font: 20px/1.3 var(--font-display, "Instrument Serif", Georgia, serif); text-decoration: none; white-space: nowrap; }
.desktop-nav a::after { content: ""; position: absolute; bottom: 3px; height: 1px; left: 0; width: 100%; background: var(--olive); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.desktop-nav a:hover::after, .desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }
.header-actions { display: flex; align-items: center; gap: 18px; flex: 0 0 auto; }
.header-actions > .button { min-height: 48px; padding: 12px 24px; white-space: nowrap; }
.icon-button, .menu-toggle, .close-dialog { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 44px; min-height: 44px; padding: 8px; background: transparent; border: 0; color: var(--olive); }
.icon-button svg, .menu-toggle svg, .close-dialog svg { width: 22px; height: 22px; }
.menu-toggle span { display: none; }
.menu-toggle { margin-right: -8px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 25px; min-height: 54px; padding: 15px 25px; border: 1px solid transparent; font-family: var(--sans); font-size: 13px; font-weight: 500; line-height: 1.5; text-align: center; text-decoration: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.button svg, .text-link svg { width: 24px; height: 19px; flex: 0 0 auto; stroke-width: 1.2; }
.button--solid { background: var(--olive); color: var(--ivory); border-color: var(--olive); }
.button--solid:hover { background: var(--olive-dark); border-color: var(--olive-dark); }
.button--outline { background: transparent; color: inherit; border-color: currentColor; }
.button--outline:hover { background: var(--ivory); color: var(--olive); border-color: var(--ivory); }
.button--light { background: var(--ivory); color: var(--olive); border-color: var(--ivory); }
.button--light:hover { background: #fff; border-color: #fff; }
.button-row { display: flex; align-items: center; flex-wrap: wrap; gap: 20px 30px; margin-top: 28px; }
.button-stack { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.button-stack > .button:not(.button--solid):not(.button--light) { border-color: var(--olive); color: var(--olive); }
.text-link { display: inline-flex; align-items: center; gap: 25px; min-height: 44px; padding: 8px 0; font-size: 11px; font-weight: 600; letter-spacing: .15em; line-height: 1.5; text-transform: uppercase; text-decoration: none; }
.text-link::before { content: ""; width: 42px; height: 1px; flex: 0 0 auto; background: var(--taupe); transition: width .25s ease; }
.text-link:hover::before { width: 58px; }
.text-link:hover { text-decoration: underline; text-underline-offset: 7px; }
.eyebrow, .card-kicker { font-family: var(--sans); font-size: 10px; font-weight: 600; line-height: 1.7; letter-spacing: .21em; text-transform: uppercase; }
.eyebrow { margin-bottom: 26px; color: var(--olive); }
.eyebrow .section-number { display: inline-flex; align-items: center; gap: 20px; }
.eyebrow .section-number::after { content: ""; height: 1px; width: 38px; background: currentColor; }
.section-number + span { margin-left: 18px; }
.wrap { width: 100%; max-width: 1640px; margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: var(--section-space); }
.section--soft { background: #eae7dd; }
.section-lede { max-width: 740px; margin-top: -20px; margin-bottom: 40px; color: var(--muted); font-size: 14px; line-height: 1.9; }
.image-note, .fine-print { margin-top: 28px; color: var(--muted); font-size: 11px; line-height: 1.75; }

/* Photography is deliberately full bleed; type is kept on a graded scrim. */
.hero { position: relative; display: flex; align-items: center; min-height: 650px; height: calc(100svh - var(--header-height)); max-height: 1120px; isolation: isolate; color: #fff; background: #323d29; overflow: hidden; }
.hero-scenes, .hero-scene { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.hero-image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-scene::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,25,15,.46), rgba(15,27,15,.05) 88%), linear-gradient(0deg, rgba(12,22,13,.44), transparent 37%); }
.hero-scene.is-active .hero-image { animation: landscape-arrival 1.2s ease-out both; }
.hero-content { width: 100%; padding: 38px var(--gutter) 100px; }
.hero-content .eyebrow { margin-bottom: 20px; color: #fff; font-size: 11px; letter-spacing: .24em; }
.hero h1 { max-width: 1450px; color: #fff; line-height: .98; text-wrap: balance; }
.hero h1 em { display: block; margin-top: 4px; }
.hero-caption { display: flex; align-items: center; gap: 26px; margin-top: 36px; font-size: 10px; font-weight: 500; line-height: 1.8; letter-spacing: .31em; text-transform: uppercase; }
.hero-caption::before { content: ""; width: 52px; height: 1px; background: rgba(255,255,255,.75); }
.hero-top-note { position: absolute; top: 45px; right: var(--gutter); display: flex; align-items: center; gap: 22px; font-size: 9px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.hero-top-note::before { content: ""; height: 1px; width: 52px; background: currentColor; }
.hero-bottom { position: absolute; left: var(--gutter); right: var(--gutter); bottom: 28px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.scroll-cue { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; font-size: 9px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; text-decoration: none; }
.scroll-cue svg { width: 18px; height: 28px; }
.scene-tabs { display: flex; gap: 21px; align-items: center; }
.scene-tab { min-height: 44px; padding: 11px 0; color: rgba(255,255,255,.8); border: 0; border-bottom: 1px solid rgba(255,255,255,.28); background: transparent; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.scene-tab[aria-pressed="true"] { color: #fff; border-bottom-color: #fff; }
.scene-tab:hover { color: #fff; }
.scene-tab small { margin-right: 8px; font-size: 8px; opacity: .75; }
.film-trigger { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 8px 0; color: #fff; border: 0; background: transparent; font-size: 10px; letter-spacing: .15em; text-transform: uppercase; }
.film-trigger svg { width: 37px; height: 37px; }
.booking-bar { display: grid; grid-template-columns: 1.55fr 1fr 1fr auto; align-items: center; gap: 24px; padding: 38px var(--gutter); border-bottom: 1px solid var(--line); background: var(--ivory); }
.booking-title { border-left: 1px solid var(--olive); padding-left: 26px; }
.booking-title h2 { font-size: clamp(32px, 2.7vw, 47px); letter-spacing: -.03em; }
.booking-title p { margin-top: 8px; color: var(--olive); font-size: 9px; letter-spacing: .24em; text-transform: uppercase; }
.booking-option { display: flex; flex-direction: column; justify-content: center; gap: 4px; min-height: 53px; padding-left: 22px; border-left: 1px solid var(--line); font-family: var(--font-display, "Instrument Serif", Georgia, serif); font-size: 23px; line-height: 1.3; text-decoration: none; }
.booking-option small { font-family: var(--sans); font-size: 10px; color: var(--muted); letter-spacing: .04em; }
.booking-option > span { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.booking-option .icon { width: 20px; height: 20px; }
.booking-option:hover { color: var(--olive); text-decoration: underline; text-underline-offset: 7px; }
.booking-bar .button { min-width: 224px; }

/* A sequence of editorial spreads, rather than boxed service tiles. */
.split { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); align-items: center; gap: clamp(40px, 7vw, 130px); }
.split-copy { min-width: 0; }
.split-copy h2 { margin-bottom: 30px; }
.split-copy h2 em { display: block; }
.split-copy > p:not(.eyebrow) { max-width: 540px; color: var(--muted); font-size: 14px; line-height: 1.9; }
.split-copy > .lede { color: var(--ink) !important; font: 23px/1.5 var(--font-display, "Instrument Serif", Georgia, serif) !important; }
.split-copy .text-link { margin-top: 17px; }
.split-media { position: relative; min-width: 0; }
.split-media > img { width: 100%; height: 100%; min-height: 490px; max-height: 780px; aspect-ratio: 4 / 5; object-fit: cover; }
.split-media figcaption { position: absolute; right: 23px; bottom: 23px; max-width: 185px; color: #fff; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; text-shadow: 0 1px 8px #000; }
.intro-split { align-items: center; }
.intro-split .split-media > img { aspect-ratio: 1 / 1.13; object-position: center; }
.facts-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding-block: 45px; border-block: 1px solid var(--line); }
.facts-strip > div { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 9px; padding-inline: 20px; text-align: center; border-right: 1px solid var(--line); }
.facts-strip > div:last-child { border: 0; }
.facts-strip strong { font: 43px/1.1 var(--font-display, "Instrument Serif", Georgia, serif); color: var(--olive); }
.facts-strip span { color: var(--muted); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 50px; }
.section-heading h2 { max-width: 900px; }
.section-heading .eyebrow { margin-bottom: 15px; }
.section-heading .text-link { flex: 0 0 auto; margin-bottom: 5px; }
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; }
.card-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
.card-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.media-card { min-width: 0; }
.media-card__image { position: relative; display: block; overflow: hidden; background: #e9e6dd; aspect-ratio: 1.14 / 1; }
.media-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.65,.3,1); }
.media-card__image:hover img { transform: scale(1.035); }
.image-arrow { position: absolute; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; width: 55px; height: 49px; background: var(--ivory); color: var(--olive); }
.card-grid--two .media-card__image { aspect-ratio: 1.35 / 1; }
.media-card__body { padding-top: 24px; }
.card-kicker { margin-bottom: 10px; color: var(--muted); font-size: 9px; letter-spacing: .15em; }
.media-card h3 { margin-bottom: 15px; }
.media-card h3 a { text-decoration: none; }
.media-card h3 a:hover { color: var(--olive); }
.media-card__body > p:not(.card-kicker) { color: var(--muted); font-size: 13px; line-height: 1.85; max-width: 540px; }
.media-card .text-link { margin-top: 5px; }
.section--dark { background: var(--olive); color: var(--ivory); }
.section--dark .eyebrow, .section--dark .split-copy > p:not(.eyebrow), .section--dark .split-copy > .lede { color: var(--ivory) !important; }
.section--dark .split-copy > p:not(.eyebrow) { opacity: .87; }
.section--dark .card-kicker, .section--dark .media-card__body > p:not(.card-kicker) { color: rgba(246,243,235,.83); }
.section--dark .media-card h3 a:hover { color: #fff; text-decoration: underline; }
.restaurant-feature { position: relative; margin-top: 30px; }
.restaurant-feature .split { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(50px, 8vw, 150px); }
.restaurant-feature .split-media { padding-right: 30px; padding-bottom: 50px; }
.restaurant-feature .split-media > img { aspect-ratio: 1 / 1.13; min-height: 0; max-height: 660px; }
.restaurant-feature .inset-image { position: absolute; right: -35px; bottom: 0; width: 42%; aspect-ratio: 1 / 1; min-height: 0; border: 8px solid var(--olive); object-fit: cover; }
.restaurant-feature .inset-image > img { width: 100%; height: 100%; object-fit: cover; }
.restaurant-feature .split-copy { padding-bottom: 30px; }
.landscape-feature { position: relative; display: flex; align-items: center; min-height: 680px; padding: 95px var(--gutter); isolation: isolate; color: #fff; background: var(--olive-dark); }
.landscape-feature > .full-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.landscape-feature::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(15,29,19,.74), rgba(15,29,19,.22) 70%, rgba(15,29,19,.1)); }
.landscape-copy { width: 100%; max-width: 660px; }
.landscape-copy .eyebrow { color: #fff; }
.landscape-copy h2 { font-size: clamp(57px, 6.7vw, 112px); }
.landscape-copy p:not(.eyebrow) { max-width: 460px; margin-block: 27px; font-size: 14px; line-height: 1.9; }
.journey-link { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 46px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); text-decoration: none; }
.journey-link h3 { font-size: clamp(38px, 4.2vw, 66px); }
.journey-link p { margin: 0; color: var(--muted); font-size: 13px; }
.journey-link svg { width: 46px; height: 36px; flex: 0 0 auto; }
.journey-link:hover { color: var(--olive); }
.footer-cta { padding: 96px var(--gutter) 110px; text-align: center; border-top: 1px solid var(--line); }
.footer-cta .eyebrow { margin-bottom: 20px; }
.footer-cta h2 { margin-bottom: 33px; font-size: clamp(58px, 6.7vw, 108px); }
.footer-cta h2 em { display: block; }
.site-footer { padding-top: 76px; background: var(--olive); color: var(--ivory); }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 48px; padding-bottom: 65px; }
.site-footer .brand { width: 205px; margin-bottom: 27px; padding: 10px; background: var(--ivory); }
.site-footer .brand img { width: 185px; height: auto; }
.site-footer address { font-style: normal; font-size: 12px; line-height: 1.9; }
.site-footer address a { display: inline-block; margin-top: 5px; text-decoration: none; }
.site-footer address a:hover { text-decoration: underline; }
.footer-address > p { color: rgba(246,243,235,.86); font-size: 12px; line-height: 1.9; margin-bottom: 13px; }
.footer-address > a:not(.brand) { display: block; width: fit-content; max-width: 100%; padding-block: 3px; font-size: 12px; text-decoration: none; overflow-wrap: anywhere; }
.footer-address > a:not(.brand):hover { text-decoration: underline; }
.footer-nav { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer-nav h3 { margin: 6px 0 12px; font-family: var(--sans); font-size: 10px; font-weight: 600; line-height: 1.6; letter-spacing: .17em; text-transform: uppercase; }
.footer-nav a { display: inline-block; padding: 2px 0; font-size: 12px; text-decoration: none; color: rgba(246,243,235,.86); }
.footer-nav a:hover { color: #fff; text-decoration: underline; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 18px 30px; min-height: 80px; padding-block: 22px; border-top: 1px solid rgba(246,243,235,.24); color: rgba(246,243,235,.72); font-size: 10px; }
.footer-bottom p { margin: 0; }
.footer-bottom a { color: inherit; }
.footer-bottom > div, .footer-bottom > nav { display: flex; flex-wrap: wrap; gap: 24px; }
.mobile-booking { display: none; }

/* All genuine content pages use the same photographic and typographic system. */
.page-hero { position: relative; display: flex; align-items: flex-end; min-height: 560px; height: min(72svh, 830px); padding: 72px var(--gutter); isolation: isolate; background: var(--olive); color: #fff; }
.page-hero > .hero-image { position: absolute; inset: 0; z-index: -2; }
.page-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(14,26,17,.65), rgba(14,26,17,.14) 80%); }
.page-hero-content { width: 100%; max-width: 1260px; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 48px; font-size: 10px; color: rgba(255,255,255,.87); }
.breadcrumbs a { text-decoration: none; }
.breadcrumbs a:hover { text-decoration: underline; }
.page-hero .eyebrow { margin-bottom: 17px; color: inherit; }
.page-hero h1 { font-size: clamp(62px, 8vw, 132px); max-width: 1280px; }
.page-hero h1 em { display: inline; }
.page-hero-content > p:not(.eyebrow) { max-width: 660px; margin-top: 23px; margin-bottom: 0; font-size: 14px; line-height: 1.85; }
.page-hero--compact { height: auto; min-height: 360px; padding-block: 55px 70px; color: var(--olive); background: var(--ivory); border-bottom: 1px solid var(--line); }
.page-hero--compact::after { display: none; }
.page-hero--compact .breadcrumbs { color: var(--muted); margin-bottom: 38px; }
.page-hero--compact h1 { font-size: clamp(57px, 7vw, 108px); }
.page-intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; gap: 10%; }
.intro-heading h2 { font-size: clamp(45px, 4.8vw, 80px); }
.intro-heading h2 em { display: block; }
.intro-text { color: var(--muted); font-size: 15px; line-height: 1.9; padding-top: 3px; }
.intro-text .lede { font: 25px/1.5 var(--font-display, "Instrument Serif", Georgia, serif); color: var(--ink); }
.intro-text .text-link { color: var(--ink); }
.article-content.prose { max-width: 1060px; margin-inline: auto; padding-block: 70px 100px; color: var(--muted); }
.prose h2 { margin: 62px 0 23px; color: var(--ink); font-size: clamp(40px, 4vw, 64px); }
.prose h3 { margin: 43px 0 18px; color: var(--ink); font-size: 34px; }
.prose h4 { margin: 28px 0 13px; color: var(--ink); }
.prose > :first-child { margin-top: 0; }
.prose li + li { margin-top: 8px; }
.prose figure { margin-block: 42px; }
.prose figure img { width: 100%; object-fit: cover; }
.prose figcaption { margin-top: 10px; font-size: 11px; }
.prose blockquote { margin: 40px 0; padding-left: 28px; border-left: 1px solid var(--taupe); font: 32px/1.4 var(--font-display, "Instrument Serif", Georgia, serif); color: var(--olive); }
.prose table { width: 100%; border-collapse: collapse; margin-block: 30px; font-size: 13px; }
.prose th, .prose td { padding: 14px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.prose th { color: var(--ink); font-weight: 600; }
.prose a { overflow-wrap: anywhere; }
.prose dl { display: grid; grid-template-columns: minmax(110px, .6fr) minmax(0, 1fr); gap: 15px 28px; margin-block: 25px; }
.prose dt { color: var(--ink); }
.prose dd { margin: 0; }
.filter-bar { margin-bottom: 45px; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.filter-controls { display: flex; align-items: flex-end; gap: 24px; margin-bottom: 23px; }
.filter-controls label { display: flex; flex-direction: column; gap: 9px; width: 100%; max-width: 500px; color: var(--muted); font-size: 11px; }
.filter-controls input, .search-field input { width: 100%; min-height: 53px; padding: 13px 16px; border: 1px solid var(--line); background: transparent; color: var(--ink); outline-offset: 4px; }
.filter-controls input::placeholder, .search-field input::placeholder { color: var(--muted); opacity: 1; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 9px; }
.filter-chip { min-height: 44px; padding: 10px 19px; border: 1px solid var(--line); background: transparent; color: var(--olive); font-size: 11px; }
.filter-chip[aria-pressed="true"], .filter-chip:hover { background: var(--olive); border-color: var(--olive); color: var(--ivory); }
.filter-count { margin-top: 20px; margin-bottom: 0; color: var(--muted); font-size: 11px; }
.offers-grid { row-gap: 60px; }
.empty-state { padding: 55px 25px; text-align: center; color: var(--muted); border-block: 1px solid var(--line); }
.empty-state h2, .empty-state h3 { margin-bottom: 15px; color: var(--ink); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details, .prose details { border-bottom: 1px solid var(--line); }
.faq-list summary, .prose summary { position: relative; display: block; padding: 25px 48px 25px 0; cursor: pointer; list-style: none; font-family: var(--font-display, "Instrument Serif", Georgia, serif); font-size: 29px; line-height: 1.25; color: var(--ink); }
.faq-list summary::-webkit-details-marker, .prose summary::-webkit-details-marker { display: none; }
.faq-list summary::after, .prose summary::after { content: "+"; position: absolute; top: 23px; right: 10px; font-family: var(--sans); font-size: 25px; font-weight: 300; }
.faq-list details[open] summary::after, .prose details[open] summary::after { content: "−"; }
.faq-list details > :not(summary), .prose details > :not(summary) { max-width: 850px; padding-bottom: 25px; color: var(--muted); font-size: 14px; line-height: 1.85; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9%; }
.contact-details h2, .contact-panel h2 { margin-bottom: 28px; font-size: clamp(42px, 4.2vw, 68px); }
.contact-details dl { display: grid; grid-template-columns: minmax(120px, .6fr) minmax(0, 1fr); gap: 23px 20px; margin: 35px 0 0; }
.contact-details dt { font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--olive); }
.contact-details dd { margin: 0; color: var(--muted); font-size: 13px; }
.contact-details a { overflow-wrap: anywhere; }
.contact-panel { padding: 48px; background: #eae7dd; }
.contact-panel p { color: var(--muted); font-size: 14px; }
.contact-panel .button { margin: 15px 12px 0 0; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.gallery-item { position: relative; display: block; width: 100%; padding: 0; aspect-ratio: 1.2 / 1; overflow: hidden; background: var(--olive); border: 0; color: #fff; text-align: left; }
.gallery-item:nth-child(5n + 1) { grid-column: span 2; aspect-ratio: 2.48 / 1; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.gallery-item:hover img { transform: scale(1.04); }
.gallery-item span { position: absolute; bottom: 0; left: 0; right: 0; padding: 35px 22px 17px; background: linear-gradient(transparent, rgba(0,0,0,.58)); font-size: 10px; letter-spacing: .08em; }
.gallery-item span .icon { float: right; width: 20px; height: 20px; margin-left: 8px; }
.sitemap-list { columns: 2; column-gap: 60px; }
.sitemap-list li { break-inside: avoid; margin-bottom: 12px; }
.related-section { border-top: 1px solid var(--line); }

/* Native dialogs retain keyboard trapping and browser escape behavior. */
.fx-language-options{display:flex;align-items:center;gap:8px;white-space:nowrap;font:400 12px/1 var(--sans);color:inherit}
.fx-language-options [aria-current]{font-weight:600}
.fx-language-options button{padding:8px 0;border:0;background:none;color:inherit;font:inherit;cursor:default}
.fx-language-options>span[aria-hidden]{opacity:.55}
dialog { color: var(--ink); }
dialog::backdrop { background: rgba(16,23,14,.72); backdrop-filter: blur(4px); }
.booking-dialog { width: min(1300px, calc(100vw - 48px)); max-width: none; max-height: min(820px, calc(100dvh - 48px)); margin: auto; padding: 0; overflow: auto; border: 1px solid rgba(63,74,60,.18); background: var(--paper); color: var(--ink); box-shadow: 0 28px 70px rgba(25,31,21,.28); }
.booking-dialog::backdrop { background: rgba(20,29,21,.74); backdrop-filter: blur(5px); }
.booking-dialog__shell { padding: clamp(26px, 3vw, 42px); }
.booking-dialog__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.booking-dialog__eyebrow { margin: 0; color: var(--olive); font-size: 10px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.booking-dialog__close { display: inline-grid; flex: 0 0 auto; width: 45px; height: 45px; margin: -8px -8px 0 0; place-items: center; border: 1px solid rgba(63,74,60,.65); border-radius: 50%; background: transparent; color: var(--olive); }
.booking-dialog__close svg, .booking-dialog__submit svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }
.booking-dialog h2 { max-width: 870px; margin: 14px 0 clamp(28px, 3vw, 38px); color: var(--olive-dark); font-size: clamp(46px, 5vw, 68px); letter-spacing: -.035em; }
.booking-dialog__intro{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:28px;margin:14px 0 32px}
.booking-dialog__intro h2{margin:0;font-size:clamp(42px,4vw,60px)}
.booking-direct-benefit{display:flex;align-items:center;gap:15px;border-left:1px solid #c8b48a;padding-left:24px;color:var(--olive)}
.booking-direct-benefit>span{display:grid;place-items:center;width:38px;height:38px;flex:none;border:1px solid #a39472;border-radius:50%;font-size:21px}
.booking-direct-benefit small{font:9px/1.5 var(--sans);letter-spacing:.15em}
.booking-direct-benefit strong{display:block;margin:7px 0;font:26px/1.05 var(--font-display, "Instrument Serif", Georgia, serif);font-weight:400}
.booking-direct-benefit p{margin:0;font:10px/1.5 var(--sans)}
@media(max-width:760px){.booking-dialog__intro{grid-template-columns:1fr;gap:20px}.booking-direct-benefit{padding-left:16px}.booking-direct-benefit strong{font-size:23px}}
.booking-dialog__content { display: grid; grid-template-columns: minmax(0, 1.68fr) minmax(265px, .7fr); gap: clamp(28px, 4vw, 58px); }
.booking-calendar { min-width: 0; }
.booking-calendar__months { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(22px, 3vw, 48px); }
.booking-month__head { display: grid; grid-template-columns: 34px 1fr 34px; align-items: center; margin-bottom: 18px; }
.booking-month h3, .booking-guests h3 { color: var(--olive); font-size: clamp(26px, 2.3vw, 35px); text-align: center; }
.booking-month__nav { width: 34px; height: 34px; border: 0; background: transparent; color: var(--olive); font: 38px/.7 var(--font-display, "Instrument Serif", Georgia, serif); }
.booking-weekdays, .booking-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.booking-weekdays { margin-bottom: 6px; color: var(--muted); font-size: 10px; font-weight: 700; text-align: center; }
.booking-days { border-top: 1px solid rgba(201,185,152,.26); border-left: 1px solid rgba(201,185,152,.26); }
.booking-day { display: grid; min-height: 42px; place-items: center; padding: 2px; border: 0; border-right: 1px solid rgba(201,185,152,.26); border-bottom: 1px solid rgba(201,185,152,.26); background: transparent; color: var(--ink); font: 19px/1 var(--font-display, "Instrument Serif", Georgia, serif); }
.booking-day:not(:disabled):hover { background: #e8ebdf; }
.booking-day:disabled { color: rgba(103,91,73,.36); cursor: default; }
.booking-day--between { background: #dfe5d6; color: var(--olive-dark); }
.booking-day--arrival, .booking-day--departure { position: relative; z-index: 0; color: var(--paper); }
.booking-day--arrival::before, .booking-day--departure::before { position: absolute; z-index: -1; width: 37px; height: 37px; border-radius: 50%; background: var(--olive); content: ''; }
.booking-calendar__hint { margin: 20px 0 0; color: var(--muted); font-size: 11px; }
.booking-guests { padding-left: clamp(26px, 3.5vw, 50px); border-left: 1px solid var(--line); }
.booking-guests h3 { margin-bottom: 23px; text-align: left; }
.booking-guest-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 65px; border-bottom: 1px solid rgba(201,185,152,.6); color: var(--ink); font: 19px var(--font-display, "Instrument Serif", Georgia, serif); }
.booking-stepper { display: flex; align-items: center; gap: 13px; }
.booking-stepper button { display: grid; width: 39px; height: 39px; place-items: center; border: 1px solid rgba(63,74,60,.54); border-radius: 50%; background: transparent; color: var(--olive); font: 29px/.7 var(--font-display, "Instrument Serif", Georgia, serif); }
.booking-stepper output { min-width: 14px; font: 22px var(--font-display, "Instrument Serif", Georgia, serif); text-align: center; }
.booking-guests__note { margin: 18px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.booking-dialog__summary { display: grid; grid-template-columns: 1fr 1fr 1.15fr auto; align-items: center; gap: 24px; margin-top: clamp(28px, 3vw, 38px); padding-top: 18px; border-top: 1px solid var(--line); }
.booking-dialog__summary > div { min-height: 52px; padding-left: 18px; border-left: 1px solid var(--line); }
.booking-dialog__summary span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.booking-dialog__summary strong, .booking-dialog__nights { font: 21px/1.25 var(--font-display, "Instrument Serif", Georgia, serif); }
.booking-dialog__nights { display: flex; align-items: center; }
.booking-dialog__submit { display: inline-flex; align-items: center; justify-content: center; gap: 22px; min-height: 55px; padding: 14px 22px; border: 1px solid var(--olive); background: var(--olive); color: var(--ivory); font-size: 12px; font-weight: 600; white-space: nowrap; transition: background-color .2s ease; }
.booking-dialog__submit:hover { background: var(--olive-dark); }
@media (max-width: 820px) {
  .booking-dialog { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
  .booking-dialog__shell { padding: 26px 24px; }
  .booking-dialog h2 { margin-block: 17px 32px; font-size: clamp(42px, 14vw, 58px); line-height: .95; overflow-wrap: anywhere; }
  .booking-dialog__content { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .booking-calendar__months { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .booking-day { min-height: 42px; font-size: 18px; }
  .booking-guests { padding: 27px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .booking-guests h3 { font-size: 36px; }
  .booking-dialog__summary { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 15px 12px; }
  .booking-dialog__summary > div { min-height: 45px; padding-left: 12px; }
  .booking-dialog__nights { grid-column: span 2; }
  .booking-dialog__submit { grid-column: span 2; width: 100%; }
}
.menu-dialog, .search-dialog { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; background: var(--ivory); overflow-y: auto; }
.dialog-top { display: flex; align-items: center; justify-content: space-between; min-height: var(--header-height); gap: 25px; padding: 12px var(--gutter); border-bottom: 1px solid var(--line); }
.dialog-top .brand img, .dialog-top > img { width: 200px; height: 76px; object-fit: contain; }
.dialog-top .close-dialog { font-size: 11px; }
.dialog-top .eyebrow { margin-bottom: 0; }
.dialog-top h2 { font-size: 35px; }
.menu-layout { display: grid; grid-template-columns: .85fr 1.15fr; min-height: calc(100svh - var(--header-height)); }
.menu-feature { position: relative; margin: 0; min-height: 550px; }
.menu-feature img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.menu-feature::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20,30,18,.65), transparent 70%); }
.menu-feature p { position: absolute; left: 40px; right: 40px; bottom: 45px; z-index: 1; color: #fff; font: clamp(39px, 4vw, 65px)/1.1 var(--font-display, "Instrument Serif", Georgia, serif); }
.menu-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px; align-content: center; padding: 65px clamp(35px, 5vw, 96px); }
.menu-columns > div { display: flex; flex-direction: column; align-items: flex-start; }
.menu-columns p, .menu-columns h2 { margin-bottom: 19px; font: 10px/1.6 var(--sans); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.menu-columns a { display: block; padding-block: 7px; text-decoration: none; font: 28px/1.18 var(--font-display, "Instrument Serif", Georgia, serif); }
.menu-columns a:hover { color: var(--olive); text-decoration: underline; }
.search-dialog { padding-bottom: 65px; }
.search-field { width: min(100%, 960px); margin: 75px auto 35px; padding-inline: var(--gutter); }
.search-field label { display: block; margin-bottom: 20px; font: clamp(40px, 5vw, 70px)/1.1 var(--font-display, "Instrument Serif", Georgia, serif); }
.search-field input { padding: 20px 0; border: 0; border-bottom: 1px solid var(--olive); font-size: 18px; }
.search-results { width: min(100%, 960px); margin: 0 auto; padding: 0 var(--gutter); list-style: none; }
.search-status { width: min(100%, 960px); margin: 0 auto 20px; padding-inline: var(--gutter); color: var(--muted); font-size: 12px; }
.search-results li { border-bottom: 1px solid var(--line); }
.search-results a { display: block; padding: 17px 0; font: 26px/1.3 var(--font-display, "Instrument Serif", Georgia, serif); text-decoration: none; }
.search-results a:hover { color: var(--olive); text-decoration: underline; }
.search-results a small, .search-results a span { display: block; margin-top: 5px; color: var(--muted); font: 11px/1.6 var(--sans); }
.search-results > p, .search-results > li:only-child:not(:has(a)) { padding-block: 20px; color: var(--muted); font-size: 13px; }
.lightbox { position: fixed; width: calc(100% - 80px); max-width: 1200px; max-height: calc(100svh - 70px); padding: 55px 22px 18px; border: 0; background: #1f261d; color: var(--ivory); }
.lightbox .close-dialog { position: absolute; top: 7px; right: 10px; color: var(--ivory); }
.lightbox img, .lightbox video { max-width: 100%; width: 100%; max-height: calc(100svh - 200px); object-fit: contain; margin-inline: auto; }
.lightbox-caption { margin-top: 15px; margin-bottom: 0; color: var(--ivory); font-size: 12px; text-align: center; }

@keyframes landscape-arrival { from { transform: scale(1.025); } to { transform: scale(1); } }

@media (min-width: 1700px) {
  .hero-content { padding-left: max(var(--gutter), calc((100vw - 1640px) / 2 + 72px)); }
  .hero-bottom { left: max(var(--gutter), calc((100vw - 1640px) / 2 + 72px)); }
  .page-hero-content { margin-left: max(0px, calc((100vw - 1640px) / 2)); }
}

@media (max-width: 1279px) {
  :root { --gutter: 40px; }
  .site-header { gap: 25px; }
  .brand img { width: 176px; }
  .desktop-nav { gap: 22px; }
  .desktop-nav a { font-size: 18px; }
  .header-actions { gap: 10px; }
  .header-actions > .button { padding-inline: 19px; }
  .booking-bar { grid-template-columns: 1.3fr 1fr 1fr; gap: 24px; }
  .booking-title { grid-row: span 2; }
  .booking-bar > .button { grid-column: 2 / 4; min-height: 47px; }
  .booking-option { min-height: 42px; }
  .split { gap: 55px; }
  .split-copy > .lede { font-size: 22px !important; }
  .card-grid { gap: 25px; }
  .card-grid--two { gap: 36px; }
  .footer-grid { gap: 28px; }
  .restaurant-feature .split { gap: 75px; }
  .menu-columns { gap: 35px; padding-inline: 38px; }
  .menu-columns a { font-size: 25px; }
}

@media (max-width: 1099px) {
  .desktop-nav { display: none; }
  .menu-toggle span { display: inline; font-size: 11px; }
  .header-actions { gap: 22px; }
  .hero h1 { font-size: clamp(70px, 9.1vw, 100px); }
  .hero-top-note { top: 29px; }
  .hero-content { padding-bottom: 88px; }
  .section-heading { gap: 25px; }
  .section-heading h2 { font-size: 57px; }
  .section-heading .text-link::before { width: 22px; }
  .split-media > img { min-height: 450px; }
  .split-copy h2 { font-size: 60px; }
  .split-copy > p:not(.eyebrow) { font-size: 13px; }
  .contact-grid { gap: 45px; }
  .contact-panel { padding: 32px; }
  .menu-layout { grid-template-columns: .7fr 1.3fr; }
  .menu-columns { gap: 28px; }
}

@media (max-width: 767px) {
  :root { --header-height: 84px; --gutter: 24px; --section-space: 78px; }
  body { font-size: 14px; }
  .site-header { min-height: var(--header-height); padding-block: 8px; gap: 15px; }
  .brand img { width: 157px; height: 66px; }
  .header-actions { gap: 12px; }
  .header-actions > .button { min-height: 43px; padding: 11px 17px; font-size: 11px; }
  .header-actions .search-toggle { display: none; }
  .menu-toggle { min-width: 37px; padding-inline: 6px; }
  .menu-toggle span { display: none; }
  .hero { min-height: 610px; height: calc(91svh - var(--header-height)); max-height: 820px; align-items: center; }
  .hero-content { padding-top: 0; padding-bottom: 57px; }
  .hero-content .eyebrow { font-size: 9px; letter-spacing: .17em; margin-bottom: 22px; }
  .hero h1 { font-size: clamp(66px, 11.3vw, 88px); line-height: 1; max-width: 680px; letter-spacing: -.038em; text-wrap: initial; }
  .hero h1 em { max-width: 630px; margin-top: 8px; }
  .hero-caption { max-width: 440px; gap: 17px; margin-top: 30px; font-size: 9px; letter-spacing: .2em; }
  .hero-caption::before { width: 32px; flex: 0 0 auto; }
  .hero-top-note { display: none; }
  .hero-bottom { bottom: 24px; flex-wrap: wrap; gap: 8px 25px; }
  .scroll-cue { display: none; }
  .scene-tabs { gap: 18px; }
  .scene-tab { font-size: 9px; }
  .film-trigger { gap: 8px; font-size: 9px; }
  .film-trigger svg { width: 29px; height: 29px; }
  .booking-bar { grid-template-columns: 1fr 1fr; gap: 25px 17px; padding-block: 29px; }
  .booking-title { grid-column: 1 / 3; grid-row: auto; padding-left: 18px; }
  .booking-title h2 { font-size: 37px; }
  .booking-title p { font-size: 8px; margin-top: 6px; }
  .booking-option { padding-left: 0; border-left: 0; font-size: 23px; }
  .booking-option small { font-size: 9px; }
  .booking-bar > .button { grid-column: 1 / 3; width: 100%; }
  .split, .restaurant-feature .split { grid-template-columns: 1fr; gap: 43px; }
  .split-copy h2 { font-size: clamp(49px, 8vw, 66px); margin-bottom: 25px; }
  .split-copy > .lede { max-width: 100%; font-size: 24px !important; }
  .split-copy > p:not(.eyebrow) { max-width: 620px; font-size: 14px; }
  .split-copy .text-link { margin-top: 13px; }
  .split-media > img { min-height: 0; aspect-ratio: 1 / 1.04; max-height: 660px; }
  .intro-split .split-media > img { aspect-ratio: 1 / 1.03; }
  .eyebrow { margin-bottom: 20px; font-size: 9px; }
  .facts-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 0; padding-block: 33px; }
  .facts-strip > div { min-height: 78px; padding-inline: 15px; }
  .facts-strip > div:nth-child(2) { border: 0; }
  .facts-strip strong { font-size: 37px; }
  .facts-strip span { font-size: 8px; letter-spacing: .11em; }
  .section-heading { display: block; margin-bottom: 31px; }
  .section-heading h2 { font-size: clamp(48px, 8vw, 66px); }
  .section-heading .text-link { margin-top: 18px; }
  .card-grid, .card-grid--two, .card-grid--three { grid-template-columns: 1fr; gap: 43px; }
  .media-card__image, .card-grid--two .media-card__image { aspect-ratio: 1.28 / 1; }
  .media-card__body { padding-top: 20px; }
  .media-card h3 { font-size: 39px; margin-bottom: 14px; }
  .media-card__body > p:not(.card-kicker) { font-size: 13px; }
  .card-kicker { font-size: 9px; margin-bottom: 8px; }
  .restaurant-feature { margin-top: 0; }
  .restaurant-feature .split-media { padding-right: 27px; padding-bottom: 44px; }
  .restaurant-feature .split-media > img { aspect-ratio: 1 / 1.03; }
  .restaurant-feature .inset-image { right: -4px; bottom: 0; width: 43%; aspect-ratio: 1 / 1; border-width: 6px; }
  .restaurant-feature .split-copy { padding-bottom: 0; }
  .landscape-feature { min-height: 650px; padding-block: 75px; }
  .landscape-feature::before { background: linear-gradient(90deg, rgba(15,29,19,.69), rgba(15,29,19,.24)), linear-gradient(0deg, rgba(15,29,19,.2), transparent); }
  .landscape-copy h2 { font-size: clamp(59px, 11vw, 85px); max-width: 540px; }
  .landscape-copy p:not(.eyebrow) { font-size: 13px; }
  .journey-link { padding-block: 31px; gap: 20px; }
  .journey-link h3 { font-size: 41px; }
  .journey-link p { font-size: 11px; }
  .journey-link svg { width: 32px; }
  .footer-cta { padding-block: 75px 82px; }
  .footer-cta h2 { font-size: clamp(52px, 10vw, 74px); }
  .site-footer { padding-top: 57px; padding-bottom: 66px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 37px 25px; padding-bottom: 43px; }
  .footer-grid > :first-child { grid-column: 1 / 3; }
  .site-footer .brand { width: 191px; }
  .site-footer .brand img { width: 171px; }
  .footer-nav { gap: 7px; }
  .footer-nav h3 { font-size: 9px; margin-bottom: 9px; }
  .footer-nav a { font-size: 11px; padding-block: 5px; }
  .footer-bottom { display: block; font-size: 9px; line-height: 1.9; }
  .footer-bottom > div, .footer-bottom > nav { margin-top: 14px; gap: 16px; }
  .mobile-booking { position: fixed; left: 0; right: 0; bottom: 0; z-index: 35; display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 65px; padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom)); background: var(--ivory); border-top: 1px solid var(--line); box-shadow: 0 -4px 25px rgba(30,40,22,.04); }
  .mobile-booking > a:not(.button) { font: 22px/1.2 var(--font-display, "Instrument Serif", Georgia, serif); text-decoration: none; }
  .mobile-booking .button { min-height: 42px; padding: 11px 20px; font-size: 11px; }
  .page-hero { min-height: 460px; height: 68svh; max-height: 720px; padding-block: 50px; }
  .page-hero h1 { font-size: clamp(58px, 10.5vw, 89px); }
  .page-hero-content > p:not(.eyebrow) { font-size: 13px; max-width: 530px; }
  .breadcrumbs { margin-bottom: 34px; font-size: 9px; }
  .page-hero--compact { min-height: 290px; height: auto; }
  .page-hero--compact h1 { font-size: clamp(49px, 9vw, 70px); overflow-wrap: anywhere; }
  .page-intro { grid-template-columns: 1fr; gap: 30px; }
  .intro-heading h2 { font-size: 52px; }
  .intro-text { font-size: 14px; }
  .intro-text .lede { font-size: 25px; }
  .article-content.prose { padding-block: 52px 70px; }
  .prose h2 { font-size: 43px; margin-top: 45px; }
  .prose h3 { font-size: 32px; }
  .prose table { font-size: 11px; }
  .prose th, .prose td { padding: 12px 7px; }
  .prose dl { grid-template-columns: 1fr; gap: 7px; }
  .prose dd { margin-bottom: 15px; }
  .filter-controls { display: block; }
  .filter-controls label { max-width: none; }
  .filter-chips { gap: 7px; }
  .filter-chip { padding-inline: 13px; font-size: 10px; }
  .filter-bar { margin-bottom: 32px; }
  .faq-list summary, .prose summary { font-size: 26px; padding-block: 23px; }
  .faq-list summary::after, .prose summary::after { top: 21px; right: 5px; }
  .contact-grid { grid-template-columns: 1fr; gap: 45px; }
  .contact-details h2, .contact-panel h2 { font-size: 46px; }
  .contact-panel { padding: 30px 25px; }
  .contact-panel .button { width: 100%; margin-right: 0; }
  .button-stack { align-items: stretch; }
  .button-row { gap: 17px 23px; }
  .section-lede { margin-top: -8px; font-size: 13px; }
  .gallery-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .gallery-item { aspect-ratio: 1 / 1.15; }
  .gallery-item:nth-child(5n + 1) { aspect-ratio: 1.8 / 1; }
  .gallery-item span { font-size: 9px; padding: 30px 13px 11px; }
  .sitemap-list { columns: 1; }
  .dialog-top { min-height: var(--header-height); }
  .dialog-top .brand img, .dialog-top > img { width: 157px; height: 66px; }
  .dialog-top h2 { font-size: 28px; }
  .menu-layout { display: block; }
  .menu-feature { display: none; }
  .menu-columns { gap: 34px 22px; padding: 35px var(--gutter) 65px; }
  .menu-columns a { font-size: 26px; padding-block: 8px; }
  .menu-columns p, .menu-columns h2 { font-size: 9px; margin-bottom: 12px; }
  .search-field { margin-top: 45px; }
  .search-field input { font-size: 15px; }
  .search-results a { font-size: 25px; }
  .lightbox { width: calc(100% - 24px); max-height: calc(100svh - 30px); padding-inline: 10px; }
  .lightbox img, .lightbox video { max-height: calc(100svh - 170px); }
}

@media (max-width: 420px) {
  :root { --gutter: 21px; }
  .site-header { gap: 10px; }
  .brand img { width: 143px; }
  .header-actions { gap: 8px; }
  .header-actions > .button { padding-inline: 14px; }
  .hero { min-height: 580px; }
  .hero h1 { font-size: 63px; line-height: 1.04; }
  .hero h1 em { max-width: 340px; }
  .hero-content { padding-bottom: 70px; }
  .hero-caption { font-size: 8px; letter-spacing: .15em; gap: 13px; }
  .hero-caption::before { width: 25px; }
  .hero-bottom { bottom: 19px; gap: 6px; }
  .scene-tabs { gap: 13px; }
  .scene-tab { font-size: 8px; }
  .film-trigger { font-size: 8px; letter-spacing: .1em; }
  .film-trigger svg { width: 25px; }
  .booking-title h2 { font-size: 35px; }
  .booking-option { font-size: 22px; }
  .text-link { font-size: 10px; gap: 18px; }
  .text-link::before { width: 28px; }
  .split-copy h2, .section-heading h2 { font-size: 49px; }
  .contact-details dl { grid-template-columns: 90px minmax(0, 1fr); gap: 22px 13px; }
  .menu-columns { gap: 30px 19px; }
  .menu-columns a { font-size: 24px; }
}

@media print {
  .site-header, .hero-bottom, .booking-bar, .footer-cta, .mobile-booking, .site-footer, dialog, .filter-bar { display: none !important; }
  body { background: #fff; color: #111; }
  .hero, .page-hero { min-height: 300px; height: 380px; }
  .section { padding-block: 35px; }
  .media-card, .split { break-inside: avoid; }
  a { text-decoration: none; }
}

/* Keep both navigation controls comfortably reachable on narrow phones. */
@media (max-width: 767px) {
  .header-actions > .button { display: none; }
  .header-actions { margin-left: auto; gap: 9px; }
  .header-actions .search-toggle { display: inline-flex; }
  .site-header .menu-toggle { min-width: 44px; margin-right: 0; }
  .brand img { width: 168px; max-width: 46vw; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* --- editorial.css --- */
/* Two independent identities, confined to the Flair theme's visitor body. */
/* removed obsolete local font-face */
.flair-hotel,.flair-karls{--fx-bg:#2b2b2b;--fx-ink:#f5f0e6;--fx-muted:#c0b7a4;--fx-accent:#3f4a3c;--fx-line:#5a5142;--karls-display:Oswald,'Arial Narrow',sans-serif;--header-height:88px;--olive:#3f4a3c;--olive-dark:#303b2e;--ivory:#f5f0e6;--paper:#f5f0e6;--taupe:#9b8865;--ink:#2b2b2b;--muted:#675b49;--line:#c9b998;--gutter:clamp(22px,4.5vw,88px);color-scheme:light}
.flair-karls{--fx-bg:#2b2b2b;--fx-ink:#f5f0e6;--fx-muted:#c1b7a8;--fx-accent:#c8b48a;--fx-line:#544a3c;--olive:#f5f0e6;--olive-dark:#f5f0e6;--ivory:#2b2b2b;--paper:#1b1915;--ink:#f5f0e6;--muted:#c1b7a8;--line:#544a3c;color-scheme:dark;background:#2b2b2b;color:#f5f0e6}
.flair-home{background:var(--fx-bg);color:var(--fx-ink);color-scheme:dark}
html:has(body.flair-hotel),html:has(body.flair-karls){scroll-padding-bottom:100px}
:is(.flair-hotel,.flair-karls) :focus-visible{outline:2px solid currentColor;outline-offset:5px}
:is(.flair-hotel,.flair-karls) ::selection{background:#f5f0e6;color:#2b2b2b}
:is(.flair-hotel,.flair-karls) .fx-wrap{width:calc(100% - var(--gutter)*2);max-width:1640px;margin-inline:auto}
:is(.flair-hotel,.flair-karls) .fx-kicker{font-family:var(--sans);font-size:11px;font-weight:600;line-height:1.6;letter-spacing:.21em;text-transform:uppercase;margin:0 0 24px;color:inherit}
:is(.flair-hotel,.flair-karls) .fx-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px}
:is(.flair-hotel,.flair-karls) .fx-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:14px 25px;border:1px solid transparent;border-radius:0;background:var(--fx-accent);color:#fff;text-decoration:none;font:500 13px/1.5 var(--sans);letter-spacing:.015em;white-space:normal;transition:background .2s,transform .2s;text-align:center;cursor:pointer}
.flair-karls .fx-button{color:#2b2b2b;font-weight:700}
:is(.flair-hotel,.flair-karls) .fx-button:hover{background:#303b2e;color:#fff}
.flair-karls .fx-button:hover{background:#dac8a4;color:#2b2b2b}
:is(.flair-hotel,.flair-karls) .fx-button--outline{border-color:currentColor;color:inherit;background:transparent}
:is(.flair-hotel,.flair-karls) .fx-button--outline:hover{background:var(--fx-ink);color:var(--fx-bg)}
:is(.flair-hotel,.flair-karls) .fx-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;padding-block:9px;border-bottom:1px solid currentColor;text-decoration:none;font:500 13px/1.5 var(--sans)}
:is(.flair-hotel,.flair-karls) .fx-link:hover .icon{transform:translateX(4px)}
:is(.flair-hotel,.flair-karls) .fx-link .icon{transition:transform .2s}
:is(.flair-hotel,.flair-karls) .fx-note{font-size:12px;line-height:1.7;color:var(--fx-muted);margin-top:16px}
/* Brand and navigation */
:is(.flair-hotel,.flair-karls) .fx-header{height:var(--header-height);padding:12px var(--gutter);display:flex;align-items:center;gap:26px;justify-content:space-between;background:var(--fx-bg);color:var(--fx-ink);position:relative;z-index:40;border-bottom:1px solid #f5f0e61a}
.flair-home .fx-header{position:absolute;inset:0 0 auto;background:linear-gradient(#2b2b2bb8,transparent);border:0}
:is(.flair-hotel,.flair-karls) .fx-brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}
.flair-hotel .fx-brand img{width:72px;height:54px;object-fit:contain}
.flair-hotel .fx-brand-hotel{font:25px/1.05 var(--font-display, "Instrument Serif", Georgia, serif);white-space:nowrap}
.flair-hotel .fx-brand-hotel small{display:block;font:9px/1.8 var(--sans);letter-spacing:.21em;text-transform:uppercase;margin-top:7px}
.flair-karls .fx-brand{gap:10px}
.flair-karls .fx-brand .karls-header-logo{display:block;width:clamp(235px,19vw,320px);height:auto;max-height:70px;object-fit:contain;object-position:left center;filter:url(#karls-white-transparent)}
.flair-karls .fx-brand-karls{font:500 29px/1 var(--karls-display);letter-spacing:-.055em}
.flair-karls .fx-brand-small{max-width:92px;font:10px/1.55 var(--sans);letter-spacing:.13em;text-transform:uppercase}
:is(.flair-hotel,.flair-karls) .fx-desktop-nav{display:flex;align-items:center;gap:clamp(16px,1.8vw,35px)}
:is(.flair-hotel,.flair-karls) .fx-desktop-nav a{font-size:12px;min-height:44px;display:flex;align-items:center;position:relative;text-decoration:none;white-space:nowrap}
:is(.flair-hotel,.flair-karls) .fx-desktop-nav a::after{position:absolute;bottom:5px;inset-inline:0;height:1px;background:currentColor;content:'';transform:scaleX(0);transform-origin:left;transition:transform .25s}
:is(.flair-hotel,.flair-karls) .fx-desktop-nav a:hover::after{transform:scaleX(1)}
:is(.flair-hotel,.flair-karls) .fx-header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
:is(.flair-hotel,.flair-karls) .fx-header-cta{min-height:46px;padding:10px 18px;gap:12px;font-size:11px;white-space:nowrap}
:is(.flair-hotel,.flair-karls) .fx-header .search-toggle{display:inline-flex;flex-shrink:0;color:inherit}
:is(.flair-hotel,.flair-karls) .fx-language-toggle{min-height:44px;padding:8px 4px;border:0;background:transparent;color:inherit;font:500 11px/1.2 var(--sans);letter-spacing:.04em;cursor:pointer;white-space:nowrap}
:is(.flair-hotel,.flair-karls) .fx-language-toggle:hover,:is(.flair-hotel,.flair-karls) .fx-language-toggle:focus-visible{color:var(--fx-accent);text-decoration:underline;text-underline-offset:4px}
:is(.flair-hotel,.flair-karls) .fx-menu-toggle{display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 0 9px 9px;min-width:44px;min-height:44px;color:inherit;border:0;background:transparent;font-size:12px}
:is(.flair-hotel,.flair-karls) .fx-menu-toggle span{display:inline}
:is(.flair-hotel,.flair-karls) .fx-hotel-return{font-size:10px;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px;white-space:nowrap}
.flair-karls .fx-brand-switch{gap:4px;min-height:44px;padding:7px 10px 7px 11px;border:1px solid #c8b48a80;border-radius:2px;color:#f5f0e6;text-decoration:none;line-height:1;transition:background .2s,border-color .2s}
.flair-karls .fx-brand-switch>span{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#c8b48a}
.flair-karls .fx-brand-switch>strong{font:500 11px/1 var(--karls-display);letter-spacing:.02em}
.flair-karls .fx-brand-switch .icon{width:15px;height:15px;margin-left:4px;transition:transform .2s}
.flair-karls .fx-brand-switch:hover{background:#c8b48a;color:#2b2b2b;border-color:#c8b48a}
.flair-karls .fx-brand-switch:hover>span{color:#2b2b2b}
.flair-karls .fx-brand-switch:hover .icon{transform:translateX(3px)}
/* Date controls are real inputs; entered values are explicitly a local plan. */
:is(.flair-hotel,.flair-karls) .fx-planner{color:var(--fx-ink);background:var(--fx-bg);border:1px solid var(--fx-line);padding:22px 26px;text-align:left}
:is(.flair-hotel,.flair-karls) .fx-planner-fields{display:grid;grid-template-columns:1fr 1fr .85fr auto;gap:22px;align-items:center}
:is(.flair-hotel,.flair-karls) .fx-field{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--fx-line);padding-right:22px}
:is(.flair-hotel,.flair-karls) .fx-field>span:first-child{color:var(--fx-muted);font:11px/1.5 var(--sans);margin-bottom:3px}
:is(.flair-hotel,.flair-karls) .fx-date-wrap{position:relative;min-width:0;display:block}
:is(.flair-hotel,.flair-karls) .fx-date-hint{position:absolute;left:0;top:9px;pointer-events:none;font-size:14px;color:var(--fx-ink)}
:is(.flair-hotel,.flair-karls) .fx-field :is(input,select){min-height:44px;max-width:100%;width:100%;background:transparent;color:var(--fx-ink);border:0;padding:8px 2px;font:14px/1.5 var(--sans);color-scheme:dark}
:is(.flair-hotel,.flair-karls) .fx-field input{color:transparent}
:is(.flair-hotel,.flair-karls) .fx-field input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.85;padding:5px}
:is(.flair-hotel,.flair-karls) .fx-date-wrap.has-value input,:is(.flair-hotel,.flair-karls) .fx-date-wrap:focus-within input{color:var(--fx-ink)}
:is(.flair-hotel,.flair-karls) .fx-date-wrap.has-value .fx-date-hint,:is(.flair-hotel,.flair-karls) .fx-date-wrap:focus-within .fx-date-hint{display:none}
:is(.flair-hotel,.flair-karls) .fx-field option{background:var(--fx-bg);color:var(--fx-ink)}
:is(.flair-hotel,.flair-karls) .fx-plan-note{font-size:10px;line-height:1.65;letter-spacing:.01em;margin:14px 0 0;color:var(--fx-muted)}
:is(.flair-hotel,.flair-karls) .fx-plan-result{display:flex;gap:18px;align-items:center;justify-content:space-between;border-top:1px solid var(--fx-line);margin-top:12px;padding-top:10px;font-size:12px;line-height:1.6}
:is(.flair-hotel,.flair-karls) .fx-plan-result p{margin:0}
:is(.flair-hotel,.flair-karls) .fx-copy-plan{background:none;border:0;border-bottom:1px solid currentColor;color:inherit;min-height:44px;flex-shrink:0;padding:5px 0;font-size:11px}
/* The visitor page families share their complete original content. */
:is(.flair-hotel,.flair-karls) .prose{overflow-wrap:anywhere}
.flair-hotel:not(.flair-home) .page-hero{background:#2b2b2b}
.flair-hotel:not(.flair-home) .page-hero-content{color:#f5f0e6}
.flair-hotel:not(.flair-home) .page-hero--compact{background:#2b2b2b;color:#f5f0e6}
.flair-karls .page-hero-content{color:var(--fx-ink)}
.flair-karls .page-hero h1,.flair-karls .fx-subpage-cta h2{font-family:var(--karls-display);font-weight:500;line-height:1.08;font-size:clamp(48px,7vw,110px);letter-spacing:-.035em}
.flair-karls .page-hero{background:#2b2b2b}
.flair-karls .page-hero-content::before{background:none}
.flair-karls .article-content{color:var(--fx-ink)}
.flair-karls .prose :is(h2,h3){color:var(--fx-ink)}
.flair-karls .prose a{color:var(--fx-ink)}
.flair-karls .button--solid{background:var(--fx-accent);color:#2b2b2b}
.flair-karls .section--soft,.flair-karls .media-card__body{background:#191814}
:is(.flair-hotel,.flair-karls) .fx-subpage-cta{padding:clamp(70px,8vw,130px) 0;background:var(--fx-bg);color:var(--fx-ink);text-align:center}
:is(.flair-hotel,.flair-karls) .fx-subpage-cta h2{margin-bottom:34px}
/* Footer and full depth navigation */
:is(.flair-hotel,.flair-karls) .fx-footer{padding:80px 0 28px;background:var(--fx-bg);color:var(--fx-ink);border-top:1px solid var(--fx-line)}
:is(.flair-hotel,.flair-karls) .fx-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px;padding-bottom:65px}
:is(.flair-hotel,.flair-karls) .fx-footer-brand{font:52px/.95 var(--font-display, "Instrument Serif", Georgia, serif);letter-spacing:-.025em;margin-bottom:16px}
.flair-karls .fx-footer-brand{font-family:var(--karls-display);font-weight:600;font-size:75px}
:is(.flair-hotel,.flair-karls) .fx-footer-grid h2{font:11px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px;color:var(--fx-muted)}
:is(.flair-hotel,.flair-karls) .fx-footer-grid a{display:block;min-height:44px;font-size:12px;padding-block:9px;text-decoration:none;overflow-wrap:anywhere}
:is(.flair-hotel,.flair-karls) .fx-footer-grid a:hover{text-decoration:underline}
:is(.flair-hotel,.flair-karls) .fx-address{font-size:12px;line-height:1.8;min-width:0}
:is(.flair-hotel,.flair-karls) .fx-address address{font-style:normal;margin:22px 0 10px;color:var(--fx-muted)}
:is(.flair-hotel,.flair-karls) .fx-footer-bottom{display:flex;gap:24px;justify-content:space-between;padding-top:25px;border-top:1px solid var(--fx-line);font-size:10px;color:var(--fx-muted)}
:is(.flair-hotel,.flair-karls) .fx-footer-bottom p{margin:0}
:is(.flair-hotel,.flair-karls) .fx-footer-bottom nav{display:flex;flex-wrap:wrap;gap:10px 25px}
:is(.flair-hotel,.flair-karls) .fx-footer-bottom a{min-height:44px;display:flex;align-items:flex-start;text-decoration:none}
:is(.flair-hotel,.flair-karls) .fx-mobile-action{display:none}
/* Native modal provides inert background, focus containment and Escape. */
:is(.flair-hotel,.flair-karls) dialog::backdrop{background:rgba(17,16,14,.76)}
:is(.flair-hotel,.flair-karls) .lightbox{background:var(--fx-bg);color:var(--fx-ink)}
:is(.flair-hotel,.flair-karls) .lightbox :is(.close-dialog,.lightbox-caption){color:var(--fx-ink)}
:is(.flair-hotel,.flair-karls) .search-dialog{background:var(--paper);color:var(--ink)}
.flair-karls .search-dialog :is(h2,h3,label){font-family:var(--karls-display);font-weight:500}
:is(.flair-hotel,.flair-karls) :is(.fx-menu,.search-dialog) .close-dialog{color:inherit}
:is(.flair-hotel,.flair-karls) .fx-menu{background:var(--fx-bg);color:var(--fx-ink);border:1px solid var(--fx-line);max-height:92dvh;width:calc(100vw - 64px);max-width:1500px;padding:32px 48px}
:is(.flair-hotel,.flair-karls) .fx-menu .dialog-top{border-color:var(--fx-line)}
:is(.flair-hotel,.flair-karls) .fx-menu .dialog-top p{margin:0}
:is(.flair-hotel,.flair-karls) .fx-menu-layout{display:grid;grid-template-columns:.9fr 1.5fr;gap:60px;padding-top:45px}
:is(.flair-hotel,.flair-karls) .fx-menu-title{font:clamp(58px,7vw,105px)/1 var(--font-display, "Instrument Serif", Georgia, serif);letter-spacing:-.03em}
.flair-karls .fx-menu-title{font-family:var(--karls-display);font-weight:500;line-height:1.1}
:is(.flair-hotel,.flair-karls) .fx-menu-links{display:grid;grid-template-columns:1fr 1fr;gap:36px}
:is(.flair-hotel,.flair-karls) .fx-menu-links h2{font:10px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.15em;color:var(--fx-muted);margin:0 0 12px}
:is(.flair-hotel,.flair-karls) .fx-menu-links a{font:24px/1.3 var(--font-display, "Instrument Serif", Georgia, serif);display:block;min-height:44px;padding-block:8px;text-decoration:none}
.flair-karls .fx-menu-links a{font-family:var(--sans);font-size:16px}
:is(.flair-hotel,.flair-karls) .fx-menu-links a:hover{text-decoration:underline}
:is(.flair-hotel,.flair-karls) .skip-link{background:#f5f0e6;color:#2b2b2b;z-index:1001}
@media(min-width:1650px){:is(.flair-hotel,.flair-karls) .fx-header .search-toggle{display:inline-flex}}
@media(max-width:1399px){:is(.flair-hotel,.flair-karls) .fx-desktop-nav{display:none}}
@media(max-width:1024px){:is(.flair-hotel,.flair-karls) .fx-planner-fields{grid-template-columns:1fr 1fr;gap:18px}:is(.flair-hotel,.flair-karls) .fx-field:nth-child(2){border-right:0}:is(.flair-hotel,.flair-karls) .fx-footer-grid{grid-template-columns:1.3fr 1fr;gap:40px}:is(.flair-hotel,.flair-karls) .fx-footer-bottom{flex-direction:column;gap:16px}:is(.flair-hotel,.flair-karls) .fx-menu-layout{grid-template-columns:1fr;gap:25px}:is(.flair-hotel,.flair-karls) .fx-menu-title{display:none}}
@media(max-width:600px){
 .flair-hotel,.flair-karls{--header-height:76px}
 :is(.flair-hotel,.flair-karls) .fx-header{padding:10px 20px;gap:12px}
 .flair-hotel .fx-brand{gap:5px}.flair-hotel .fx-brand img{width:40px;height:45px}.flair-hotel .fx-brand-hotel{font-size:18px}.flair-hotel .fx-brand-hotel small{font-size:7px;letter-spacing:.1em}
 .flair-karls .fx-brand .karls-header-logo{width:clamp(168px,48vw,230px);max-height:56px}.flair-karls .fx-brand-small{font-size:8px;max-width:76px}.flair-karls .fx-brand-karls{font-size:28px}
 :is(.flair-hotel,.flair-karls) .fx-header-cta,:is(.flair-hotel,.flair-karls) .fx-hotel-return{display:none}
 :is(.flair-hotel,.flair-karls) .fx-header-actions{gap:6px}
 :is(.flair-hotel,.flair-karls) .fx-menu-toggle{gap:7px;padding-left:0;font-size:11px}
 :is(.flair-hotel,.flair-karls) .fx-button{min-height:50px;padding:13px 20px;gap:14px;font-size:12px}
 :is(.flair-hotel,.flair-karls) .fx-planner{padding:20px}
 :is(.flair-hotel,.flair-karls) .fx-planner-fields{grid-template-columns:minmax(0,1fr);gap:12px}
 :is(.flair-hotel,.flair-karls) .fx-field{border-right:0;border-bottom:1px solid var(--fx-line);padding:0 0 8px}
 :is(.flair-hotel,.flair-karls) .fx-plan-result{flex-direction:column;align-items:flex-start;gap:5px}
 :is(.flair-hotel,.flair-karls) .fx-plan-note{font-size:11px}
 :is(.flair-hotel,.flair-karls) .fx-footer{padding:50px 0 94px}
 :is(.flair-hotel,.flair-karls) .fx-footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px;padding-bottom:32px}
 :is(.flair-hotel,.flair-karls) .fx-address{grid-column:1/-1}
 :is(.flair-hotel,.flair-karls) .fx-footer-grid h2{font-size:10px;letter-spacing:.1em;margin-bottom:10px}
 :is(.flair-hotel,.flair-karls) .fx-footer-grid a{font-size:11px}
 :is(.flair-hotel,.flair-karls) .fx-footer-bottom nav{gap:5px 18px}
 :is(.flair-hotel,.flair-karls) .fx-mobile-action{position:fixed;z-index:45;inset:auto 0 0;display:grid;grid-template-columns:1fr 1fr;background:var(--fx-bg);color:var(--fx-ink);border-top:1px solid var(--fx-line);padding:8px 14px max(8px,env(safe-area-inset-bottom));gap:10px}
 :is(.flair-hotel,.flair-karls) .fx-mobile-action>a{display:flex;justify-content:center;align-items:center;font-size:11px;text-decoration:none;min-height:44px}
 :is(.flair-hotel,.flair-karls) .fx-mobile-action .fx-button{padding:10px 8px;font-size:11px}
 :is(.flair-hotel,.flair-karls).dialog-open .fx-mobile-action{visibility:hidden}
 :is(.flair-hotel,.flair-karls) .fx-menu{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;margin:0;padding:22px;border:0}
 :is(.flair-hotel,.flair-karls) .fx-menu-layout{padding-top:28px}
 :is(.flair-hotel,.flair-karls) .fx-menu-links{grid-template-columns:1fr;gap:26px}
 :is(.flair-hotel,.flair-karls) .fx-menu-links a{font-size:25px}
 .flair-karls .fx-menu-links a{font-size:18px}
}
@media(prefers-reduced-motion:reduce){:is(.flair-hotel,.flair-karls) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* --- hotel-cinematic.css --- */
/* Hotel entrance only. Shared controls, navigation and footer live in the common theme layer. */
.flair-home .fh-main { background: #2b2b2b; color: #f5f0e6; }
.flair-home .fh-main section { position: relative; }
.flair-home .fh-main h1,
.flair-home .fh-main h2,
.flair-home .fh-main h3 { font-family: "Instrument Serif", Georgia, serif; font-weight: 400; letter-spacing: -.035em; }
.flair-home .fh-main h2 { font-size: clamp(56px, 5.8vw, 106px); line-height: .98; }
.flair-home .fh-main h3 { font-size: clamp(30px, 2.6vw, 48px); line-height: 1.08; }
.flair-home .fh-main picture { display: block; }
.flair-home .fh-main figure { margin: 0; }
.flair-home .fh-chapter { padding-block: clamp(86px, 8.4vw, 160px); }
.flair-home .fh-chapter-number { color: #cba886; margin-right: 10px; font-variant-numeric: tabular-nums; }
.flair-home .fh-lead { max-width: 33em; margin: 26px 0; color: #e2d8c7; font-size: clamp(18px, 1.5vw, 26px); line-height: 1.55; }
.flair-home .fh-body-copy { max-width: 35em; margin: 0 0 32px; color: #bdb6a9; font-size: 16px; line-height: 1.85; }

/* 01. The real hotel facade remains the only setting of the opening scene. */
.flair-home .fh-hero { isolation: isolate; min-height: 880px; }
.flair-home .fh-hero-media,
.flair-home .fh-hero-shade,
.flair-home .fh-booking-scene,
.flair-home .fh-booking-shade,
.flair-home .fh-karls-scene,
.flair-home .fh-karls-shade { position: absolute; inset: 0; z-index: -2; }
.flair-home .fh-hero-media picture,
.flair-home .fh-hero-media img,
.flair-home .fh-booking-scene picture,
.flair-home .fh-booking-scene img,
.flair-home .fh-karls-scene picture,
.flair-home .fh-karls-scene img { width: 100%; height: 100%; object-fit: cover; }
.flair-home .fh-hero-media img { object-position: 60% 50%; }
.flair-home .fh-hero-shade { z-index: -1; background: linear-gradient(90deg, rgba(12, 12, 10, .91) 0%, rgba(12, 12, 10, .69) 30%, rgba(12, 12, 10, .15) 69%), linear-gradient(0deg, #2b2b2b 0%, transparent 26%, transparent 78%, rgba(12, 12, 10, .45) 100%); }
.flair-home .fh-hero-inner { position: relative; min-height: 880px; padding-top: clamp(168px, 15vw, 245px); padding-bottom: 24px; }
.flair-home .fh-hero-copy { max-width: 700px; }
.flair-home .fh-hero .fx-kicker { margin-bottom: 26px; }
.flair-home .fh-hero h1 { margin: 0; font-size: clamp(80px, 7.8vw, 140px); line-height: .91; }
.flair-home .fh-hero-intro { margin: 28px 0 25px; color: #e2d8c7; font-size: clamp(17px, 1.55vw, 26px); line-height: 1.5; }
.flair-home .fh-hero-detail { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 0; font-size: 12px; color: #d2c8b8; }
.flair-home .fh-hero-detail { align-items: center; }
.flair-home .fh-hero-detail a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.flair-home .fh-hero-detail a:hover { text-decoration: underline; }
.flair-home .fh-hero-rail { position: absolute; right: 0; top: 190px; display: flex; align-items: center; gap: 30px; writing-mode: vertical-rl; text-transform: uppercase; font-size: 10px; letter-spacing: .3em; color: #f5f0e6; }
.flair-home .fh-hero-rail span { width: 1px; height: 75px; background: #bba786; }
.flair-home .fh-hero-planner { margin-top: 45px; }
.flair-home .fh-scroll-link { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; margin-top: 11px; font-size: 11px; letter-spacing: .06em; text-decoration: none; color: #c9c0ae; }
.flair-home .fh-scroll-link .icon { width: 17px; height: 17px; }

/* 02. Portrait and copy are separate editorial areas; no composited people. */
.flair-home .fh-hosts-layout { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(44px, 6vw, 110px); align-items: center; }
.flair-home .fh-hosts-copy { min-width: 0; }
.flair-home .fh-hosts h2 { font-size: clamp(48px, 4.9vw, 90px); }
.flair-home .fh-host-portrait { align-self: center; }
.flair-home .fh-host-portrait > img { width: 100%; height: auto; aspect-ratio: 2200 / 1467; object-fit: contain; }
.flair-home .fh-host-portrait figcaption { display: flex; align-items: center; justify-content: flex-end; gap: 22px; padding-top: 23px; color: #c9c0ae; font-size: 12px; letter-spacing: .025em; }
.flair-home .fh-caption-line { width: 56px; height: 1px; background: #a18a65; }
.flair-home .fh-host-details { display: flex; flex-wrap: wrap; gap: 4px 22px; padding: 25px 0 0; margin: 28px 0 0; border-top: 1px solid #484237; list-style: none; }
.flair-home .fh-host-details a { display: inline-flex; align-items: center; min-height: 44px; font-size: 11px; color: #d4c7b3; text-decoration: none; }
.flair-home .fh-host-details a:hover { text-decoration: underline; }

/* 03. One dominant room photograph with a staggered sequence, never equal cards. */
.flair-home .fh-rooms { background: #1c1915; }
.flair-home .fh-rooms-layout { display: grid; grid-template-columns: 1.12fr 1fr; grid-template-rows: auto 1fr; gap: 48px clamp(36px, 5vw, 90px); }
.flair-home .fh-rooms-copy { grid-column: 2; grid-row: 1; min-width: 0; padding-top: 10px; }
.flair-home .fh-rooms-copy h2 { font-size: clamp(54px, 5.2vw, 96px); }
.flair-home .fh-room-feature { position: relative; display: block; min-height: 630px; grid-column: 1; grid-row: 1 / 3; isolation: isolate; text-decoration: none; }
/* removed old feature::after overlay */
.flair-home .fh-room-feature-photo { position: absolute; inset: 0; z-index: -2; }
.flair-home .fh-room-feature-photo picture,
.flair-home .fh-room-feature-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 48% center; }
.flair-home .fh-room-feature-caption { position: absolute; inset: auto 30px 32px; display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.flair-home .fh-room-feature-caption small { display: block; margin-bottom: 13px; color: #f5f0e6; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.flair-home .fh-room-feature-caption strong { font: 400 clamp(32px, 3vw, 55px)/1 "Instrument Serif", Georgia, serif; }
.flair-home .fh-room-feature-caption > .icon { width: 34px; }
.flair-home .fh-room-feature:hover .fh-room-feature-caption strong { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 9px; }
.flair-home .fh-room-sequence { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; grid-column: 2; grid-row: 2; align-items: start; }
.flair-home .fh-room-small { display: block; min-width: 0; text-decoration: none; }
.flair-home .fh-room-small--offset { margin-top: 44px; }
.flair-home .fh-room-small-photo { aspect-ratio: 4 / 3; }
.flair-home .fh-room-small-photo picture,
.flair-home .fh-room-small-photo img { width: 100%; height: 100%; object-fit: cover; }
.flair-home .fh-room-small > span { display: flex; justify-content: space-between; align-items: center; min-height: 58px; gap: 9px; border-bottom: 1px solid #75654e; font: 400 clamp(23px, 2vw, 35px)/1.2 "Instrument Serif", Georgia, serif; }
.flair-home .fh-room-small > span .icon { width: 20px; height: 20px; }
.flair-home .fh-room-small:hover > span { color: #fff8eb; border-color: #f5f0e6; }
.flair-home .fh-offer-note { margin-top: 76px; padding-top: 34px; border-top: 1px solid #504638; display: flex; justify-content: space-between; gap: 32px; align-items: center; }
.flair-home .fh-offer-note .fx-kicker { margin-bottom: 16px; }
.flair-home .fh-offer-note h3 { max-width: 440px; }
.flair-home .fh-offer-links { display: flex; flex-wrap: wrap; gap: 12px 30px; max-width: 600px; justify-content: flex-end; }
.flair-home .fh-offer-links .fx-link { font-size: 12px; }

/* 04. Landscape is a distinct excursion, with no implied view from the house. */
.flair-home .fh-alb-layout { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: clamp(44px, 6vw, 112px); }
.flair-home .fh-alb-copy { min-width: 0; }
.flair-home .fh-alb-copy .fx-actions { align-items: flex-start; }
.flair-home .fh-alb-photo { position: relative; min-height: 670px; }
.flair-home .fh-alb-photo picture,
.flair-home .fh-alb-photo img { width: 100%; height: 670px; object-fit: cover; object-position: 52% center; }
.flair-home .fh-alb-photo figcaption { position: absolute; inset: auto 0 0; padding: 80px 30px 27px; background: linear-gradient(transparent, rgba(12, 12, 10, .85)); }
.flair-home .fh-alb-photo figcaption span { display: block; margin-bottom: 8px; font-size: 10px; letter-spacing: .06em; color: #f5f0e6; }
.flair-home .fh-alb-photo figcaption em { font-family: "Instrument Serif", Georgia, serif; font-size: 28px; }
.flair-home .fh-alb-detail { display: inline-flex; gap: 12px; align-items: center; min-height: 44px; margin-top: 24px; color: #cbb89d; font-size: 12px; text-decoration: none; }
.flair-home .fh-alb-detail:hover { text-decoration: underline; }
.flair-home .fh-alb-detail .icon { width: 18px; height: 18px; }

/* 05. A restaurant chapter within the hotel journey, with a user-started film. */
.flair-home .fh-karls { isolation: isolate; min-height: 820px; }
.flair-home .fh-karls-scene img { object-position: 65% 50%; }
.flair-home .fh-karls-shade { z-index: -1; background: linear-gradient(90deg, rgba(16, 14, 11, .97), rgba(16, 14, 11, .87) 32%, rgba(16, 14, 11, .14) 78%), linear-gradient(0deg, #2b2b2b, transparent 45%); }
.flair-home .fh-karls-layout { position: relative; min-height: 820px; padding-top: 122px; padding-bottom: 92px; }
.flair-home .fh-karls-copy { position: relative; max-width: 590px; z-index: 2; }
.flair-home .fh-karls h2 { font-size: clamp(54px, 5.3vw, 100px); }
.flair-home .fh-karls .fh-lead { max-width: 29em; }
.flair-home .fh-karls-signature { margin: 28px 0; color: #dac8ab; font-size: 12px; letter-spacing: .15em; }
.flair-home .fh-karls .fx-actions { gap: 14px 26px; }
.flair-home .fh-karls-dish { position: absolute; width: 42%; right: 0; bottom: 54px; }
.flair-home .fh-karls-dish picture,
.flair-home .fh-karls-dish img { width: 100%; height: auto; }
.flair-home .fh-karls-dish figcaption { padding-top: 20px; text-align: right; font: italic 25px/1.18 "Instrument Serif", Georgia, serif; color: #e2d0af; }
.flair-home .fh-film-trigger { display: inline-flex; align-items: center; gap: 14px; margin-top: 38px; min-height: 52px; padding: 0; border: 0; background: transparent; color: #f5f0e6; text-align: left; }
.flair-home .fh-film-trigger > .icon { box-sizing: content-box; width: 19px; height: 19px; padding: 13px; border: 1px solid #a99473; border-radius: 50%; }
.flair-home .fh-film-trigger > span { font-size: 13px; }
.flair-home .fh-film-trigger small { display: block; margin-top: 4px; color: #d2c4b0; font-size: 10px; letter-spacing: .06em; }
.flair-home .fh-film-trigger:hover > .icon { background: #3f4a3c; border-color: #3f4a3c; color: white; }

/* 06. Honest local planning, followed by the unchanged official booking entry. */
.flair-home .fh-booking { isolation: isolate; }
.flair-home .fh-booking-scene img { object-position: 60% center; }
.flair-home .fh-booking-shade { z-index: -1; background: linear-gradient(90deg, rgba(12, 12, 10, .94), rgba(12, 12, 10, .58) 45%, rgba(12, 12, 10, .32)), linear-gradient(0deg, #2b2b2b, transparent 65%); }
.flair-home .fh-booking-inner { padding-top: 138px; padding-bottom: 40px; }
.flair-home .fh-booking-copy { max-width: 710px; margin-bottom: 45px; }
.flair-home .fh-booking h2 { font-size: clamp(76px, 8.3vw, 150px); line-height: .9; }
.flair-home .fh-booking-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 18px; align-items: center; margin-top: 32px; padding-top: 16px; border-top: 1px solid #766548; }
.flair-home .fh-booking-bottom p { margin: 0; color: #c9c0ae; font-size: 11px; letter-spacing: .08em; }
.flair-home .fh-booking-bottom .fx-link { font-size: 12px; }

@media (min-width: 1700px) {
    .flair-home .fh-hero,
    .flair-home .fh-hero-inner { min-height: 1010px; }
    .flair-home .fh-hero-planner { margin-top: 62px; }
    .flair-home .fh-room-feature { min-height: 760px; }
    .flair-home .fh-karls,
    .flair-home .fh-karls-layout { min-height: 910px; }
}

@media (max-width: 1100px) {
    .flair-home .fh-hosts-layout { gap: 36px; grid-template-columns: .94fr 1.06fr; }
    .flair-home .fh-hosts h2 { font-size: 54px; }
    .flair-home .fh-host-details { gap: 4px 15px; }
    .flair-home .fh-rooms-layout { gap: 32px; grid-template-columns: 1fr 1fr; }
    .flair-home .fh-room-feature { min-height: 560px; }
    .flair-home .fh-rooms-copy h2 { font-size: 61px; }
    .flair-home .fh-room-sequence { gap: 16px; }
    .flair-home .fh-room-small > span { font-size: 24px; }
    .flair-home .fh-offer-note { align-items: flex-start; }
    .flair-home .fh-offer-links { max-width: 300px; }
    .flair-home .fh-alb-layout { gap: 38px; grid-template-columns: .92fr 1.08fr; }
    .flair-home .fh-alb-photo,
    .flair-home .fh-alb-photo picture,
    .flair-home .fh-alb-photo img { min-height: 590px; height: 590px; }
    .flair-home .fh-karls-copy { max-width: 51%; }
    .flair-home .fh-karls h2 { font-size: 62px; }
    .flair-home .fh-karls-dish { width: 42%; bottom: 74px; }
}

@media (max-width: 760px) {
    .flair-home .fh-chapter { padding-block: 76px; }
    .flair-home .fh-main h2 { font-size: clamp(48px, 11vw, 76px); }
    .flair-home .fh-lead { font-size: 18px; margin: 23px 0; }
    .flair-home .fh-body-copy { font-size: 14px; line-height: 1.8; }
    .flair-home .fh-hero,
    .flair-home .fh-hero-inner { min-height: 0; }
    .flair-home .fh-hero-inner { padding-top: 330px; padding-bottom: 20px; }
    .flair-home .fh-hero-media { bottom: auto; height: 620px; }
    .flair-home .fh-hero-media img { object-position: 67% 0; }
    .flair-home .fh-hero-shade { background: linear-gradient(180deg, rgba(21, 20, 17, .44) 0, rgba(21, 20, 17, .08) 180px, rgba(21, 20, 17, .72) 330px, rgba(21, 20, 17, .94) 480px, #2b2b2b 620px); }
    .flair-home .fh-hero h1 { font-size: clamp(60px, 14.8vw, 96px); line-height: .96; }
    .flair-home .fh-hero .fx-kicker { margin-bottom: 23px; font-size: 10px; }
    .flair-home .fh-hero-intro { margin-top: 24px; font-size: 16px; }
    .flair-home .fh-hero-rail { display: none; }
    .flair-home .fh-hero-detail { margin-top: 20px; }
    .flair-home .fh-hero-planner { margin-top: 34px; }
    .flair-home .fh-hosts-layout { display: flex; flex-direction: column; gap: 36px; align-items: stretch; }
    .flair-home .fh-hosts h2 { font-size: clamp(46px, 10.8vw, 70px); }
    .flair-home .fh-host-portrait { width: 100%; }
    .flair-home .fh-host-portrait figcaption { font-size: 11px; padding-top: 16px; gap: 16px; }
    .flair-home .fh-host-details { margin-top: 23px; padding-top: 14px; }
    .flair-home .fh-rooms-layout { display: flex; flex-direction: column; gap: 32px; }
    .flair-home .fh-rooms-copy { padding: 0; }
    .flair-home .fh-rooms-copy h2 { font-size: clamp(52px, 12vw, 78px); }
    .flair-home .fh-room-feature { min-height: 380px; }
    .flair-home .fh-room-feature-photo img { object-position: 46% center; }
    .flair-home .fh-room-feature-caption { inset: auto 22px 24px; }
    .flair-home .fh-room-feature-caption strong { font-size: 38px; }
    .flair-home .fh-room-sequence { gap: 17px; }
    .flair-home .fh-room-small--offset { margin-top: 25px; }
    .flair-home .fh-room-small > span { font-size: clamp(21px, 5.5vw, 29px); min-height: 58px; gap: 5px; }
    .flair-home .fh-room-small > span .icon { width: 16px; height: 16px; }
    .flair-home .fh-offer-note { flex-direction: column; gap: 24px; margin-top: 44px; padding-top: 30px; }
    .flair-home .fh-offer-note h3 { max-width: 320px; font-size: 37px; }
    .flair-home .fh-offer-links { justify-content: flex-start; gap: 5px 25px; max-width: none; }
    .flair-home .fh-alb-layout { display: flex; flex-direction: column; align-items: stretch; gap: 35px; }
    .flair-home .fh-alb-copy .fh-body-copy { max-width: 38em; }
    .flair-home .fh-alb-photo,
    .flair-home .fh-alb-photo picture,
    .flair-home .fh-alb-photo img { min-height: 0; height: 480px; }
    .flair-home .fh-alb-photo figcaption { padding: 70px 22px 24px; }
    .flair-home .fh-alb-photo figcaption em { font-size: 25px; }
    .flair-home .fh-karls { min-height: 0; background: #1c1813; }
    .flair-home .fh-karls-scene { position: relative; height: 330px; inset: auto; z-index: 0; }
    .flair-home .fh-karls-scene img { object-position: center; }
    .flair-home .fh-karls-shade { height: 335px; bottom: auto; z-index: 1; pointer-events: none; background: linear-gradient(0deg, #1c1813, transparent 48%); }
    .flair-home .fh-karls-layout { min-height: 0; padding-top: 4px; padding-bottom: 60px; }
    .flair-home .fh-karls-copy { max-width: 100%; }
    .flair-home .fh-karls h2 { font-size: clamp(49px, 11.5vw, 75px); }
    .flair-home .fh-karls-signature { font-size: 10px; letter-spacing: .1em; }
    .flair-home .fh-karls .fx-actions { gap: 14px 18px; }
    .flair-home .fh-karls-dish { position: relative; width: 100%; inset: auto; margin-top: 38px; }
    .flair-home .fh-karls-dish figcaption { font-size: 24px; }
    .flair-home .fh-film-trigger { margin-top: 26px; }
    .flair-home .fh-booking-inner { padding-top: 86px; padding-bottom: 36px; }
    .flair-home .fh-booking-scene img { object-position: 66% top; }
    .flair-home .fh-booking-shade { background: linear-gradient(90deg, rgba(12, 12, 10, .91), rgba(12, 12, 10, .55)), linear-gradient(0deg, #2b2b2b 20%, transparent); }
    .flair-home .fh-booking-copy { margin-bottom: 32px; }
    .flair-home .fh-booking h2 { font-size: clamp(78px, 18vw, 118px); }
    .flair-home .fh-booking-bottom { align-items: flex-start; flex-direction: column; gap: 12px; }
    .flair-home .fh-booking-bottom p { order: 3; margin-top: 8px; font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    .flair-home .fh-main *,
    .flair-home .fh-main *::before,
    .flair-home .fh-main *::after { animation: none; transition: none; }
}


/* --- recognition.css --- */
/* Existing charcoal identity. Original assets remain intact; homepage seals use a warm monochrome treatment. */
.recognition-page,.recognition-preview{background:#2b2b2b;color:#f5f0e6}
.recognition-page h1,.recognition-page h2,.recognition-preview h2{font-family:var(--font-display, "Instrument Serif", Georgia, serif);font-weight:400;letter-spacing:-.025em;line-height:1.08}
.recognition-page h2,.recognition-preview h2{font-size:clamp(34px,4.4vw,68px);margin:0 0 30px;max-width:1000px}
.recognition-page p,.recognition-intro{line-height:1.8;font-size:16px}
.recognition-page .fx-link,.recognition-preview .fx-link{color:#f5f0e6}
.recognition-hero{position:relative;isolation:isolate;min-height:620px;height:min(760px,82svh);display:flex;align-items:center}
.recognition-hero-photo,.recognition-hero-photo picture,.recognition-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.recognition-hero-photo{z-index:-2}
.recognition-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,27,24,.9),rgba(25,27,24,.4) 58%,rgba(25,27,24,.06));z-index:-1}
.recognition-hero h1{font-size:clamp(64px,8vw,124px);margin:0 0 24px}
.recognition-hero-copy>p:not(.fx-kicker){max-width:340px;margin-bottom:30px}
.recognition-opening{padding-block:90px 20px}
.recognition-opening>p{max-width:780px;color:#d0c8b9}
.recognition-jump{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:30px}
.recognition-jump a{padding:12px 0;border-bottom:1px solid #86795f;text-decoration:none;font-size:14px}
.recognition-jump a:hover{color:#dcc79c}
.recognition-section{padding-block:80px}
.recognition-pair{display:grid;grid-template-columns:1fr 1fr;gap:6vw}
.recognition-entry{scroll-margin-top:40px;min-width:0;padding:30px 0;border-top:1px solid #655e51}
.recognition-entry-logo{background:#fff;display:flex;align-items:center;justify-content:center;gap:18px;width:180px;height:190px;padding:18px;margin-bottom:28px}
.recognition-entry-logo img{width:auto;height:auto;max-width:100%;max-height:150px;object-fit:contain}
.recognition-entry-logo:has(img+img){width:100%;max-width:400px}
.recognition-entry-logo:has(img+img) img{max-width:48%;max-height:115px}
.recognition-entry h3{font:400 clamp(27px,2.5vw,38px)/1.2 var(--font-display, "Instrument Serif", Georgia, serif);margin:0 0 18px}
.recognition-entry .recognition-type{font-size:12px;color:#d1bd95;line-height:1.5;margin:0 0 12px}
.recognition-entry .recognition-statement{font-size:18px;margin:0 0 16px;color:#f5f0e6}
.recognition-entry-copy>p{color:#d0c8b9;max-width:65ch}
.recognition-entry .recognition-meaning{color:#f5f0e6;padding-left:18px;border-left:2px solid #a18e68;margin-block:24px}
.recognition-landscape{height:clamp(280px,40vw,600px);margin-bottom:70px;overflow:hidden}
.recognition-landscape img{width:100%;height:100%;object-fit:cover}
.recognition-region{padding-top:20px}
.recognition-region-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 6vw}
.recognition-region-grid .recognition-entry:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;gap:6vw;align-items:start;margin-top:30px}
.recognition-region-grid .recognition-entry:last-child .recognition-entry-logo{width:100%;max-width:340px;min-height:280px}
.recognition-region-grid .recognition-entry:last-child img{max-height:230px}
.recognition-meeting{display:grid;grid-template-columns:1.05fr 1fr;gap:5vw;align-items:start}
.recognition-meeting>img{width:100%;height:100%;min-height:540px;object-fit:cover}
.recognition-meeting .recognition-entry{border:0;padding-top:0}
.recognition-note{border-top:1px solid #655e51;padding-block:40px 80px}
.recognition-note h2{font-size:30px}
.recognition-note p{font-size:13px;max-width:900px;color:#c5bdaf}
.recognition-note a{text-underline-offset:4px}
.recognition-preview{padding-block:100px}
.recognition-intro{max-width:640px;color:#d0c8b9;margin:0 0 38px}
.recognition-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#d8d1c4;border:1px solid #d8d1c4;margin-bottom:32px}
.recognition-seal{background:#fff;min-height:190px;padding:25px;display:flex;align-items:center;justify-content:center;gap:12px;transition:background .2s}
.recognition-seal img{width:auto;height:auto;max-height:145px;max-width:100%;object-fit:contain}
.recognition-seal:has(img+img){flex-direction:column}
.recognition-seal:has(img+img) img{max-height:85px;max-width:95%}
.recognition-seal:hover{background:#f5f0e6}
.recognition-seal:focus-visible{outline:3px solid #786442!important;outline-offset:-5px!important}
@media(max-width:767px){
 .recognition-hero{min-height:580px;height:auto;padding-block:65px}.recognition-hero h1{font-size:64px}
 .recognition-hero::after{background:linear-gradient(90deg,rgba(25,27,24,.88),rgba(25,27,24,.4))}
 .recognition-opening{padding-top:55px}.recognition-section{padding-block:45px}
 .recognition-pair,.recognition-region-grid,.recognition-meeting{grid-template-columns:1fr;gap:20px}
 .recognition-region-grid .recognition-entry:last-child{grid-column:auto;display:block;margin-top:0}
 .recognition-region-grid .recognition-entry:last-child .recognition-entry-logo{width:180px;min-height:154px}
 .recognition-region-grid .recognition-entry:last-child img{max-height:150px}
 .recognition-meeting>img{min-height:0;height:auto;aspect-ratio:4/3}.recognition-meeting .recognition-entry{padding-top:20px}
 .recognition-landscape{margin-bottom:45px}.recognition-preview{padding-block:60px}
 .recognition-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.recognition-seal{min-height:165px;padding:18px}.recognition-seal img{max-height:120px}
}
@media(prefers-reduced-motion:reduce){.recognition-seal{transition:none}}

/* Chapter 05: one desktop screen, with an open logo composition instead of white cards. */
.award-edition.flair-home .recognition-preview{min-height:calc(100svh - 90px);padding-block:clamp(30px,6vh,70px);display:flex;align-items:center;box-sizing:border-box;scroll-margin-top:90px;background:#2b2b2b}
.recognition-preview-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr);gap:clamp(35px,5vw,90px);align-items:center}
.recognition-summary h2{font-size:clamp(40px,4.5vw,70px);max-width:480px;margin-bottom:24px}
.recognition-summary .fx-kicker{font-size:10px;letter-spacing:.15em}
.recognition-summary .recognition-intro{max-width:420px;margin-bottom:26px}
.recognition-preview .recognition-wall{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px;border:0;background:transparent;margin:0;isolation:isolate}
.recognition-preview .recognition-seal{padding:8px;min-height:0;height:clamp(120px,22vh,190px);background:#2b2b2b;border:0;isolation:isolate}
.recognition-preview .recognition-seal img{max-width:100%;max-height:clamp(100px,19vh,165px);filter:grayscale(1) invert(1) sepia(.5);mix-blend-mode:screen}
.recognition-preview .recognition-seal:has(img+img) img{max-height:68px}
.recognition-preview .recognition-seal:hover{background:#ffffff08}
.recognition-preview .recognition-seal:focus-visible{outline-color:#c8b48a!important}
@media(max-width:900px){
 .recognition-preview-layout{grid-template-columns:1fr;gap:24px}
 .recognition-summary h2{max-width:none;font-size:42px;margin-bottom:16px}
 .recognition-summary .recognition-intro{max-width:640px;margin-bottom:12px}
 .recognition-preview .recognition-wall{gap:18px}
 .recognition-preview .recognition-seal{height:120px}
 .recognition-preview .recognition-seal img{max-height:105px}
}
@media(max-width:520px){
 .award-edition.flair-home .recognition-preview{min-height:0;padding-block:42px}
 .recognition-preview .recognition-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}
 .recognition-summary h2{font-size:38px}.recognition-summary .fx-kicker{line-height:1.8}
}


/* --- award.css --- */
/* Award study: a coherent photographic journey, confined to the comparison theme. */
.award-edition{--award-paper:#f5f0e6;--award-ink:#2b2b2b;--award-accent:#3f4a3c;--award-line:#bfae8d;overflow-x:clip}
.award-edition.flair-karls{--award-paper:#f5f0e6;--award-ink:#2b2b2b;--award-accent:#c8b48a}
.award-edition main{overflow:clip}
.award-edition :is(section,figure){scroll-margin-top:90px}
.award-edition button{font-family:var(--sans)}
.award-edition .fx-header{border-bottom:1px solid #f5f0e628}
.award-edition .fx-desktop-nav a[aria-current=page]{border-bottom:1px solid currentColor}
.award-edition [data-award-slideshow]{position:relative;isolation:isolate}
.award-edition .award-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;pointer-events:none;overflow:hidden}
.award-edition .award-slide.is-active{opacity:1}
.award-edition .award-slide :is(img,picture,video){width:100%;height:100%;object-fit:cover;display:block}
.award-edition .award-slide.is-active img{animation:award-image-drift 8s ease-out both}
.award-edition .award-slide-controls{position:absolute;right:28px;bottom:24px;z-index:8;display:flex;align-items:center;gap:24px;color:#fff;background:#2b2b2bce;padding:7px 12px 7px 20px;max-width:calc(100% - 44px);border:1px solid #fff4;backdrop-filter:blur(12px)}
.award-edition .award-slide-caption{font-size:11px;letter-spacing:.035em;line-height:1.5;max-width:24ch}
.award-edition .award-slide-buttons{display:flex;align-items:center;gap:12px;flex-shrink:0}
.award-edition .award-slide-buttons button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #fff5;background:transparent;color:inherit;cursor:pointer;font-size:21px}
.award-edition .award-slide-buttons button:hover{background:var(--award-paper);color:var(--award-ink)}
.award-edition .award-slide-count{font-size:10px;letter-spacing:.13em;white-space:nowrap;font-variant-numeric:tabular-nums}
.award-edition :is(.award-motion,.award-motion-copy){position:relative;inset:auto;display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;min-width:44px;padding:8px 13px;background:#2b2b2b;color:#f5f0e6;border:1px solid #c8b48a;font-size:10px;letter-spacing:.035em;cursor:pointer;flex-shrink:0}
.award-edition :is(.award-motion,.award-motion-copy)>span:first-child{font-size:15px}
.award-edition .award-motion:not([data-award-motion]){display:none}
.award-edition .award-slide-buttons .award-motion-label{display:none}
.award-edition .karls-hero__copy>.award-motion-copy{margin-top:20px}
.award-edition .award-chapters>div{flex:1;overflow-x:auto;scrollbar-width:none}
.award-edition .award-chapters .award-motion{margin-left:25px}
.award-edition .award-chapters{position:sticky;top:0;z-index:25;background:var(--award-paper);color:var(--award-ink);display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);min-height:76px;border-bottom:1px solid var(--award-line)}
.award-edition .award-chapters-brand{font:23px/1 var(--font-display, "Instrument Serif", Georgia, serif);white-space:nowrap}
.award-edition .award-chapters>div{display:flex;gap:clamp(16px,3vw,48px);margin-left:28px}
.award-edition .award-chapters a{display:flex;align-items:center;min-height:76px;gap:12px;text-decoration:none;font-size:11px;position:relative}
.award-edition .award-chapters a small{font-size:9px;color:#746248}
.award-edition .award-chapters a[aria-current]::after{content:'';height:2px;position:absolute;bottom:0;inset-inline:0;background:var(--award-accent)}
.award-edition .award-chapters-track{position:absolute;bottom:-1px;left:0;width:var(--progress,20%);height:2px;background:var(--award-accent);transition:width .5s ease;opacity:.25}
.award-edition [data-award-depth]{transform:perspective(1400px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s ease;transform-style:preserve-3d}
.award-edition .award-waterfall{position:relative;width:100%;height:100%;overflow:hidden;min-height:330px}
.award-edition .award-waterfall :is(picture,img,canvas){display:block;width:100%;height:100%;object-fit:cover}
.award-edition.flair-home .fh-alb-photo .award-waterfall img,.award-edition .award-waterfall img{object-position:50% 50%}
.award-edition .award-waterfall canvas{position:absolute;inset:0;pointer-events:none}
.award-edition .award-media-note{position:absolute;left:20px;bottom:18px;z-index:3;color:#fff;background:#2b2b2bae;padding:9px 13px;font-size:10px;letter-spacing:.05em;max-width:calc(100% - 40px)}
.award-edition .award-waterfall canvas[hidden]{display:none}
.award-edition .award-waterfall .wf-stage{position:absolute;inset:0;overflow:hidden;isolation:isolate;touch-action:pan-y;background:#3f4a3c}
.award-edition .award-waterfall :is(.wf-image,.wf-canvas){position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;animation:none!important}
.award-edition .award-waterfall .wf-status{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.award-edition .award-kicker-line{display:flex;align-items:center;gap:20px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.award-edition .award-kicker-line::before{content:'';width:55px;height:1px;background:currentColor}
.award-edition .award-scene-label{position:absolute;z-index:4;top:26px;left:28px;display:flex;align-items:center;gap:12px;color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.award-edition .award-scene-label::before{content:'';width:6px;height:6px;background:#f5f0e6;border-radius:50%}
.award-edition .award-film{position:relative;overflow:hidden}
/* The restaurant film is a background on desktop, not a separate content block. */
@media(min-width:761px){.award-edition.flair-home .fh-karls-scene.award-film{position:absolute;inset:0;height:100%;z-index:-2}}
.award-edition .award-film :is(video,img){width:100%;height:100%;object-fit:cover;display:block}
/* Hotel: the warm paper chapter gives the real portraits room and depth. */
.award-edition.flair-home .fh-hero{min-height:min(100svh,1040px)}
.award-edition.flair-home .fh-hero-inner{min-height:880px;padding-top:190px}
.award-edition.flair-home .fh-hero-copy{max-width:750px}
.award-edition.flair-home .fh-hero h1{font-size:clamp(82px,8.4vw,154px);line-height:.91;letter-spacing:-.035em;text-shadow:0 3px 30px #0003}
.award-edition.flair-home .fh-hero-shade{background:linear-gradient(90deg,#10100de6,#10100d65 50%,#10100d15),linear-gradient(0deg,#2b2b2bb8,transparent 40%)}
.award-edition.flair-home .fh-hero-planner{margin-top:34px}
.award-edition.flair-home .fh-hero-detail{margin-top:12px}
.award-edition.flair-home .fh-hero [data-award-controls] .award-slide-controls{top:61%;bottom:auto;right:0}
.award-edition.flair-home .fh-hosts{background:var(--award-paper);color:var(--award-ink);padding-block:120px 140px;position:relative}
.award-edition.flair-home .fh-hosts-layout{grid-template-columns:.8fr 1.2fr;gap:8vw}
.award-edition.flair-home .fh-hosts h2{font-size:clamp(54px,5.9vw,100px);line-height:1}
.award-edition.flair-home .fh-hosts :is(.fh-lead,.fh-body-copy,.fh-host-details,figcaption){color:#544735}
.award-edition.flair-home .fh-host-details{border-color:#baa886}
.award-edition.flair-home .fh-host-portrait{position:relative;padding-bottom:70px}
.award-edition.flair-home .fh-host-portrait>img{box-shadow:22px 26px 0 #ddd3bd}
.award-edition.flair-home .fh-host-portrait>img.award-host-inset{position:absolute;width:40%;height:auto;right:-22px;bottom:-20px;border:9px solid var(--award-paper);box-shadow:0 18px 40px #3224102c;transform:rotate(5deg);aspect-ratio:4/3;object-fit:cover}
.award-edition.flair-home :is(.fh-hosts,.fh-alb) :is(.fh-host-details a,.fh-alb-detail,.fh-chapter-number){color:#3f4a3c}
.award-edition .award-host-stamp{position:absolute;left:-40px;top:-42px;z-index:3;border:1px solid #8a6b43;border-radius:50%;width:116px;height:116px;display:grid;place-content:center;text-align:center;background:var(--award-paper);font:12px/1.8 var(--sans);transform:rotate(-12deg);letter-spacing:.06em}
.award-edition .award-host-stamp strong{font:30px/1 var(--font-display, "Instrument Serif", Georgia, serif)}
.award-edition.flair-home .fh-host-portrait figcaption{justify-content:flex-start}
.award-edition.flair-home .fh-rooms{padding-block:110px;background:#343d32}
.award-edition.flair-home .fh-room-feature{box-shadow:24px 24px 0 #f5f0e60a;min-height:720px}
.award-edition.flair-home .fh-room-small--offset{margin-top:65px;transform:rotate(3deg)}
.award-edition.flair-home .fh-room-small:first-child{transform:rotate(-3deg)}
.award-edition.flair-home .fh-room-small{transition:transform .4s ease}
.award-edition.flair-home .fh-room-small:hover{transform:rotate(0)}
.award-edition.flair-home .fh-alb{padding:0;background:var(--award-paper);color:var(--award-ink)}
.award-edition.flair-home .fh-alb-layout{width:100%;max-width:none;display:grid;grid-template-columns:.8fr 1.2fr;gap:0;align-items:stretch}
.award-edition.flair-home .fh-alb-copy{padding:clamp(70px,7vw,130px) 5vw}
.award-edition.flair-home .fh-alb h2{font-size:clamp(80px,9vw,150px);line-height:.9}
.award-edition.flair-home .fh-alb :is(.fh-lead,.fh-body-copy){color:#544735}
.award-edition.flair-home .fh-alb-photo{min-height:800px;margin:0;position:relative}
.award-edition.flair-home .fh-alb-photo>.award-waterfall{position:absolute;inset:0}
.award-edition.flair-home .fh-alb-photo figcaption{position:absolute;bottom:64px;left:28px;right:28px;z-index:3;display:block;color:#fff;text-shadow:0 1px 8px #000}
.award-edition.flair-home .fh-alb-photo figcaption span{display:none}
.award-edition.flair-home .fh-alb-photo figcaption em{font-size:clamp(29px,3vw,46px)}
.award-edition.flair-home .fh-karls{min-height:800px;padding-block:100px}
.award-edition.flair-home .fh-karls-scene :is(video,img){width:100%;height:100%;object-fit:cover}
.award-edition.flair-home .fh-karls-dish{transform:rotate(-5deg);border:8px solid var(--award-paper);box-shadow:0 25px 65px #0006;margin-left:30px}
.award-edition.flair-home .fh-karls-dish figcaption{background:var(--award-paper);color:var(--award-ink);padding:16px;font:31px/1 var(--font-display, "Instrument Serif", Georgia, serif);position:static}
.award-edition.flair-home .fh-booking{min-height:700px}
/* Karl’s: cinematic hero, tactile cream chapter and a moving wine still. */
.award-edition .karls-hero__dish{overflow:hidden}
.award-edition .karls-hero__dish :is(video,img){width:100%;height:100%;object-fit:cover}
.award-edition .karls-hero__type h1{position:relative;z-index:3}
.award-edition .karls-hero__moments figure{box-shadow:0 24px 40px #0007;transition:transform .6s}
.award-edition .karls-hero__room{transform:rotate(-5deg)}
.award-edition .karls-hero__wine{transform:rotate(5deg)}
.award-edition.flair-karls .award-chapters{background:#f5f0e6;color:#2b2b2b}
.award-edition.flair-karls .award-chapters-brand{font:25px/1 var(--karls-display);text-transform:uppercase}
.award-edition .karls-origin{background:#f5f0e6;color:#2b2b2b}
.award-edition.flair-karls .karls-origin :is(p,h2,.fx-link,.karls-word){color:#2b2b2b}
.award-edition .karls-origin .karls-origin__foot{border-color:#aa9478;color:#3f4a3c}
.award-edition .karls-origin__image{box-shadow:20px 20px 0 #ddd3bd;transform:rotate(-2deg)}
.award-edition .karls-origin__copy .karls-quote{color:#3f4a3c;border-color:#c4ae90}
.award-edition .karls-craft__image{border:10px solid #f5f0e6;box-shadow:0 30px 75px #0006;transform:rotate(2deg)}
.award-edition .karls-craft__image video{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}
.award-edition .karls-room__image{box-shadow:22px 22px 0 #f5f0e60f}
.award-edition .karls-wine__image{overflow:hidden}
.award-edition .karls-wine__image :is(video,img){height:100%;width:100%;object-fit:cover}
.award-edition .karls-table__image{transform:rotate(-3deg);border:8px solid #f5f0e6;box-shadow:0 25px 55px #0004}
.award-edition .fx-subpage-cta{position:relative;isolation:isolate;overflow:hidden}
.award-edition .fx-subpage-cta::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(#2b2b2bae,#2b2b2bdb),url('unterseiten/hotel-1600.webp') center/cover}
.award-edition.flair-karls .fx-subpage-cta::before{background-image:linear-gradient(#2b2b2bae,#2b2b2bdb),url('unterseiten/restaurant-1600.webp')}
.award-edition .fx-footer{position:relative}
.award-edition .fx-footer-bottom{padding-bottom:45px}
@keyframes award-image-drift{from{transform:scale(1.025)}to{transform:scale(1.075)}}
.award-motion-paused .award-slide.is-active img{animation-play-state:paused}
.award-motion-paused [data-award-depth]{transform:none!important}
@media(min-width:1700px){.award-edition.flair-home .fh-hero-inner{min-height:100svh;padding-top:210px}.award-edition.flair-home .fh-hero-planner{margin-top:60px}}
@media(max-width:1100px){.award-edition .award-chapters-brand{display:none}.award-edition .award-chapters>div{margin-left:0;justify-content:space-between;width:100%;gap:20px}.award-edition.flair-home .fh-hero [data-award-controls] .award-slide-controls{top:52%}.award-edition.flair-home .fh-hosts-layout{gap:6vw}.award-edition .award-host-inset{right:0}.award-edition.flair-home .fh-room-feature{min-height:610px}.award-edition .award-host-stamp{left:-16px;top:-40px;width:94px;height:94px}}
@media(max-width:760px){
 .award-edition .award-motion{inset:auto;padding:7px 10px;font-size:9px;min-height:44px;gap:7px}
 .award-edition .award-motion .award-motion-label{display:none}
 .award-edition .award-chapters .award-motion{margin-left:14px}
 .award-edition .award-slide-controls{right:16px;bottom:16px;padding:5px 7px 5px 12px;gap:12px;max-width:calc(100% - 32px)}
 .award-edition .award-slide-caption{font-size:9px;max-width:18ch}.award-edition .award-slide-buttons{gap:8px}.award-edition .award-slide-buttons button{width:42px;height:42px}
 .award-edition .award-chapters{min-height:64px;padding:0 18px;overflow-x:auto;scrollbar-width:none}.award-edition .award-chapters>div{gap:25px;width:max-content}.award-edition .award-chapters a{min-height:64px;gap:7px;white-space:nowrap;font-size:10px}
 .award-edition.flair-home .fh-hero{min-height:0}.award-edition.flair-home .fh-hero-inner{min-height:100svh;padding-top:160px;padding-bottom:25px}
 .award-edition.flair-home .fh-hero h1{font-size:clamp(65px,13vw,98px);line-height:.97;max-width:100%}
 .award-edition.flair-home .fh-hero-intro{font-size:16px;margin:22px 0}
 .award-edition.flair-home .fh-hero [data-award-controls] .award-slide-controls{position:relative;top:auto;right:auto;bottom:auto;max-width:none;margin-top:22px;justify-content:space-between}
 .award-edition.flair-home .fh-hero-planner{margin-top:24px}.award-edition.flair-home .fh-hero .fx-actions{gap:12px 20px}
 .award-edition.flair-home .fh-hosts{padding:80px 0 105px}.award-edition.flair-home .fh-hosts-layout{grid-template-columns:1fr;gap:75px}.award-edition.flair-home .fh-hosts h2{font-size:clamp(50px,11.8vw,72px)}
 .award-edition.flair-home .fh-host-portrait{margin:0 8px;padding-bottom:45px}.award-edition.flair-home .fh-host-portrait>img{box-shadow:12px 15px 0 #ddd3bd}.award-edition.flair-home .fh-host-portrait>img.award-host-inset{right:-10px;width:43%;bottom:-16px;border-width:6px}
 .award-edition.flair-home .fh-rooms{padding:80px 0}.award-edition.flair-home .fh-room-feature{min-height:510px}.award-edition.flair-home .fh-room-small--offset{margin-top:32px}
 .award-edition.flair-home .fh-alb-layout{grid-template-columns:1fr}.award-edition.flair-home .fh-alb-copy{padding:80px var(--gutter) 50px}.award-edition.flair-home .fh-alb h2{font-size:96px}.award-edition.flair-home .fh-alb-photo{min-height:560px}
 .award-edition.flair-home .fh-karls{padding:80px 0}.award-edition.flair-home .fh-karls-dish{margin:45px 6px 0;transform:rotate(-3deg)}
 .award-edition .karls-hero__moments{gap:24px}.award-edition .karls-origin__image{box-shadow:12px 12px 0 #ddd3bd}.award-edition .karls-craft__image{border-width:5px;transform:rotate(1deg)}
 .award-edition .award-media-note{font-size:9px;left:16px;bottom:16px}.award-edition .award-scene-label{left:16px;top:16px;font-size:9px}
}
.award-edition .award-subpage-booking{padding:14px var(--gutter);background:#292e26;color:#f5f0e6}
.award-edition .award-subpage-booking>.fh-stay-bar{max-width:1640px;margin-inline:auto;--ivory:#f5f0e6;--olive-dark:#252d23;--taupe:#a18f68;color:#f5f0e6}
.award-edition .booking-dialog{--paper:#f5f0e6;--ink:#2b2b2b;--olive:#3f4a3c;--olive-dark:#303b2d;--muted:#746c5d;--ivory:#f5f0e6}
@media(prefers-reduced-motion:reduce){.award-edition *{scroll-behavior:auto!important}.award-edition .award-slide{transition:none}.award-edition .award-slide.is-active img{animation:none}.award-edition [data-award-depth]{transform:none!important}}

/* Responsive hardening for the hotel homepage and its picture sources. */
.award-edition.flair-home :is(.fh-hero-media,.fh-hero-media picture,.fh-room-feature-photo,.fh-room-small-photo,.fh-alb-photo,.fh-karls-scene,.fh-booking-scene){min-width:0;max-width:100%;overflow:hidden}
/* The host seal and inset intentionally overlap the portrait's outer edges. */
.award-edition.flair-home .fh-host-portrait{min-width:0;max-width:100%;overflow:visible}
.award-edition.flair-home .award-host-stamp{top:12px}
.award-edition.flair-home :is(.fh-hero-media img,.fh-hero-media picture,.fh-host-portrait img,.fh-room-feature-photo img,.fh-room-small-photo img,.fh-alb-photo img,.fh-karls-scene img,.fh-booking-scene img){max-width:100%}
.award-edition.flair-home .fh-hero .fx-plan-note,.award-edition .fh-stay-bar :is(.fx-plan-note,.fx-plan-result){display:none}
.award-edition.flair-home .fh-room-feature{min-height:clamp(520px,52vw,720px)}
.award-edition.flair-home .fh-alb-photo{min-height:clamp(560px,52vw,800px)}
.award-edition.flair-home .fh-karls{min-height:clamp(560px,52vw,800px)}
.award-edition.flair-home .fh-booking{min-height:clamp(520px,46vw,700px)}
@media(max-width:1100px){
 .award-edition.flair-home .fh-hero h1{font-size:clamp(58px,10vw,112px)}
 .award-edition.flair-home .fh-room-feature{min-height:clamp(500px,60vw,650px)}
 .award-edition.flair-home .fh-alb-photo{min-height:clamp(520px,62vw,700px)}
}
@media(max-width:760px){
 .award-edition.flair-home .fh-hero{min-height:min(760px,100svh)}
 .award-edition.flair-home .fh-hero-inner{min-height:calc(100svh - 24px);padding-top:112px;padding-bottom:24px}
 .award-edition.flair-home .fh-hero-copy{min-width:0;max-width:100%}
 .award-edition.flair-home .fh-hero h1{font-size:clamp(46px,14vw,74px);line-height:.98;max-width:100%;overflow-wrap:anywhere}
 .award-edition.flair-home .fh-hero-intro{max-width:34ch}
 .award-edition.flair-home .fh-hero-planner{width:100%;max-width:100%}
 .award-edition.flair-home .fh-room-feature{min-height:min(510px,130vw)}
 .award-edition.flair-home .fh-alb-photo{min-height:min(560px,130vw)}
 .award-edition.flair-home .fh-karls{min-height:min(560px,130vw)}
 .award-edition.flair-home .fh-booking{min-height:min(560px,130vw)}
}
@media(max-width:600px){
 .award-edition.flair-home .fx-header{padding:8px 12px;gap:6px;overflow:hidden}
 .award-edition.flair-home .fx-brand{min-width:0;flex:1 1 auto;overflow:hidden}
 .award-edition.flair-home .award-original-logo{width:clamp(78px,42vw,150px);height:auto;max-width:100%}
 .award-edition.flair-home .fx-header-actions{min-width:0;gap:2px}
 .award-edition.flair-home .fx-header-actions .fx-language-toggle,.award-edition.flair-home .fx-header-actions .search-toggle{display:none}
 .award-edition.flair-home .fx-menu-toggle{flex:0 0 auto;margin-right:0}
 .award-edition.flair-home .award-slide-controls{max-width:100%;overflow:hidden}
 .award-edition.flair-home .award-slide-caption{min-width:0;overflow-wrap:anywhere}
 .award-edition.flair-home .fh-room-feature-caption{max-width:calc(100% - 44px);overflow:hidden}
 .award-edition.flair-home .fh-room-feature-caption strong{overflow-wrap:anywhere}
}

/* Direct-booking benefits share the existing hotel palette and typography. */
.award-edition .fh-stay-benefits{display:flex;justify-content:center;align-items:center;gap:0;list-style:none;margin:0;padding:15px 0;border-top:1px solid #f5f0e62e;color:#f5f0e6;background:linear-gradient(90deg,transparent,#22261d40,transparent)}
.award-edition .fh-stay-benefits li{display:flex;align-items:center;gap:12px;padding:0 clamp(12px,2vw,32px);font:400 12px/1.5 var(--sans)}
.award-edition .fh-stay-benefits li+li{border-left:1px solid #f5f0e652}
.award-edition .fh-stay-benefits svg,.award-edition .fh-stay-personal>svg{width:25px;height:25px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.award-edition .fh-stay-bar{display:grid;grid-template-columns:minmax(0,1fr) 260px;border:1px solid var(--taupe);background:#252a21b8;backdrop-filter:blur(8px)}
.award-edition .fh-stay-bar .fx-planner{min-width:0;border:0;background:transparent;color:var(--ivory)}
.award-edition .fh-stay-personal{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--taupe);color:var(--olive-dark);text-decoration:none}
.award-edition .fh-stay-personal strong{display:block;font:400 25px/1.05 var(--font-display, "Instrument Serif", Georgia, serif)}
.award-edition .fh-stay-personal small{display:block;margin-top:7px;font:400 11px/1.5 var(--sans)}
.award-edition .fh-stay-personal>.icon{width:18px}
.award-edition .fh-stay-personal:hover{background:var(--ivory)}
@media(max-width:1250px){.award-edition .fh-stay-bar{grid-template-columns:minmax(0,1fr)}.award-edition .fh-stay-personal{justify-content:center;padding:12px 18px}.award-edition .fh-stay-personal strong{font-size:23px}.award-edition .fh-stay-personal small{margin-top:3px}}
@media(max-width:760px){.award-edition .fh-stay-benefits{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;padding:20px 0}.award-edition .fh-stay-benefits li{padding:0;font-size:11px;gap:8px}.award-edition .fh-stay-benefits li+li{border:0}.award-edition .fh-stay-benefits svg{width:20px;height:20px}}
/* Keep the complete desktop entrance scene in the first viewport. */
@media(min-width:1101px){
 .award-edition.flair-home .fh-hero{height:100svh;min-height:820px;max-height:none;overflow:hidden}
 .award-edition.flair-home .fh-hero-inner{height:100%;min-height:0;padding-top:clamp(116px,15vh,170px);padding-bottom:24px}
 .award-edition.flair-home .fh-hero-copy{max-width:min(860px,62vw)}
 .award-edition.flair-home .fh-hero h1{font-size:clamp(72px,6.5vw,124px);line-height:.88;max-width:860px}
 .award-edition.flair-home .fh-hero-intro{font-size:clamp(16px,1.25vw,21px);line-height:1.35;margin:16px 0 12px}
 .award-edition.flair-home .fh-hero-detail{margin-top:8px}
 .award-edition.flair-home .fh-hero-planner{position:absolute;left:0;right:0;bottom:32px;margin-top:0}
 .award-edition.flair-home .fh-hero .fx-planner{padding:10px 18px}
 .award-edition.flair-home .fh-hero .fx-planner-fields{gap:16px}
 .award-edition.flair-home .fh-hero .fx-field{padding-right:16px}
 .award-edition.flair-home .fh-hero .fx-field>span:first-child{font-size:10px;line-height:1.2;margin-bottom:0}
 .award-edition.flair-home .fh-hero .fx-field :is(input,select){min-height:34px;padding:3px 2px;font-size:12px}
 .award-edition.flair-home .fh-hero .fx-date-hint{top:5px;font-size:12px}
 .award-edition.flair-home .fh-hero .fx-button{min-height:40px;padding:9px 18px;font-size:11px}
 .award-edition.flair-home .fh-hero .fx-plan-note,.award-edition.flair-home .fh-hero .fx-plan-result,.award-edition.flair-home .fh-scroll-link{display:none}
}

/* Homepage refinement: right-hand image navigation and integrated booking rail. */
.award-edition.flair-home .fh-hero .fh-hero-rail{display:none}
.award-edition.flair-home .fh-hero [data-award-controls] .award-slide-controls{position:absolute;inset:150px 0 auto auto;display:block;width:48px;max-width:none;margin:0;padding:0;background:none;border:0;overflow:visible}
.award-edition.flair-home .fh-hero .award-slide-buttons{display:flex;flex-direction:column;gap:10px;background:none;border:0}
.award-edition.flair-home .fh-hero .award-slide-buttons::before{content:"";width:1px;height:48px;background:#f5f0e69c;margin-bottom:8px}
.award-edition.flair-home .fh-hero .award-slide-count{order:-1;white-space:nowrap;padding:0 0 8px;font:11px var(--sans);letter-spacing:.1em}
.award-edition.flair-home .fh-hero .award-slide-buttons::before{order:-2}
.award-edition.flair-home .fh-hero .award-slide-buttons button{width:40px;height:40px;min-width:40px;background:transparent;color:var(--ivory);border:1px solid #f5f0e6a8}
.award-edition.flair-home .fh-hero .award-slide-buttons button:hover{background:var(--ivory);color:var(--olive-dark)}
.award-edition.flair-home .fh-image-signature{position:absolute;right:0;bottom:220px;width:170px;text-align:center;white-space:normal;font:italic 36px/1.05 var(--font-display, "Instrument Serif", Georgia, serif);color:var(--taupe);text-wrap:balance}
.award-edition.flair-home .fh-image-signature::after{content:"NATUR · GENUSS · MENSCHEN";display:block;margin:18px auto 0;padding-top:14px;border-top:1px solid #f5f0e67a;width:140px;color:var(--ivory);font:9px/1.8 var(--sans);letter-spacing:.16em}
.award-edition.flair-home .fh-hero-detail{gap:24px}
.award-edition.flair-home .fh-hero-detail a{gap:15px;font-size:13px;color:var(--ivory)}
.award-edition.flair-home .fh-hero .award-slide:first-child video{animation:none}
.award-edition.flair-home .fh-hero-detail svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.award-edition.flair-home .fh-service-divider{height:32px;width:1px;background:#f5f0e6a0}
.award-edition.flair-home .fh-hero .fx-actions>.fx-link{padding:14px 24px;border:1px solid #f5f0e69c;text-decoration:none}
.award-edition .fh-stay-bar{grid-template-columns:minmax(0,1fr) 260px}
.award-edition .fh-stay-bar .fx-planner{padding:20px}
.award-edition .fh-stay-bar .fx-planner-fields{grid-template-columns:1fr 1fr 1fr 1.05fr;gap:14px}
.award-edition .fh-stay-bar .fx-field{min-width:0;border:1px solid #c8b48a55;padding:8px 12px;min-height:66px}
.award-edition .fh-stay-bar .fx-field :is(input,select){width:100%;color:var(--ivory);font-size:14px}
.award-edition .fh-stay-bar .fx-button{background:var(--taupe);color:var(--olive-dark);border:1px solid var(--taupe);min-height:66px;padding:12px 16px}
.award-edition .fh-stay-personal{border-left:1px solid var(--taupe);justify-content:flex-start}
@media(min-width:1101px){.award-edition.flair-home .fh-hero-inner{padding-top:max(clamp(120px,14vh,155px),calc(var(--award-header-height,128px) + 28px))}.award-edition.flair-home .fh-hero h1{font-size:clamp(72px,6.3vw,118px)}}
@media(min-width:761px) and (max-width:1100px){.award-edition .fh-stay-bar{grid-template-columns:minmax(0,1fr) 200px}.award-edition .fh-stay-bar .fx-planner-fields{grid-template-columns:1fr 1fr}.award-edition.flair-home .fh-image-signature{bottom:330px}.award-edition.flair-home .fh-hero-copy{max-width:80%}}
@media(max-width:760px){.award-edition.flair-home .fh-hero [data-award-controls] .award-slide-controls{top:135px;right:4px;width:40px}.award-edition.flair-home .fh-image-signature{position:relative;right:auto;bottom:auto;width:auto;text-align:left;margin:26px 0 0;padding-right:0;font-size:29px}.award-edition.flair-home .fh-image-signature::after{width:auto;border:0;text-align:left;margin:8px 0 0;padding:0}.award-edition .fh-stay-bar{grid-template-columns:1fr}.award-edition .fh-stay-bar .fx-planner-fields{grid-template-columns:1fr 1fr}.award-edition .fh-stay-bar .fx-field:nth-child(3),.award-edition .fh-stay-bar .fx-button{grid-column:span 2}.award-edition .fh-stay-personal{border-left:0;padding:18px}.award-edition.flair-home .fh-hero-detail{gap:14px}.award-edition.flair-home .fh-hero-detail a{gap:8px;font-size:11px}}

/* Compact stay planner: one calm row, with no oversized promotional panel. */
.award-edition .fh-stay-bar{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;background:rgba(29,35,28,.87);border:1px solid #c8b48a66;box-shadow:0 8px 28px #0002}
.award-edition .fh-stay-bar .fx-planner{padding:8px 18px;margin:0}
.award-edition .fh-stay-bar .fx-planner-fields{grid-template-columns:1fr 1fr .85fr auto;gap:18px}
.award-edition .fh-stay-bar .fx-field{min-height:36px;margin:0;padding:0 18px 0 0;border:0;border-right:1px solid #f5f0e633;display:flex;flex-direction:row;align-items:center;gap:12px}
.award-edition .fh-stay-bar .fx-field>span:first-child{font-size:11px;line-height:16px;color:#f5f0e6a6;white-space:nowrap;flex:none}
.award-edition .fh-stay-bar .fx-date-wrap{flex:1;min-width:0}
.award-edition .fh-stay-bar .fx-field select{flex:1;min-width:0}
.award-edition .fh-stay-bar .fx-field:focus-within{outline:none;box-shadow:none}
.award-edition .fh-stay-bar .fx-field :is(input,select):focus{outline:none;box-shadow:none}
.award-edition .fh-stay-bar .fx-field :is(input,select):focus-visible{outline:1px solid var(--taupe);outline-offset:3px}
.award-edition .fh-stay-bar .fx-field :is(input,select){height:30px;min-height:30px;padding:3px 0;font-size:14px;line-height:24px;background:transparent;border:0}
.award-edition .fh-stay-bar .fx-date-hint{display:block;top:3px;line-height:24px;font-size:14px;color:var(--ivory);padding-right:32px;white-space:nowrap}
.award-edition .fh-stay-bar .fx-date-wrap input{color:transparent;color-scheme:dark;cursor:pointer}
.award-edition .fh-stay-bar .fx-date-wrap input::-webkit-datetime-edit{opacity:0}
.award-edition .fh-stay-bar .fx-date-wrap input::-webkit-calendar-picker-indicator{width:22px;height:22px;padding:2px;opacity:1}
.award-edition .fh-stay-bar .fx-field:has(input[type="date"]){cursor:pointer}
.award-edition .fh-stay-offers{display:flex;align-items:center;justify-content:center;gap:16px;min-height:44px;padding:10px 20px;border:1px solid var(--taupe);color:var(--ivory);font:12px/1.4 var(--sans);text-decoration:none;white-space:nowrap}
.award-edition .fh-stay-offers:hover{background:var(--taupe);color:var(--olive-dark)}
.award-edition .fh-stay-offers .icon{width:20px;height:20px}
.award-edition .fh-stay-bar .fx-button{min-height:44px;padding:10px 22px;font-size:12px;gap:20px}
.award-edition .fh-stay-personal{background:transparent;border-left:1px solid #f5f0e633;color:var(--ivory);padding:0 20px;min-height:34px;gap:10px;font:11px/1.4 var(--sans)}
.award-edition .fh-stay-personal>svg:first-child{display:none}
.award-edition .fh-stay-personal:hover{color:var(--taupe)}
.award-edition .fh-stay-benefits{padding:10px 0;margin:0 0 6px;border:0;background:none}
.award-edition .fh-stay-benefits li{font-size:11px;gap:9px}
.award-edition .fh-stay-benefits svg{width:19px;height:19px}
@media(min-width:1101px){.award-edition.flair-home .fh-hero .fh-hero-planner{bottom:24px}.award-edition.flair-home .fh-hero .fh-image-signature{bottom:190px}}
@media(max-width:1100px){.award-edition .fh-stay-bar{grid-template-columns:1fr 1fr}.award-edition .fh-stay-bar .fx-planner{grid-column:1 / -1}.award-edition .fh-stay-offers{margin:0 14px 14px}.award-edition .fh-stay-personal{justify-content:center;border:0;padding:8px;min-height:44px;margin-bottom:14px}}
@media(max-width:760px){.award-edition .fh-stay-bar .fx-planner{padding:14px}.award-edition .fh-stay-bar .fx-planner-fields{grid-template-columns:1fr 1fr;gap:14px}.award-edition .fh-stay-bar .fx-field{padding:0 10px 0 0}.award-edition .fh-stay-bar .fx-field:nth-child(2){border:0}.award-edition .fh-stay-bar .fx-field:nth-child(3),.award-edition .fh-stay-bar .fx-button{grid-column:auto}.award-edition .fh-stay-bar .fx-button{padding:10px;font-size:11px;gap:8px}}

/* Hero image title and carousel controls belong to one shared picture module. */
.award-edition.flair-home .fh-image-signature{position:absolute;right:0;bottom:230px;width:184px;text-align:center;color:var(--taupe)}
.award-edition.flair-home .fh-image-signature__title{display:block;font:italic 35px/1.04 var(--font-display, "Instrument Serif", Georgia, serif);text-wrap:balance}
.award-edition.flair-home .fh-image-signature .award-slide-controls{position:static;display:block;width:auto;margin:16px 0 0;padding:0;background:none;border:0;overflow:visible}
.award-edition.flair-home .fh-image-signature .award-slide-buttons{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:10px;background:none;border:0}
.award-edition.flair-home .fh-image-signature .award-slide-buttons::before{display:none}
.award-edition.flair-home .fh-image-signature .award-slide-count{order:0;padding:0;white-space:nowrap;font:10px var(--sans);letter-spacing:.12em;color:var(--ivory)}
.award-edition.flair-home .fh-image-signature .award-slide-buttons button{width:38px;height:38px;min-width:38px;background:transparent;color:var(--ivory);border:1px solid #f5f0e69c}
.award-edition.flair-home .fh-image-signature::after{content:"NATUR · GENUSS · MENSCHEN";display:block;margin:15px auto 0;padding-top:14px;border-top:1px solid #f5f0e67a;width:140px;color:var(--ivory);font:9px/1.8 var(--sans);letter-spacing:.16em}
@media(min-width:1101px){.award-edition.flair-home .fh-hero .fh-image-signature{bottom:205px}}
@media(max-width:760px){.award-edition.flair-home .fh-image-signature{position:relative;right:auto;bottom:auto;width:auto;text-align:left;margin:26px 0 0;padding-right:0}.award-edition.flair-home .fh-image-signature__title{font-size:29px}.award-edition.flair-home .fh-image-signature .award-slide-controls{margin-top:12px;width:128px}.award-edition.flair-home .fh-image-signature::after{width:auto;text-align:left;margin:8px 0 0;padding-top:8px}}

/* One aligned translucent panel keeps the image title, count and signature together. */
.award-edition.flair-home .fh-image-signature{width:220px;padding:18px 18px 15px;background:rgba(28,35,28,.48);border:1px solid rgba(245,240,230,.22);backdrop-filter:blur(10px);box-sizing:border-box}
.award-edition.flair-home .fh-image-signature__title{min-height:3.12em;height:auto;white-space:pre-line;overflow:visible}
.award-edition.flair-home .fh-image-signature .award-slide-controls{width:100%;margin-top:14px}
.award-edition.flair-home .fh-image-signature .award-slide-buttons{width:100%;grid-template-columns:40px 1fr 40px;gap:8px}
.award-edition.flair-home .fh-image-signature .award-slide-buttons button{width:40px;height:40px;min-width:40px;background:rgba(245,240,230,.08)}
.award-edition.flair-home .fh-image-signature::after{width:100%;box-sizing:border-box;margin-top:14px}
@media(max-width:760px){.award-edition.flair-home .fh-image-signature{width:220px;padding:16px;text-align:center}.award-edition.flair-home .fh-image-signature .award-slide-controls{width:100%}.award-edition.flair-home .fh-image-signature::after{text-align:center}}

/* The image number shares the exact visual centre of title and rule. */
.award-edition.flair-home .fh-image-signature .award-slide-controls{position:static;inset:auto;width:100%;max-width:none;transform:none;box-sizing:border-box;backdrop-filter:none}
.award-edition.flair-home .fh-image-signature .award-slide-buttons{position:static;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;width:100%;margin:0;gap:8px;align-items:center}
.award-edition.flair-home .fh-image-signature .award-slide-count{position:static;inset:auto;transform:none;width:auto;min-width:0;text-align:center}

/* Homepage mockup: an intentionally quiet, scroll-triggered service rail. */
.award-quick-actions{position:fixed;z-index:85;right:24px;top:50%;display:flex;flex-direction:column;width:54px;transform:translate(22px,-50%);opacity:0;pointer-events:none;transition:opacity .35s ease,transform .45s cubic-bezier(.16,1,.3,1)}
.award-quick-actions.is-visible{transform:translate(0,-50%);opacity:1;pointer-events:auto}
.award-quick-actions__item{position:relative;display:grid;place-items:center;width:54px;height:54px;margin-top:-1px;background:rgba(28,35,28,.94);border:1px solid rgba(245,240,230,.32);color:var(--ivory);text-decoration:none;backdrop-filter:blur(12px);transition:background .2s ease,color .2s ease,width .25s ease}
.award-quick-actions__item--booking{height:62px;background:var(--taupe);color:var(--olive-dark);border-color:var(--taupe)}
.award-quick-actions__item--top{margin-top:9px;background:rgba(28,35,28,.78);border-color:rgba(245,240,230,.18)}
.award-quick-actions__icon{display:grid;place-items:center;width:24px;height:24px}.award-quick-actions__icon .icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.award-quick-actions__label{position:absolute;right:calc(100% + 12px);display:block;white-space:nowrap;padding:10px 13px;background:var(--olive-dark);color:var(--ivory);font:10px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;opacity:0;transform:translateX(5px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;box-shadow:0 8px 24px #0003}
.award-quick-actions__item:hover,.award-quick-actions__item:focus-visible{background:var(--ivory);color:var(--olive-dark);outline:0}.award-quick-actions__item--booking:hover,.award-quick-actions__item--booking:focus-visible{background:var(--olive-dark);color:var(--ivory)}.award-quick-actions__item:hover .award-quick-actions__label,.award-quick-actions__item:focus-visible .award-quick-actions__label{opacity:1;transform:translateX(0)}
@media(max-width:900px){.award-quick-actions{right:14px;width:48px}.award-quick-actions__item{width:48px;height:48px}.award-quick-actions__item--booking{height:54px}}@media(max-width:760px){.award-quick-actions{display:none}}
/* Desktop chapters occupy one reading viewport; content can still grow under zoom. */
@media(min-width:1101px) and (hover:hover) and (pointer:fine){
 .award-edition.flair-home :is(.fh-hosts,.fh-rooms,.fh-alb,.fh-karls,.fh-booking){min-height:calc(100svh - 90px);box-sizing:border-box}
 .award-edition.flair-home :is(.fh-hosts,.fh-rooms){padding-block:clamp(24px,4vh,48px)}
 .award-edition.flair-home :is(.fh-hosts,.fh-rooms,.fh-alb,.fh-karls) h2{font-size:clamp(44px,7.3vh,78px);line-height:.98}
 .award-edition.flair-home :is(.fh-hosts,.fh-rooms,.fh-alb,.fh-karls) .fh-lead{font-size:clamp(17px,2.5vh,25px);margin-block:20px}
 .award-edition.flair-home :is(.fh-hosts,.fh-alb) .fh-body-copy{font-size:15px;line-height:1.6}
 .award-edition.flair-home .fh-host-portrait{padding-bottom:32px}
 .award-edition.flair-home .fh-host-portrait>img:not(.award-host-inset){max-height:57vh}
 .award-edition.flair-home .fh-host-details{margin-top:16px;padding-top:12px}
 .award-edition.flair-home .fh-room-feature{min-height:54vh}
 .award-edition.flair-home .fh-rooms-layout{row-gap:20px}
 .award-edition.flair-home .fh-room-small-photo{height:22vh;aspect-ratio:auto}
 .award-edition.flair-home .fh-room-small--offset{margin-top:22px}
 .award-edition.flair-home .fh-offer-note{margin-top:28px;padding-top:16px}
 .award-edition.flair-home .fh-offer-note h3{font-size:28px}
 .award-edition.flair-home .fh-alb-copy{padding:clamp(24px,4vh,48px) 5vw}
 .award-edition.flair-home .fh-alb-photo{min-height:calc(100svh - 90px)}
 .award-edition.flair-home .fh-karls{padding:0}
 .award-edition.flair-home .fh-karls-layout{min-height:calc(100svh - 90px);padding-block:clamp(24px,5vh,54px)}
 .award-edition.flair-home .fh-karls-dish{width:37%;bottom:40px}
 .award-edition.flair-home .fh-karls-dish figcaption{font-size:25px}
 .award-edition.flair-home .fh-booking-inner{padding-top:clamp(30px,7vh,76px);padding-bottom:30px}
 .award-edition.flair-home .fh-booking h2{font-size:clamp(65px,12vh,116px)}
 .award-edition.flair-home .fh-booking-copy{margin-bottom:24px}
}
/* Subpage booking belongs inside the entrance image, never above it. */
.award-edition :is(.award-page-hero,.contact-hero,.karls-hero)>.award-subpage-booking{position:absolute;bottom:24px;left:0;right:0;z-index:6;padding:0 var(--gutter);background:transparent}
.award-edition .award-page .award-page-hero:not(.award-page-hero--quiet) .award-page-hero-inner{padding-bottom:calc(var(--subpage-bar-height,64px) + 54px)}
.award-edition .award-page .award-page-hero .award-page-media-controls{bottom:calc(var(--subpage-bar-height,64px) + 52px)}
.award-edition .award-page-hero--quiet>.award-subpage-booking{position:relative;bottom:auto;padding-bottom:24px}
.award-edition .contact-hero__inner{padding-bottom:calc(var(--subpage-bar-height,64px) + 72px)}
.award-edition .karls-hero{padding-bottom:calc(var(--subpage-bar-height,64px) + 54px)}
.award-edition .karls-hero__scroll,.award-edition .karls-hero__place{display:none}
.award-edition .award-quick-actions{--ivory:#f5f0e6;--olive-dark:#252d23;--taupe:#a18f68}
/* Two-tone focus stays visible on photographs and both CI surface colours. */
.award-edition :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #fff!important;outline-offset:3px;box-shadow:0 0 0 6px #252d23!important}
.award-edition .award-page--legal .award-subpage-booking{display:none}
.award-edition .award-page--legal .prose{overflow-wrap:anywhere}
.award-edition :is(button,summary,a,input,select){scroll-margin-block:140px 100px}
.award-edition .skip-link:focus{z-index:10000}
@media(max-width:480px){
 .award-edition:is(.flair-hotel,.flair-karls) .fx-header{gap:8px;padding-inline:12px;flex-wrap:wrap;height:auto;min-height:72px}
 .award-edition:is(.flair-hotel,.flair-karls) .fx-brand{min-width:0;max-width:100%;flex:1 1 120px}
 .award-edition:is(.flair-hotel,.flair-karls) .fx-brand img{max-width:100%;height:auto;object-fit:contain}
 .award-edition:is(.flair-hotel,.flair-karls) .fx-header-actions{flex-wrap:wrap;max-width:100%;gap:8px}
 .award-edition .fx-menu-toggle{min-height:44px}
}
@media(max-width:1100px){
 .award-edition :is(.award-page-hero,.contact-hero,.karls-hero)>.award-subpage-booking{position:relative;inset:auto;grid-column:1 / -1;width:100%;padding-block:18px}
 .award-edition .award-page .award-page-hero .award-page-media-controls{position:relative;inset:auto}
 .award-edition .award-page .award-page-hero:not(.award-page-hero--quiet) .award-page-hero-inner{padding-bottom:24px}
}
/* Stacked labels leave room for both translated date hints and native controls. */
@media(max-width:1000px){.award-edition.flair-karls .fx-header .fx-header-cta{display:none}}
.award-edition .fh-stay-bar .fx-date-wrap:is(.has-value,:focus-within) .fx-date-hint{display:block}
@media(max-width:1100px){
 .award-edition .fh-stay-bar .fx-planner-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .award-edition .fh-stay-bar .fx-field{flex-direction:column;align-items:stretch;gap:4px;min-width:0}
 .award-edition .fh-stay-bar .fx-date-wrap{width:100%;flex:auto}
 .award-edition .fh-stay-bar .fx-field :is(input,select){min-height:44px;height:44px}
 .award-edition .fh-stay-bar .fx-date-hint{top:10px;font-size:13px}
}
@media(max-width:480px){
 .award-edition .fh-stay-bar{grid-template-columns:minmax(0,1fr)}
 .award-edition .fh-stay-bar .fx-planner-fields{grid-template-columns:minmax(0,1fr)}
 .award-edition .fh-stay-bar .fx-field{padding:0;border-right:0;border-bottom:1px solid #f5f0e633}
 .award-edition .fh-stay-bar .fx-field:nth-child(2){border-bottom:1px solid #f5f0e633}
 .award-edition .fh-stay-personal{margin-top:0}
 .award-edition .fx-plan-result{flex-direction:column;align-items:flex-start}
}
html[lang^="en"] .award-edition .fh-image-signature::after,
html[lang^="en"] .award-edition.flair-home .fh-image-signature::after,
html[lang^="en"] .award-edition .award-page-media-controls .fh-image-signature::after { content: "NATURE · FOOD · PEOPLE"; }


/* --- award-footer.css --- */
/* Original house logo and a compact page ending; scoped to this comparison copy. */
.award-edition.flair-hotel{--header-height:128px}
.award-edition.flair-hotel .fx-header{background:#2b2b2b;padding-block:12px}
.award-edition.flair-hotel .fx-brand img.award-original-logo{display:block;width:236px;height:auto;max-height:104px;object-fit:contain;filter:none}
.award-edition .fx-footer.award-site-footer{background:#2b2b2b;color:#f5f0e6;padding:44px 0 14px;border-top:1px solid #f5f0e629}
.award-edition .award-footer-main{display:grid;grid-template-columns:minmax(240px,.95fr) minmax(0,2fr);gap:clamp(40px,7vw,110px);padding-bottom:30px}
.award-edition .award-footer-contact{min-width:0}
.award-edition .award-footer-brand{display:block;text-decoration:none;width:228px;max-width:100%;margin:0 0 20px;color:inherit}
.award-edition .award-footer-brand img{width:100%;height:auto;display:block;filter:none}
.award-edition.flair-karls .award-footer-brand{width:min(300px,100%)}
.award-edition.flair-karls .award-footer-brand img.karls-footer-logo{width:100%;height:auto;display:block}
.award-edition .award-footer-brand>span{font:500 44px/1 var(--karls-display);letter-spacing:-.04em}
.award-edition .award-footer-brand>small{display:block;margin-top:8px;font:10px/1.5 var(--sans);letter-spacing:.13em;text-transform:uppercase}
.award-edition .award-footer-contact address{font:normal 12px/1.8 var(--sans);color:#f5f0e6bd;margin:0 0 12px}
.award-edition .award-footer-direct{display:flex;flex-direction:column;align-items:flex-start}
.award-edition .award-footer-direct a{display:flex;align-items:center;min-height:32px;color:#f5f0e6;text-decoration:none;font:12px/1.5 var(--sans);overflow-wrap:anywhere;max-width:100%}
.award-edition .award-footer-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,45px);padding-top:9px}
.award-edition .award-footer-group{min-width:0;border:0;margin:0;padding:0;background:none}
.award-edition .award-footer-group summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:default;margin:0 0 14px;padding:0;min-height:24px;font:600 10px/1.5 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:#c8b48a}
.award-edition .award-footer-group summary::-webkit-details-marker{display:none}
.award-edition .award-footer-toggle{display:none}
.award-edition .award-footer-group nav{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.award-edition .award-footer-group nav a{display:flex;align-items:center;min-height:36px;font:12px/1.55 var(--sans);color:#f5f0e6d9;text-decoration:none;padding:5px 0;overflow-wrap:anywhere;max-width:100%}
.award-edition .award-site-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
.award-edition .award-site-footer .award-footer-brand:hover{text-decoration:none}
.award-edition .award-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #f5f0e629;padding-top:10px;font:10px/1.6 var(--sans);color:#f5f0e69e}
.award-edition .award-footer-bottom p{margin:0}
.award-edition .award-footer-bottom nav{display:flex;flex-wrap:wrap;gap:4px 22px}
.award-edition .award-footer-bottom a{display:flex;align-items:center;min-height:36px;color:inherit;text-decoration:none}
.award-edition .fx-subpage-cta.award-footer-invitation{padding:38px 0;background:#3f4a3c;color:#f5f0e6;text-align:left}
.award-edition .award-footer-invitation>.fx-wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}
.award-edition .award-footer-invitation .fx-kicker{margin:0 0 8px;font-size:9px;letter-spacing:.16em}
.award-edition .award-footer-invitation h2{margin:0;font:400 clamp(29px,3.3vw,45px)/1.1 var(--font-display, "Instrument Serif", Georgia, serif);letter-spacing:-.025em}
.award-edition.flair-karls .award-footer-invitation h2{font-family:var(--karls-display);font-size:clamp(27px,3vw,38px)}
.award-edition .award-footer-invitation .fx-button{flex:0 0 auto;background:#f5f0e6;color:#2b2b2b}
.award-edition .award-footer-invitation .fx-note{margin:9px 0 0;font-size:11px;color:#f5f0e6ba}
@media(max-width:1100px){
 .award-edition .award-footer-main{grid-template-columns:230px minmax(0,1fr);gap:35px}
 .award-edition .award-footer-groups{gap:20px}
 .award-edition .award-footer-group summary{letter-spacing:.055em;font-size:9px}
 .award-edition .award-footer-bottom{align-items:flex-start;flex-direction:column;gap:3px}
}
@media(max-width:760px){
 .award-edition.flair-hotel{--header-height:100px}
 .award-edition.flair-hotel .fx-header{padding-block:10px;gap:14px}
 .award-edition.flair-hotel .fx-brand img.award-original-logo{width:184px;max-height:80px}
 .award-edition .fx-footer.award-site-footer{padding:28px 0 90px}
 .award-edition .award-footer-main{display:block;padding-bottom:17px}
 .award-edition .award-footer-contact{display:grid;grid-template-columns:1.05fr 1fr;gap:12px 20px;padding-bottom:20px;align-items:center}
 .award-edition .award-footer-brand{width:164px;margin:0}
 .award-edition .award-footer-brand>span{font-size:37px}
 .award-edition .award-footer-contact address{font-size:11px;margin:0}
 .award-edition .award-footer-direct{grid-column:1/-1;gap:0;align-items:flex-start}
 .award-edition .award-footer-direct a{min-height:36px;font-size:12px}
 .award-edition .award-footer-groups{display:block;padding:0;border-top:1px solid #f5f0e629}
 .award-edition .award-footer-group{border-bottom:1px solid #f5f0e629}
 .award-edition .award-footer-group summary{min-height:50px;margin:0;font-size:10px;cursor:pointer;letter-spacing:.08em;color:#f5f0e6}
 .award-edition .award-footer-toggle{display:block;font:22px/1 var(--sans);font-weight:300;color:#c8b48a;transition:transform .2s}
 .award-edition .award-footer-group[open] .award-footer-toggle{transform:rotate(45deg)}
 .award-edition .award-footer-group nav{padding:0 0 12px}
 .award-edition .award-footer-group nav a{min-height:44px}
 .award-edition .award-footer-bottom{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:12px;padding-top:0;font-size:10px}
 .award-edition .award-footer-bottom nav{gap:0 19px}
 .award-edition .award-footer-bottom a{min-height:36px}
 .award-edition .fx-subpage-cta.award-footer-invitation{padding:28px 0}
 .award-edition .award-footer-invitation>.fx-wrap{align-items:flex-start;flex-direction:column;gap:20px}
 .award-edition .award-footer-invitation h2{font-size:34px}
}
@media(prefers-reduced-motion:reduce){.award-edition .award-footer-toggle{transition:none}}



/* ==========================================================================
   Elementor Native Container & Widget Styling Bridge
   Ensures 100% visual parity with Steilbergauf mockup when using Elementor
   ========================================================================== */

/* Headings inside sections */
.elementor-widget-heading .elementor-heading-title {
  margin: 0;
  padding: 0;
  line-height: inherit;
  letter-spacing: inherit;
}
.fh-hosts .elementor-widget-heading .elementor-heading-title,
.fh-rooms .elementor-widget-heading .elementor-heading-title,
.fh-alb .elementor-widget-heading .elementor-heading-title,
.fh-karls .elementor-widget-heading .elementor-heading-title,
.recognition-preview .elementor-widget-heading .elementor-heading-title,
.fh-booking .elementor-widget-heading .elementor-heading-title {
  font-family: var(--font-display, "Instrument Serif", Georgia, serif);
  font-weight: 400;
  letter-spacing: -0.025em;
  color: inherit;
}
.flair-home .fx-kicker .elementor-heading-title,
.flair-home .fx-kicker {
  font-family: var(--ui, 'Manrope', sans-serif) !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
}

/* Text editor widgets */
.elementor-widget-text-editor {
  color: inherit;
  font-family: var(--ui, 'Manrope', sans-serif);
}
.elementor-widget-text-editor p {
  margin-bottom: 1.2em;
}

/* Button widgets */
.elementor-widget-button .elementor-button {
  font-family: var(--ui, 'Manrope', sans-serif);
  font-size: 14px;
  font-weight: 500;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}
.elementor-widget-button.fx-link .elementor-button,
.elementor-widget-button.fh-alb-detail .elementor-button {
  background: transparent !important;
  padding: 0 !important;
  color: inherit !important;
  border-radius: 0 !important;
  border-bottom: 1px solid currentColor !important;
}
.elementor-widget-button.fx-link .elementor-button:hover,
.elementor-widget-button.fh-alb-detail .elementor-button:hover {
  background: transparent !important;
  color: #c8b48a !important;
}
/* Red button removed - Flair Hotel brand colors */
.elementor-widget-button.fx-button .elementor-button {
  background: var(--forest, #3f4a3c) !important;
  color: #fff !important;
  padding: 12px 24px !important;
  border-radius: 4px !important;
}
.elementor-widget-button.fx-button .elementor-button:hover {
  background: #2b3328 !important;
  color: #fff !important;
}

/* Host details list */
.fh-host-details {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
}
.fh-host-details li a {
  color: #3f4a3c;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}

/* Container bridge for flex & grid layouts */
.flair-home .fh-hosts-layout,
.flair-home .fh-hosts-layout > .e-con-inner {
  display: grid !important;
  grid-template-columns: .8fr 1.2fr !important;
  gap: clamp(44px, 6vw, 110px) !important;
  align-items: center !important;
}
@media (min-width: 961px) {
  .flair-home .fh-rooms-layout,
  .flair-home .fh-rooms-layout > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1.12fr 1fr !important;
    grid-template-rows: auto 1fr !important;
    gap: 48px clamp(36px, 5vw, 90px) !important;
  }
}
.flair-home .fh-rooms-copy {
  grid-column: 2;
  grid-row: 1;
}
.flair-home .fh-room-feature-wrap,
.flair-home .fh-room-feature-wrap > .e-con-inner {
  grid-column: 1;
  grid-row: 1 / 3;
  display: flex !important;
  height: 100% !important;
  min-height: 540px !important;
}
.flair-home .fh-room-feature-wrap .elementor-widget-html,
.flair-home .fh-room-feature-wrap .elementor-widget-container {
  height: 100% !important;
  width: 100% !important;
  display: flex !important;
}
.flair-home .fh-room-feature-wrap .fh-room-feature {
  height: 100% !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  position: relative !important;
  min-height: 540px !important;
  overflow: hidden !important;
  padding: 30px !important;
  text-decoration: none !important;
  color: #fff !important;
}
.flair-home .fh-room-feature-photo {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
}
.flair-home .fh-room-feature-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.flair-home .fh-room-feature-caption {
  position: relative !important;
  z-index: 2 !important;
  margin-top: auto !important;
}
.flair-home .fh-room-sequence {
  grid-column: 2;
  grid-row: 2;
}
.flair-home .fh-alb-layout,
.flair-home .fh-alb-layout > .e-con-inner {
  display: grid !important;
  grid-template-columns: .9fr 1.1fr !important;
  gap: clamp(40px, 5.5vw, 96px) !important;
  align-items: center !important;
}
.flair-home .fh-karls-layout,
.flair-home .fh-karls-layout > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.05fr .95fr !important;
  gap: clamp(40px, 5.5vw, 100px) !important;
  align-items: center !important;
}
.flair-home .recognition-preview {
  background: #2b2b2b !important;
  color: #f5f0e6 !important;
}
.flair-home .recognition-preview-layout,
.flair-home .recognition-preview-layout > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.45fr) !important;
  gap: clamp(35px, 5vw, 90px) !important;
  align-items: center !important;
}
.flair-home .recognition-wall,
.flair-home .recognition-wall > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px 24px !important;
  border: 0 !important;
  background: transparent !important;
  margin: 0 !important;
  isolation: isolate !important;
}
.flair-home .recognition-seal {
  padding: 8px !important;
  min-height: 0 !important;
  height: clamp(120px, 22vh, 190px) !important;
  background: #2b2b2b !important;
  border: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.2s ease !important;
}
.flair-home .recognition-seal:hover {
  background: rgba(255, 255, 255, 0.05) !important;
}
.flair-home .recognition-seal img {
  max-width: 100% !important;
  max-height: clamp(100px, 19vh, 165px) !important;
  object-fit: contain !important;
  filter: grayscale(1) invert(1) sepia(.5) !important;
  mix-blend-mode: screen !important;
}
.flair-home .recognition-seal:has(img + img) img {
  max-height: 68px !important;
}

/* Mobile & Tablet responsive overrides */
@media (max-width: 900px) {
  .flair-home .fh-hosts-layout,
  .flair-home .fh-hosts-layout > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
  .flair-home .fh-rooms-layout,
  .flair-home .fh-rooms-layout > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
  }
  .flair-home .fh-alb-layout,
  .flair-home .fh-alb-layout > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
  .flair-home .fh-karls-layout,
  .flair-home .fh-karls-layout > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
  .flair-home .recognition-preview-layout,
  .flair-home .recognition-preview-layout > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}
@media (max-width: 520px) {
  .flair-home .recognition-wall,
  .flair-home .recognition-wall > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 28px !important;
  }
}


/* FLAIR HOTEL - EXACT STEILBERGAUF ELEMENTOR RECONCILIATION */
/* 1. SECTION DAS HOTEL: Host Portrait, Stamp, & Polaroid Inset */
.flair-home .fh-hosts-layout,
.flair-home .fh-hosts-layout > .e-con-inner {
  display: grid !important;
  grid-template-columns: 0.9fr 1.1fr !important;
  gap: clamp(40px, 5vw, 80px) !important;
  align-items: center !important;
}
@media (max-width: 900px) {
  .flair-home .fh-hosts-layout,
  .flair-home .fh-hosts-layout > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
}
.award-edition.flair-home .fh-host-portrait {
  position: relative !important;
  padding-bottom: 45px !important;
  overflow: visible !important;
  margin-right: 25px !important;
}
.award-edition.flair-home .fh-host-portrait .fh-host-image img,
.award-edition.flair-home .fh-host-portrait > img {
  box-shadow: 20px 24px 0 #ddd3bd !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 4px !important;
  display: block !important;
}
.award-edition.flair-home .award-host-stamp {
  position: absolute !important;
  left: -28px !important;
  top: -24px !important;
  z-index: 4 !important;
  border: 1px solid #8a6b43 !important;
  border-radius: 50% !important;
  width: 110px !important;
  height: 110px !important;
  display: grid !important;
  place-content: center !important;
  text-align: center !important;
  background: var(--award-paper, #fbf9f4) !important;
  color: #3f4a3c !important;
  font: 11px/1.35 var(--sans, 'Manrope', sans-serif) !important;
  transform: rotate(-12deg) !important;
  letter-spacing: .06em !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
}
.award-edition.flair-home .award-host-stamp strong {
  font: 24px/1 var(--font-display, "Instrument Serif", Georgia, serif) !important;
  display: block !important;
  color: #8a6b43 !important;
  margin: 2px 0 !important;
}
.award-edition.flair-home .fh-host-portrait img.award-host-inset,
.award-edition.flair-home .award-host-inset {
  position: absolute !important;
  right: -24px !important;
  bottom: -20px !important;
  width: 44% !important;
  transform: rotate(5deg) !important;
  border: 9px solid var(--award-paper, #fbf9f4) !important;
  box-shadow: 0 18px 40px rgba(50, 36, 16, 0.28) !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  z-index: 3 !important;
  display: block !important;
}
.award-edition.flair-home .fh-host-portrait figcaption {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  padding-top: 18px !important;
  color: #a89f8c !important;
  font-size: 12px !important;
  letter-spacing: .03em !important;
}
.award-edition.flair-home .fh-caption-line {
  flex: 1 !important;
  height: 1px !important;
  background: currentColor !important;
  opacity: 0.3 !important;
}

/* 2. SECTION ZIMMER: Forest Olive Background & Clean 2-column layout */
.flair-home .fh-rooms,
.award-edition.flair-home .fh-rooms {
  background-color: #343d32 !important;
  color: #fbf9f4 !important;
  padding-block: 100px 80px !important;
}
.fh-rooms h2 {
  color: #fbf9f4;
}
.fh-rooms .fh-lead {
  color: #c8b48a !important;
}
.fh-rooms .elementor-widget-button.fx-button .elementor-button {
  background: transparent !important;
  border: 1px solid rgba(245, 240, 230, 0.4) !important;
  color: #f5f0e6 !important;
  border-radius: 50px !important;
  padding: 10px 22px !important;
  font-size: 13px !important;
}
.fh-rooms .elementor-widget-button.fx-button .elementor-button:hover {
  background: rgba(245, 240, 230, 0.15) !important;
  border-color: #f5f0e6 !important;
}
.flair-home .fh-room-feature {
  position: relative !important;
  display: block !important;
  height: 100% !important;
  min-height: 580px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  border-radius: 4px !important;
}
/* removed old feature::after overlay */
.flair-home .fh-room-feature-photo {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}
.flair-home .fh-room-feature-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
.flair-home .fh-room-feature-caption {
  position: absolute !important;
  inset: auto 28px 28px !important;
  z-index: 2 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  color: #fff !important;
}
.flair-home .fh-room-feature-caption small {
  display: block !important;
  margin-bottom: 8px !important;
  color: #c8b48a !important;
  font-size: 11px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.flair-home .fh-room-feature-caption strong {
  font: 400 clamp(32px, 3.2vw, 54px)/1 "Instrument Serif", Georgia, serif !important;
}
.flair-home .fh-room-sequence {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
}
.flair-home .fh-room-small {
  position: relative !important;
  display: block !important;
  text-decoration: none !important;
  color: #fff !important;
  overflow: hidden !important;
  border-radius: 4px !important;
}
.flair-home .fh-room-small-photo {
  aspect-ratio: 4/3 !important;
  overflow: hidden !important;
}
.flair-home .fh-room-small-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}
.flair-home .fh-room-small:hover .fh-room-small-photo img {
  transform: scale(1.05) !important;
}
.flair-home .fh-room-small > span {
  position: absolute !important;
  inset: auto 16px 16px !important;
  z-index: 2 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font: 400 22px/1.2 "Instrument Serif", Georgia, serif !important;
  text-shadow: 0 2px 6px rgba(0,0,0,0.7) !important;
}
.flair-home .fh-offer-note {
  border-top: 1px solid rgba(245, 240, 230, 0.15) !important;
  padding-top: 32px !important;
  margin-top: 48px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
}
.flair-home .fh-offer-note h3 {
  font-family: 'Instrument Serif', Georgia, serif !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  color: #fbf9f4 !important;
  margin: 6px 0 0 !important;
}
.flair-home .fh-offer-links {
  display: flex !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
}
.flair-home .fh-offer-links a,
.flair-home .fh-offer-links .elementor-button {
  color: #c8b48a !important;
  font-size: 14px !important;
  text-decoration: none !important;
  border-bottom: 1px solid currentColor !important;
  padding-bottom: 2px !important;
}

/* 3. SECTION ALB ERLEBEN: Tall Vertical Waterfall Photo with Overlay */
.flair-home .fh-alb-layout,
.flair-home .fh-alb-layout > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: clamp(40px, 5vw, 80px) !important;
  align-items: center !important;
}
@media (max-width: 900px) {
  .flair-home .fh-alb-layout,
  .flair-home .fh-alb-layout > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
}
.flair-home .fh-alb-photo,
.award-edition.flair-home .fh-alb-photo {
  position: relative !important;
  width: 100% !important;
  min-height: 560px !important;
  display: flex !important;
  flex-direction: column !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}
.award-edition.flair-home .fh-alb-photo img.wf-image,
.award-edition.flair-home .fh-alb-photo img {
  width: 100% !important;
  height: 100% !important;
  min-height: 540px !important;
  max-height: 660px !important;
  object-fit: cover !important;
  border-radius: 4px !important;
  box-shadow: 20px 24px 0 #ddd3bd !important;
  display: block !important;
}
.award-edition.flair-home .fh-alb-photo figcaption {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 3 !important;
  color: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.7) !important;
  background: linear-gradient(to top, rgba(15, 20, 14, 0.85) 0%, rgba(15, 20, 14, 0.4) 60%, transparent 100%) !important;
  padding: 30px 24px 24px !important;
}
.award-edition.flair-home .fh-alb-photo figcaption span {
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #c8b48a !important;
}
.award-edition.flair-home .fh-alb-photo figcaption em {
  font-family: var(--font-display, "Instrument Serif", Georgia, serif) !important;
  font-size: 34px !important;
  font-style: italic !important;
  line-height: 1.15 !important;
  color: #fff !important;
  margin-top: 4px !important;
}

/* 4. SECTION KARL'S: Atmospheric Scene, Translucent Buttons, & Polaroid Dish */
.flair-home /* Replaced by native Elementor controls */
.award-edition.flair-home .fh-karls-scene {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  overflow: hidden !important;
}
.award-edition.flair-home .fh-karls-scene video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0.65 !important;
}
.award-edition.flair-home .fh-karls-shade {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, rgba(20,18,15,0.92) 0%, rgba(20,18,15,0.80) 55%, rgba(20,18,15,0.50) 100%) !important;
  z-index: 1 !important;
}
.flair-home .fh-karls-layout,
.flair-home .fh-karls-layout > .e-con-inner {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr !important;
  gap: clamp(40px, 5vw, 80px) !important;
  align-items: center !important;
}
@media (max-width: 900px) {
  .flair-home .fh-karls-layout,
  .flair-home .fh-karls-layout > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
}
.fh-karls h2,
.fh-karls .elementor-heading-title {
  color: #fff !important;
}
.fh-karls .fh-lead {
  color: #e6dfd1 !important;
}
.fh-karls-signature {
  font-size: 13px !important;
  color: #c8b48a !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin: 16px 0 24px !important;
}
.fh-karls .elementor-widget-button.fx-button .elementor-button {
  background: rgba(43, 43, 43, 0.75) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-radius: 4px !important;
}
.fh-karls .elementor-widget-button.fx-button .elementor-button:hover {
  background: #d5c39c !important;
  color: #242b22 !important;
  border-color: #d5c39c !important;
}
.award-edition.flair-home .fh-karls-dish {
  position: relative !important;
  transform: rotate(3deg) !important;
  border: 10px solid #fff !important;
  box-shadow: 0 22px 50px rgba(0,0,0,0.55) !important;
  background: #fff !important;
  padding: 0 !important;
  overflow: hidden !important;
  max-width: 440px !important;
  margin-left: auto !important;
  border-radius: 2px !important;
}
.award-edition.flair-home .fh-karls-dish img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}
.award-edition.flair-home .fh-karls-dish figcaption {
  padding: 14px 18px 16px !important;
  background: #fff !important;
  color: #2b2b2b !important;
  font-family: var(--font-display, "Instrument Serif", Georgia, serif) !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  text-align: right !important;
}
.award-edition.flair-home .fh-karls-dish::before {
  content: "Regional & handverlesen" !important;
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 3 !important;
  background: #3f4a3c !important;
  color: #fbf9f4 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
  letter-spacing: 0.04em !important;
}

/* 5. SECTION AUSZEICHNUNGEN: Clean 4x2 Seal Grid */
.recognition-preview {
  background-color: #1f1d1a !important;
  color: #fbf9f4 !important;
  padding-block: 100px 90px !important;
}
.recognition-preview h2 {
  color: #fbf9f4 !important;
}
.recognition-preview .recognition-wall,
.award-edition.flair-home .recognition-wall {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  align-items: center !important;
}
@media (max-width: 900px) {
  .recognition-preview .recognition-wall,
  .award-edition.flair-home .recognition-wall {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
.recognition-seal {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px 14px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 6px !important;
  min-height: 90px !important;
  transition: all 0.25s ease !important;
}
.recognition-seal:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(200, 180, 138, 0.4) !important;
  transform: translateY(-2px) !important;
}
.recognition-seal img {
  max-width: 100% !important;
  max-height: 56px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* 6. SECTION AUFENTHALT: Managed by native Elementor controls */
.flair-home .fh-booking-inner,
.award-edition.flair-home .fh-booking-inner {
  position: relative !important;
  z-index: 2 !important;
}
.fh-booking-copy h2 {
  color: #fff !important;
}
.fh-booking-copy .fh-lead {
  color: #e6dfd1 !important;
}

/* ROOM SEQUENCE HORIZONTAL GRID FIX */
.flair-home .fh-room-sequence,
.flair-home .fh-room-sequence > .e-con-inner,
.flair-home .fh-room-sequence .elementor-widget-container {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  width: 100% !important;
  align-items: start !important;
}
@media (max-width: 640px) {
  .flair-home .fh-room-sequence,
  .flair-home .fh-room-sequence > .e-con-inner,
  .flair-home .fh-room-sequence .elementor-widget-container {
    grid-template-columns: 1fr !important;
  }
}
@media (min-width: 961px) {
  .flair-home .fh-rooms-layout,
  .flair-home .fh-rooms-layout > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1.15fr 1fr !important;
    gap: clamp(36px, 4vw, 64px) !important;
    align-items: start !important;
  }
}
@media (max-width: 960px) {
  .flair-home .fh-rooms-layout,
  .flair-home .fh-rooms-layout > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
  }
  .flair-home .fh-rooms-copy {
    order: 1 !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
  .flair-home .fh-room-feature-wrap,
  .flair-home .elementor-element-con-feat-doppelzimmer {
    order: 2 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    min-height: 480px !important;
  }
  .flair-home .fh-room-sequence {
    order: 3 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
  }
}

/* === FH PATCH V2 START === */
/* ==========================================================================
   FLAIR HOTEL VIER JAHRESZEITEN - HOMEPAGE DESIGN SYSTEM REFINEMENTS (V4)
   Matches Steilbergauf reference pixel-for-pixel across all sections.
   ========================================================================== */

/* --- 01. ALLGEMEINE FARBEN & RESET --- */
.award-edition.flair-home {
  --fh-forest: #3f4a3c;
  --fh-forest-dark: #2f382d;
  --fh-taupe: #c8b48a;
  --fh-paper: #fbf9f4;
  --fh-ivory: #f5f0e6;
  --fh-ink: #2b2b2b;
}

/* Button & Action Reset: Keine Boxen um Buttons, saubere Flex-Reihen */
.award-edition.flair-home .elementor-widget-button.fx-button,
.award-edition.flair-home .elementor-widget-button.fx-link {
  background: transparent !important;
  width: auto !important;
  max-width: max-content !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}
.award-edition.flair-home .fx-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 22px 28px !important;
  background: transparent !important;
  padding: 0 !important;
}
.award-edition.flair-home .elementor-widget-button.fx-button .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: #3f4a3c !important;
  color: #fbf9f4 !important;
  border: 1px solid #3f4a3c !important;
  border-radius: 0 !important;
  padding: 15px 26px !important;
  font: 600 14px/1 Manrope, system-ui, sans-serif !important;
  transition: all 0.25s ease !important;
}
.award-edition.flair-home .elementor-widget-button.fx-button .elementor-button::after {
  content: "\2192" !important;
  font-size: 17px !important;
  line-height: 1 !important;
}
.award-edition.flair-home .elementor-widget-button.fx-button .elementor-button:hover {
  background: #2f382d !important;
  border-color: #2f382d !important;
}
.award-edition.flair-home .elementor-widget-button.fx-link .elementor-button {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid currentColor !important;
  border-radius: 0 !important;
  padding: 0 0 3px !important;
  color: inherit !important;
  font: 500 14px/1.3 Manrope, system-ui, sans-serif !important;
}

/* --- 02. ZIMMER & SUITEN (#zimmer) --- */
.award-edition.flair-home #zimmer {
  background: #3f4a3c !important;
}
.award-edition.flair-home #zimmer .elementor-element-0baf0c7,
.award-edition.flair-home #zimmer .elementor-widget-button.fx-button {
  background: transparent !important;
}
/* Pill-Button "Alle Zimmer ansehen" */
.award-edition.flair-home #zimmer .elementor-widget-button.fx-button .elementor-button {
  background: transparent !important;
  border: 1px solid rgba(251, 249, 244, 0.45) !important;
  color: #fbf9f4 !important;
  border-radius: 9999px !important;
  padding: 12px 28px !important;
  font-weight: 500 !important;
}
.award-edition.flair-home #zimmer .elementor-widget-button.fx-button .elementor-button::after {
  content: "\2192" !important;
  font-size: 15px !important;
  margin-left: 8px !important;
}
.award-edition.flair-home #zimmer .elementor-widget-button.fx-button .elementor-button:hover {
  background: #fbf9f4 !important;
  color: #2b2b2b !important;
  border-color: #fbf9f4 !important;
}

/* -------------------------------------------------------------
   ROOM SEQUENCE: NATIVE ELEMENTOR CARDS (Komfortzimmer & Suite)
   Exact match to Steilbergauf editorial reference:
   Tilted white-bordered photo cards, Instrument Serif title,
   right arrow, and fine gold/brass underline across the card.
   ------------------------------------------------------------- */
.award-edition.flair-home .fh-room-sequence,
.flair-home .fh-room-sequence {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 24px !important;
  width: 100% !important;
  margin-top: 28px !important;
}

.award-edition.flair-home .fh-room-sequence > .e-con-inner,
.flair-home .fh-room-sequence > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 24px !important;
  width: 100% !important;
}

/* Individual Room Card */
.award-edition.flair-home .fh-room-card,
.flair-home .fh-room-card {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.4s ease !important;
}

/* Photo Widget & White Photographic Paper Border */
.award-edition.flair-home .fh-room-card .elementor-widget-image,
.flair-home .fh-room-card .elementor-widget-image {
  width: 100% !important;
  display: block !important;
}

.award-edition.flair-home .fh-room-card .elementor-widget-image .elementor-widget-container,
.flair-home .fh-room-card .elementor-widget-image .elementor-widget-container {
  width: 100% !important;
  display: block !important;
}

.award-edition.flair-home .fh-room-card .elementor-widget-image a,
.flair-home .fh-room-card .elementor-widget-image a {
  display: block !important;
  width: 100% !important;
  background: #ffffff !important;
  padding: 5px !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.42), 0 4px 12px rgba(0, 0, 0, 0.25) !important;
  border-radius: 2px !important;
  box-sizing: border-box !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}

.award-edition.flair-home .fh-room-card .elementor-widget-image img,
.flair-home .fh-room-card .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 10.5 !important;
  object-fit: cover !important;
  border-radius: 1px !important;
}

/* Meta: Title, Arrow & Underline */
.award-edition.flair-home .fh-room-card-meta,
.flair-home .fh-room-card-meta {
  width: 100% !important;
  margin-top: 12px !important;
  padding-bottom: 6px !important;
  border-bottom: 1px solid rgba(200, 180, 138, 0.45) !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  box-sizing: border-box !important;
  transition: border-color 0.3s ease !important;
}

.award-edition.flair-home .fh-room-card-meta > .e-con-inner,
.flair-home .fh-room-card-meta > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
}

.award-edition.flair-home .fh-room-card-meta .elementor-widget-heading,
.flair-home .fh-room-card-meta .elementor-widget-heading {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.award-edition.flair-home .fh-room-card-meta .elementor-widget-heading:first-child .elementor-heading-title,
.flair-home .fh-room-card-meta .elementor-widget-heading:first-child .elementor-heading-title {
  font-family: 'Instrument Serif', Georgia, serif !important;
  font-size: clamp(28px, 2.4vw, 36px) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  color: #f5f0e6 !important;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: -0.01em !important;
  white-space: nowrap !important;
}

.award-edition.flair-home .fh-room-card-meta .elementor-widget-heading:last-child .elementor-heading-title,
.flair-home .fh-room-card-meta .elementor-widget-heading:last-child .elementor-heading-title {
  font-family: 'Instrument Serif', Georgia, serif !important;
  font-size: clamp(20px, 1.8vw, 26px) !important;
  font-weight: 400 !important;
  color: #f5f0e6 !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: transform 0.3s ease, color 0.3s ease !important;
}

/* Card Rotations & Stagger (matching Steilbergauf reference) */
.award-edition.flair-home .fh-room-card--komfort,
.flair-home .fh-room-card--komfort {
  transform: rotate(-3deg) !important;
  transform-origin: 50% 85% !important;
}

.award-edition.flair-home .fh-room-card--suite,
.flair-home .fh-room-card--suite {
  transform: rotate(2.8deg) !important;
  transform-origin: 50% 85% !important;
  margin-top: 40px !important;
}

/* Hover States */
.award-edition.flair-home .fh-room-card:hover,
.flair-home .fh-room-card:hover {
  transform: rotate(0deg) translateY(-5px) !important;
}

.award-edition.flair-home .fh-room-card:hover .elementor-widget-image a,
.flair-home .fh-room-card:hover .elementor-widget-image a {
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.55), 0 8px 18px rgba(0, 0, 0, 0.3) !important;
}

.award-edition.flair-home .fh-room-card:hover .fh-room-card-meta,
.flair-home .fh-room-card:hover .fh-room-card-meta {
  border-bottom-color: #f5f0e6 !important;
}

.award-edition.flair-home .fh-room-card:hover .elementor-widget-heading:last-child .elementor-heading-title,
.flair-home .fh-room-card:hover .elementor-widget-heading:last-child .elementor-heading-title {
  transform: translateX(6px) !important;
}

/* Mobile & Tablet responsiveness */
@media (max-width: 900px) {
  .award-edition.flair-home .fh-room-sequence,
  .flair-home .fh-room-sequence {
    flex-direction: column !important;
    gap: 40px !important;
  }
  .award-edition.flair-home .fh-room-card--komfort,
  .flair-home .fh-room-card--komfort,
  .award-edition.flair-home .fh-room-card--suite,
  .flair-home .fh-room-card--suite {
    transform: none !important;
    margin-top: 0 !important;
    max-width: 100% !important;
  }
}


/* Angebotsleiste unter den Zimmern: Vertikal gestapelte Links mit Trennlinien */
.award-edition.flair-home .fh-offer-note {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  flex-wrap: wrap !important;
  gap: 32px !important;
  border-top: 1px solid rgba(200, 180, 138, 0.35) !important;
  padding-top: 36px !important;
  margin-top: 48px !important;
  width: 100% !important;
}
.award-edition.flair-home .fh-offer-note > .e-con:first-child,
.award-edition.flair-home .fh-offer-note > div:first-child {
  width: auto !important;
  max-width: max-content !important;
  flex: 0 0 auto !important;
}
.award-edition.flair-home .fh-offer-note .fx-kicker,
.award-edition.flair-home .fh-offer-note .fx-kicker .elementor-heading-title {
  color: #f5f0e6 !important;
  font-family: var(--font-sans, "Manrope", Arial, sans-serif) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}
.award-edition.flair-home .fh-offer-note h3,
.award-edition.flair-home .fh-offer-note h3.elementor-heading-title {
  font-family: "Instrument Serif", Georgia, "Times New Roman", serif !important;
  font-size: clamp(28px, 2.8vw, 38px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  color: #fbf9f4 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
.award-edition.flair-home .fh-offer-links {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 32px !important;
  width: auto !important;
  max-width: none !important;
  margin-left: auto !important;
  flex: 0 0 auto !important;
  padding-bottom: 2px !important;
}
.award-edition.flair-home .fh-offer-links > .elementor-widget {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  border-bottom: none !important;
}
.award-edition.flair-home .fh-offer-links .elementor-button-wrapper {
  width: auto !important;
}
.award-edition.flair-home .fh-offer-links a,
.award-edition.flair-home .fh-offer-links .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  padding: 0 0 4px 0 !important;
  color: #f5f0e6 !important;
  font-family: var(--font-sans, "Manrope", Arial, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  border-bottom: 1px solid #a18f68 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}
.award-edition.flair-home .fh-offer-links a:hover,
.award-edition.flair-home .fh-offer-links .elementor-button:hover {
  color: #c8b48a !important;
  border-bottom-color: #f5f0e6 !important;
}
@media (max-width: 900px) {
  .award-edition.flair-home .fh-offer-note {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
  }
  .award-edition.flair-home .fh-offer-links {
    margin-left: 0 !important;
    justify-content: flex-start !important;
    gap: 20px !important;
  }
}

/* --- 03. ALB ERLEBEN (#alb-erleben) --- */
/* Replaced by native Elementor controls */
.award-edition.flair-home .fh-alb-layout {
  align-items: center !important;
}

/* -------------------------------------------------------------
   04. ALB ERLEBEN: URACHER WASSERFALL (WEBGL SHADER ANIMATION)
   Steilbergauf original:
   Tall vertical photo/canvas stage with living waterfall animation,
   waterfall note pill, and elegant italic Instrument Serif caption.
   ------------------------------------------------------------- */
.flair-home .fh-alb-figure-container,
.award-edition.flair-home .fh-alb-figure-container {
  width: 100% !important;
  height: 100% !important;
  min-height: 720px !important;
  padding: 0 !important;
  display: flex !important;
  position: relative !important;
}

.flair-home .fh-alb-figure-container .elementor-widget-html,
.flair-home .fh-alb-figure-container .elementor-widget-container,
.award-edition.flair-home .fh-alb-figure-container .elementor-widget-html,
.award-edition.flair-home .fh-alb-figure-container .elementor-widget-container {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
}

.award-edition.flair-home .fh-alb-photo,
.flair-home .fh-alb-photo {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 720px !important;
  max-width: none !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.award-edition.flair-home .award-waterfall,
.flair-home .award-waterfall {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  min-height: 330px !important;
}

.award-edition.flair-home .award-waterfall .wf-stage,
.flair-home .award-waterfall .wf-stage {
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
  isolation: isolate !important;
  touch-action: pan-y !important;
  background: #3f4a3c !important;
}

.award-edition.flair-home .award-waterfall :is(.wf-image, .wf-canvas),
.flair-home .award-waterfall :is(.wf-image, .wf-canvas) {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  display: block !important;
  animation: none !important;
}

.award-edition.flair-home .award-waterfall .wf-canvas,
.flair-home .award-waterfall .wf-canvas {
  pointer-events: none !important;
}

.award-edition.flair-home .award-waterfall .wf-canvas[hidden],
.flair-home .award-waterfall .wf-canvas[hidden] {
  display: none !important;
}

.award-edition.flair-home .award-waterfall .wf-status,
.flair-home .award-waterfall .wf-status {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

/* Waterfall Badge Note */
.award-edition.flair-home .award-media-note,
.flair-home .award-media-note {
  position: absolute !important;
  left: 24px !important;
  bottom: 24px !important;
  z-index: 4 !important;
  color: #fbf9f4 !important;
  background: rgba(28, 25, 21, 0.72) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  padding: 8px 14px !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* Waterfall Figcaption */
.award-edition.flair-home .fh-alb-photo figcaption,
.flair-home .fh-alb-photo figcaption {
  position: absolute !important;
  bottom: 68px !important;
  left: 28px !important;
  right: 28px !important;
  z-index: 3 !important;
  display: block !important;
  color: #fff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.85) !important;
  pointer-events: none !important;
}

.award-edition.flair-home .fh-alb-photo figcaption span,
.flair-home .fh-alb-photo figcaption span {
  display: none !important;
}

.award-edition.flair-home .fh-alb-photo figcaption em,
.flair-home .fh-alb-photo figcaption em {
  font-family: 'Instrument Serif', Georgia, serif !important;
  font-size: clamp(34px, 3.4vw, 52px) !important;
  font-style: italic !important;
  line-height: 1.15 !important;
  color: #fff !important;
  display: block !important;
}


.award-edition.flair-home #alb-erleben .elementor-widget-button.fx-button .elementor-button {
  background: #3f4a3c !important;
  color: #fbf9f4 !important;
  border-color: #3f4a3c !important;
}

/* --- 04. KARL'S ESSZIMMER (#karls) --- */
/* Replaced by native Elementor controls */
.award-edition.flair-home #karls::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(20, 18, 14, 0.85) 0%, rgba(20, 18, 14, 0.6) 45%, rgba(20, 18, 14, 0.15) 80%, transparent 100%), linear-gradient(0deg, rgba(20, 18, 14, 0.75) 0%, transparent 35%) !important;
}
.award-edition.flair-home #karls > * {
  position: relative !important;
  z-index: 2 !important;
}
.award-edition.flair-home #karls > .elementor-widget-html:first-child,
.award-edition.flair-home #karls > .elementor-widget-html:first-child > .elementor-widget-container {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  z-index: 0 !important;
}
.award-edition.flair-home .fh-karls-scene {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
  z-index: 0 !important;
  background: #1a1815 url('https://demo.flairhotel-vierjahreszeiten.de/wp-content/uploads/karls_neu_1178-1200.webp') center / cover no-repeat !important;
}
.award-edition.flair-home .fh-karls-scene video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0.8 !important;
}
.award-edition.flair-home .fh-karls-shade {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(20, 18, 14, 0.82) 0%, rgba(20, 18, 14, 0.55) 45%, rgba(20, 18, 14, 0.1) 80%, transparent 100%),
              linear-gradient(0deg, rgba(20, 18, 14, 0.7) 0%, transparent 35%) !important;
}
.award-edition.flair-home .fh-karls-layout {
  position: relative !important;
  z-index: 2 !important;
  align-items: center !important;
}
.award-edition.flair-home #karls .elementor-widget-button.fx-button .elementor-button {
  background: #3f4a3c !important;
  color: #fbf9f4 !important;
  border: 1px solid #3f4a3c !important;
  border-radius: 0 !important;
  padding: 15px 26px !important;
}
.award-edition.flair-home #karls .elementor-widget-button.fx-button .elementor-button:hover {
  background: #2f382d !important;
  border-color: #2f382d !important;
}
.award-edition.flair-home #karls .elementor-widget-button.fx-link .elementor-button {
  color: #fbf9f4 !important;
  border-bottom: 1px solid #fbf9f4 !important;
}
.award-edition.flair-home .fh-karls-dish {
  display: block !important;
  position: relative !important;
  width: min(440px, 100%) !important;
  max-width: 440px !important;
  justify-self: end !important;
  align-self: center !important;
  margin: 0 0 0 auto !important;
  transform: rotate(3.5deg) !important;
  background: #fbf9f4 !important;
  border: 10px solid #fbf9f4 !important;
  box-shadow: 0 24px 50px rgba(0,0,0,0.5) !important;
  overflow: visible !important;
  padding: 0 !important;
  transition: transform 0.3s ease !important;
}
.award-edition.flair-home .fh-karls-dish:hover {
  transform: rotate(1deg) scale(1.02) !important;
}
.award-edition.flair-home .fh-karls-dish > .elementor-widget,
.award-edition.flair-home .fh-karls-dish .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
}
.award-edition.flair-home .fh-karls-dish img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  display: block !important;
  box-shadow: none !important;
}
.award-edition.flair-home .fh-karls-dish::before {
  content: "Regional & handverlesen" !important;
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  inset: 14px auto auto 14px !important;
  z-index: 4 !important;
  background: #3f4a3c !important;
  color: #fbf9f4 !important;
  font: 600 11px/1.3 Manrope, system-ui, sans-serif !important;
  padding: 5px 12px !important;
  border-radius: 2px !important;
  letter-spacing: 0.04em !important;
}
.award-edition.flair-home .fh-karls-dish figcaption {
  position: static !important;
  background: #fbf9f4 !important;
  color: #2b2b2b !important;
  padding: 14px 6px 6px !important;
  text-align: right !important;
  font: italic 400 22px/1.2 "Instrument Serif", Georgia, serif !important;
}

/* --- 05. AUSZEICHNUNGEN (#auszeichnungen) --- */
.award-edition.flair-home #auszeichnungen {
  min-height: 0 !important;
  padding: 100px 0 100px !important;
  background: #2b2b2b !important;
}
.award-edition.flair-home #auszeichnungen h2,
.award-edition.flair-home #auszeichnungen h2.elementor-heading-title {
  line-height: 1.05 !important;
  margin-bottom: 24px !important;
}
.award-edition.flair-home .recognition-seal .elementor-widget-image,
.award-edition.flair-home .recognition-seal .elementor-widget-image .elementor-widget-container,
.award-edition.flair-home .recognition-seal .elementor-widget-image a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  text-decoration: none !important;
}
.award-edition.flair-home .recognition-seal:has(.elementor-widget-image + .elementor-widget-image) {
  flex-direction: column !important;
  gap: 12px !important;
}
.award-edition.flair-home .recognition-seal:has(.elementor-widget-image + .elementor-widget-image) .elementor-widget-image {
  height: auto !important;
}
.award-edition.flair-home .recognition-seal:has(.elementor-widget-image + .elementor-widget-image) img {
  max-height: 64px !important;
}

/* --- 06. AUFENTHALT & BUCHUNGSLEISTE (#aufenthalt) --- */
/* Native Elementor background & overlay support */
.award-edition.flair-home #aufenthalt {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}
.award-edition.flair-home #aufenthalt > * {
  position: relative !important;
  z-index: 2 !important;
}
.award-edition.flair-home .fh-stay-bar {
  margin-top: 36px !important;
}
.award-edition.flair-home .fh-booking-bottom {
  display: none !important;
}
/* === FH PATCH V2 END === */



/* === REFINEMENTS FOR NATIVE ELEMENTOR MIGRATION === */
/* Unlocked containers: Allow Elementor UI controls for padding, margin and background */
.award-edition.flair-home #alb-erleben {
  min-height: 0;
  background-color: #f5f3ef;
}
.award-edition.flair-home #karls {
  position: relative;
  overflow: hidden;
  min-height: 800px;
}
.award-edition.flair-home #aufenthalt {
  position: relative;
  overflow: hidden;
  min-height: 720px;
  background-color: #1a1815;
}

/* Video Background Layering for #karls */
.award-edition.flair-home #karls .elementor-background-video-container {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
.award-edition.flair-home #karls .elementor-background-video-hosted {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.award-edition.flair-home #karls::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(16, 14, 11, 0.88) 0%, rgba(16, 14, 11, 0.65) 45%, rgba(16, 14, 11, 0.25) 80%, transparent 100%),
              linear-gradient(0deg, rgba(16, 14, 11, 0.8) 0%, transparent 40%) !important;
}
.award-edition.flair-home #karls > :not(.elementor-background-video-container):not(.elementor-background-overlay) {
  position: relative !important;
  z-index: 2 !important;
}

/* Dish Polaroid caption */
.award-edition.flair-home .fh-karls-dish .fh-dish-caption .elementor-heading-title,
.award-edition.flair-home .fh-karls-dish figcaption,
.fh-karls-dish .elementor-heading-title {
  color: #2b2b2b !important;
  font-family: var(--font-display, "Instrument Serif", Georgia, serif) !important;
  font-size: 22px !important;
  font-style: italic !important;
  line-height: 1.25 !important;
  text-align: right !important;
  padding: 12px 6px 4px !important;
  background: #fbf9f4 !important;
  margin: 0 !important;
}

/* Film trigger button */
.award-edition.flair-home #karls .elementor-widget-button.fh-film-trigger .elementor-button,
.award-edition.flair-home #karls .fh-film-trigger {
  display: inline-flex !important;
  align-items: center !important;
  gap: 16px !important;
  background: transparent !important;
  border: none !important;
  padding: 12px 0 !important;
  color: #fbf9f4 !important;
  cursor: pointer !important;
  text-decoration: none !important;
}
.award-edition.flair-home #karls .fh-film-trigger .elementor-button-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border: 1px solid rgba(255,255,255,0.4) !important;
  border-radius: 50% !important;
  color: #fbf9f4 !important;
  transition: all 0.25s ease !important;
}
.award-edition.flair-home #karls .fh-film-trigger:hover .elementor-button-icon {
  border-color: #c8b48a !important;
  color: #c8b48a !important;
  transform: scale(1.08) !important;
}

/* -------------------------------------------------------------
   LIGHTBOX MODAL FOR VIDEO POPUP (#media-dialog)
   Steilbergauf authentic styling:
   Backdrop blur, centered dark stage, elegant close button,
   responsive embedded HTML5 video player and Instrument Serif caption.
   ------------------------------------------------------------- */
dialog.lightbox {
  position: fixed !important;
  inset: 0 !important;
  margin: auto !important;
  width: calc(100% - 48px) !important;
  max-width: 1080px !important;
  max-height: calc(100svh - 60px) !important;
  padding: 56px 24px 24px !important;
  border: 1px solid rgba(200, 180, 138, 0.35) !important;
  border-radius: 8px !important;
  background: #191612 !important;
  color: #fbf9f4 !important;
  box-shadow: 0 25px 60px -10px rgba(0, 0, 0, 0.85) !important;
  z-index: 999999 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

dialog.lightbox::backdrop {
  background: rgba(14, 18, 13, 0.85) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

dialog.lightbox .close-dialog {
  position: absolute !important;
  top: 14px !important;
  right: 16px !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #fbf9f4 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
  padding: 0 !important;
  z-index: 10 !important;
}

dialog.lightbox .close-dialog:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  border-color: #c8b48a !important;
  color: #c8b48a !important;
  transform: scale(1.05) !important;
}

dialog.lightbox .close-dialog .icon {
  width: 20px !important;
  height: 20px !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  fill: none !important;
}

dialog.lightbox video {
  display: block !important;
  width: 100% !important;
  max-height: calc(100svh - 180px) !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  border-radius: 4px !important;
  background: #000 !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}

dialog.lightbox .lightbox-caption {
  margin: 16px 0 0 0 !important;
  color: #c8b48a !important;
  font-family: var(--font-display, "Instrument Serif", Georgia, serif) !important;
  font-size: 22px !important;
  text-align: center !important;
  letter-spacing: 0.02em !important;
}

@media (max-width: 768px) {
  dialog.lightbox {
    width: calc(100% - 20px) !important;
    padding: 48px 12px 16px !important;
    max-height: calc(100svh - 30px) !important;
  }
  dialog.lightbox video {
    max-height: calc(100svh - 150px) !important;
  }
}




/* ==========================================================================
   GLOBAL TYPOGRAPHY UNIFICATION (Instrument Serif for all H1, H2, H3)
   Solves Elementor Flexbox Containers collision (--display: flex)
   ========================================================================== */
h1,
.award-edition h1,
.fh-hero h1 {
  font-family: "Instrument Serif", Georgia, "Times New Roman", serif !important;
  font-size: clamp(64px, 7.8vw, 116px) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.03em !important;
  font-weight: 400 !important;
  font-style: normal !important;
}

/* Master Section Headings (H2) Unified Styling across all chapters */
h2,
h2.elementor-heading-title,
.fh-chapter h2,
.award-edition.flair-home h2,
.award-edition.flair-home .fh-chapter h2,
.award-edition.flair-home #das-hotel h2,
.award-edition.flair-home #zimmer h2,
.award-edition.flair-home #alb-erleben h2,
.award-edition.flair-home #karls h2,
.award-edition.flair-home #auszeichnungen h2,
.award-edition.flair-home #aufenthalt h2,
.award-edition.flair-home #booking-title h2,
.flair-home .fh-booking h2 {
  font-family: "Instrument Serif", Georgia, "Times New Roman", serif !important;
  font-size: clamp(48px, 5.2vw, 76px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.025em !important;
  font-weight: 400 !important;
  font-style: normal !important;
}

/* H3 Elements (Room cards, etc.) */
h3,
h3.elementor-heading-title,
.award-edition h3 {
  font-family: "Instrument Serif", Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
}

/* Kickers must remain small uppercase Manrope */
.fx-kicker,
.fx-kicker p,
.fx-kicker .elementor-heading-title,
.elementor-widget.fx-kicker .elementor-heading-title,
p.fx-kicker {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

/* Fullscreen Menu Headings */
#site-menu h2,
.site-menu h2,
.fx-menu-col h2 {
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
}




/* --- LENIS SMOOTH SCROLL INTEGRATION --- */
html.lenis, html.lenis body {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}
.lenis.lenis-scrolling iframe {
  pointer-events: none;
}
