/* ============================================================
   Restaurant Waldrain · Chrischona-Berg inspirierter Look
   Salbei · Forest · Cream · Akzent Orange · Marineblau
   illustrativ, freundlich, mit Pille-Buttons & Hügel-Wellen
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700&display=swap');

/* ---------- Farb- & Typo-Override (nur Waldrain) ---------- */
/* PHILOSOPHIE: kein generisches Beige · Stone-Off-White + Forest + Burgundy
   Mutiger Editorial-Look mit charaktervollen Akzenten */
body.is-waldrain {
  /* Salbei / Forest (Hauptfarbe) */
  --accent:        #2F5836;   /* Forest deep · jetzt Hauptfarbe */
  --accent-deep:   #1F3D24;   /* Tannen-Schwarz */
  --accent-hair:   #B3D38A;   /* Salbei light */
  --accent-glow:   #EAF1DA;   /* sage wash */
  --accent-wash:   #D5E5BA;   /* sage soft */

  /* CHARAKTER-Akzentfarbe: Burgundy/Rost statt Orange */
  --wr-rust:          #A14C32;   /* Tiefer Rost (Hauptakzent) */
  --wr-rust-deep:     #7E3722;   /* Burgundy */
  --wr-rust-light:    #D9A48A;   /* Lehm-light */
  --wr-clay:          #C2825A;   /* Terrakotta */

  /* Sky/Salbei-Blau (Brunch-Akzent) */
  --wr-sky:           #6DAEBE;
  --wr-sky-deep:      #3E7E91;
  --wr-sky-light:     #C7E1E8;

  /* Mustard/Gold (sehr selten, Highlight) */
  --wr-mustard:       #C9A14B;
  --wr-mustard-deep:  #8E6F2A;

  /* Weiß-System — kein Cream/Beige mehr */
  --wr-cream-warm:    #FFFFFF;
  --wr-cream-deep:    #F2F6EC;       /* sehr leichter Mint-Ton */
  --wr-stone:         #FFFFFF;
  --wr-stone-warm:    #F2F6EC;
  --wr-paper:         #FFFFFF;

  /* Mint (für Akzent-Sections) */
  --wr-mint:          #E8F0DC;
  --wr-mint-deep:     #C8DEAB;
  --wr-mint-soft:     #F2F6EC;

  /* Forest-Family */
  --wr-tannen:        #2F5836;
  --wr-tannen-deep:   #1F3D24;
  --wr-tannen-night:  #122118;
  --wr-roof-dark:     #1D232E;

  /* Hintergründe — REINES WEISS */
  --bg-canvas:       #FFFFFF;
  --bg-canvas-deep:  #F2F6EC;
  --bg-paper:        #FFFFFF;
  --border-hair:     #E5EAD8;
  --border-soft:     #CFDAB9;
  --border-strong:   #92AA85;
  --ink-display:     #14201A;        /* tiefer Forest-Schwarz */
  --ink-primary:     #28332A;
  --ink-secondary:   #46553F;
  --ink-muted:       #5E6A55;

  /* Brass/Gold-Detail */
  --wr-brass:        #B8945A;
  --wr-brass-light:  #DCC089;

  --font-ui-sans: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* Body bekommt eine freundliche sans-serif für Body-Text & UI */
body.is-waldrain {
  font-family: var(--font-ui-sans);
  background: var(--bg-canvas);
  color: var(--ink-primary);
  letter-spacing: .005em;
}
/* EINE Schriftart überall: Nunito · konsistent fürs ganze Waldrain */
body.is-waldrain,
body.is-waldrain h1,
body.is-waldrain h2,
body.is-waldrain h3,
body.is-waldrain h4,
body.is-waldrain h5,
body.is-waldrain h6,
body.is-waldrain p,
body.is-waldrain a,
body.is-waldrain span,
body.is-waldrain em,
body.is-waldrain strong,
body.is-waldrain cite,
body.is-waldrain blockquote,
body.is-waldrain dt,
body.is-waldrain dd,
body.is-waldrain figcaption,
body.is-waldrain .eyebrow,
body.is-waldrain .eyebrow-line,
body.is-waldrain .lead,
body.is-waldrain .btn,
body.is-waldrain .welt-text h2,
body.is-waldrain .welt-meta dt,
body.is-waldrain .welt-meta dd,
body.is-waldrain .qb-eyebrow,
body.is-waldrain .qb-cta,
body.is-waldrain .qb-num,
body.is-waldrain .welt-index,
body.is-waldrain .heritage-portrait-badge,
body.is-waldrain .heritage-portrait-person-name,
body.is-waldrain .heritage-sign-name,
body.is-waldrain .heritage-sign-role,
body.is-waldrain .timeline-year,
body.is-waldrain .timeline-text,
body.is-waldrain .info-tile h4,
body.is-waldrain .quote-editorial blockquote,
body.is-waldrain .prologue h2,
body.is-waldrain .prologue-sign,
body.is-waldrain .final-cta h2,
body.is-waldrain .heritage-top h2,
body.is-waldrain .footer-brand-name,
body.is-waldrain .press-clipping-label-title,
body.is-waldrain .wr-hero-title,
body.is-waldrain .wr-hero-meta-value,
body.is-waldrain .wr-hero-meta-label,
body.is-waldrain .wr-hero-eyebrow,
body.is-waldrain .wr-hero-lead {
  font-family: var(--font-ui-sans);
}

/* Italic-Akzent in Nunito (statt Garamond italic) */
body.is-waldrain .wr-hero-title em,
body.is-waldrain .quote-editorial blockquote,
body.is-waldrain .welt-meta dd,
body.is-waldrain .wr-hero-meta-value,
body.is-waldrain .prologue-sign,
body.is-waldrain .heritage-sign-role,
body.is-waldrain .welt-quote {
  font-style: italic;
}

/* Heading-Charakteristika konsistent */
body.is-waldrain h1, body.is-waldrain h2, body.is-waldrain h3 {
  font-weight: 800;
  letter-spacing: -.018em;
}
body.is-waldrain .heritage-portrait-badge { font-weight: 700; }
body.is-waldrain .timeline-year { font-weight: 800; color: var(--accent-deep); letter-spacing: .02em; }
body.is-waldrain .qb-num { font-weight: 900; }
body.is-waldrain .welt-index { font-weight: 900; }

/* ---------- Pille-Buttons (Chrischona-Berg-Signatur) ---------- */
body.is-waldrain .btn {
  border-radius: 999px;
  font-family: var(--font-ui-sans);
  font-weight: 700;
  font-size: 14.5px;
  letter-spacing: .015em;
  text-transform: none;
  padding: 14px 28px;
  border: 1.5px solid transparent;
}
body.is-waldrain .btn-primary {
  background: var(--ink-display);
  color: #FFF7E8;
  border-color: var(--ink-display);
  box-shadow: 0 6px 18px rgba(26, 38, 24, .18);
}
body.is-waldrain .btn-primary::after { display: none; }
body.is-waldrain .btn-primary:hover {
  background: var(--accent-deep);
  border-color: var(--accent-deep);
  color: #FFF7E8;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(47, 88, 54, .32);
}
body.is-waldrain .btn-secondary {
  border-color: var(--ink-display);
  color: var(--ink-display);
  background: transparent;
}
body.is-waldrain .btn-secondary:hover {
  background: var(--ink-display);
  color: #FFF7E8;
  border-color: var(--ink-display);
}

/* Mint-Pille als Tag-Look (z.B. „Restaurant Waldrain") */
.wr-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px 7px;
  background: var(--accent-hair);
  color: var(--ink-display);
  font-family: var(--font-ui-sans);
  font-weight: 700;
  font-size: 13.5px;
  border-radius: 999px;
  letter-spacing: .01em;
  border: 1.5px solid var(--accent-deep);
}
.wr-pill .wr-pill-pre {
  font-weight: 500;
  font-size: 11px;
  font-style: italic;
  color: var(--accent-deep);
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* ---------- Topbar ---------- */
body.is-waldrain .topbar {
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-hair);
}
body.is-waldrain .brand-mark {
  width: 42px;
  height: 50px;
  color: var(--accent-deep);
  background-color: currentColor;
}
body.is-waldrain .brand {
  gap: 14px;
}
body.is-waldrain .brand-wordmark {
  font-family: var(--font-ui-sans);
  font-weight: 800;
  font-size: 19px;
  letter-spacing: -.01em;
}
body.is-waldrain .topbar nav a { font-family: var(--font-ui-sans); font-weight: 600; font-size: 14.5px; }
body.is-waldrain .nav-cta {
  border-radius: 999px;
  background: var(--ink-display);
  color: var(--wr-cream-warm);
  border: 1.5px solid var(--ink-display);
  font-family: var(--font-ui-sans);
  font-weight: 700;
  text-transform: none;
  letter-spacing: .01em;
}
body.is-waldrain .nav-cta:hover {
  background: var(--accent-deep);
  border-color: var(--accent-deep);
  color: var(--wr-cream-warm);
}
body.is-waldrain .brand-mark {
  background-color: var(--accent-deep);
}

/* ---------- HERO · neu, illustrativ ---------- */
.wr-hero {
  position: relative;
  margin-top: -131px;
  padding: calc(131px + clamp(32px, 5vw, 72px)) clamp(20px, 5vw, 80px) 0;
  background: #FFFFFF;
  overflow: hidden;
  isolation: isolate;
}
.wr-hero-inner {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(24px, 4vw, 64px);
  align-items: center;
  min-height: clamp(540px, 70vh, 760px);
  position: relative;
  z-index: 2;
}
.wr-hero-text {
  display: flex; flex-direction: column;
  gap: clamp(16px, 2vw, 24px);
  padding-bottom: clamp(40px, 6vw, 80px);
}
.wr-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  font-family: var(--font-ui-sans);
  font-weight: 700;
  font-size: 12.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent-deep);
  background: var(--accent-hair);
  padding: 6px 14px 7px;
  border-radius: 999px;
}
.wr-hero-eyebrow::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--accent-deep);
  animation: wrPulse 2.4s ease-in-out infinite;
}
@keyframes wrPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: .55; transform: scale(.85); }
}
.wr-hero-title {
  font-family: var(--font-ui-sans);
  font-weight: 800;
  font-size: clamp(40px, 4.8vw + 8px, 80px);
  line-height: 1.02;
  letter-spacing: -.022em;
  color: var(--ink-display);
  margin: 0;
}
.wr-hero-title em {
  display: block;
  font-style: italic;
  font-weight: 500;
  color: var(--accent-deep);
  font-size: clamp(18px, 1.2vw + 10px, 26px);
  margin-top: 14px;
  letter-spacing: 0;
  line-height: 1.35;
}
.wr-hero-lead {
  font-family: var(--font-ui-sans);
  font-size: clamp(16px, .35vw + 14px, 18px);
  line-height: 1.65;
  color: var(--ink-secondary);
  max-width: 50ch;
  margin: 0;
}
.wr-hero-actions {
  display: inline-flex; gap: 12px; flex-wrap: wrap;
  margin-top: clamp(8px, 1vw, 16px);
}
.wr-hero-meta {
  display: flex;
  gap: clamp(20px, 3vw, 40px);
  margin-top: clamp(20px, 2.5vw, 32px);
  flex-wrap: wrap;
}
.wr-hero-meta-col {
  display: flex; flex-direction: column; gap: 2px;
}
.wr-hero-meta-label {
  font-family: var(--font-ui-sans);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ink-muted);
}
.wr-hero-meta-value {
  font-family: var(--font-ui-sans);
  font-style: italic;
  font-size: 16px;
  font-weight: 700;
  color: var(--accent-deep);
}

/* Illustration-Bühne */
.wr-hero-art {
  position: relative;
  aspect-ratio: 5/4;
  width: 100%;
  align-self: stretch;
  display: flex; align-items: flex-end; justify-content: center;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 20px 40px -10px rgba(31, 61, 36, .12);
}
.wr-hero-art svg {
  width: 100%;
  height: auto;
  overflow: hidden;
  display: block;
}

/* Hügel-Welle als Hero-Abschluss */
.wr-hero-wave {
  display: block;
  width: 100%;
  margin-top: -1px;
  color: var(--bg-canvas);
}

@media (max-width: 880px) {
  .wr-hero-inner { grid-template-columns: 1fr; gap: 16px; }
  .wr-hero-art { aspect-ratio: 4/3; max-width: 600px; margin: 0 auto; }
  .wr-hero-text { padding-bottom: 0; }
}

/* ---------- Section-Hintergründe & Hügel-Wellen ---------- */
body.is-waldrain .prologue {
  background: var(--bg-canvas);
  position: relative;
  padding-top: clamp(40px, 6vw, 80px);
  padding-bottom: clamp(60px, 8vw, 120px);
}
body.is-waldrain .prologue::before { display: none; }
body.is-waldrain .prologue h2 {
  color: var(--ink-display);
}
body.is-waldrain .prologue p:not(.prologue-sign)::first-letter { color: var(--accent-deep); }

body.is-waldrain .quick-book {
  background: var(--wr-mint);
  position: relative;
  padding-top: clamp(80px, 10vw, 140px);
  padding-bottom: clamp(80px, 10vw, 140px);
}
body.is-waldrain .quick-book::before { display: none; }
body.is-waldrain .quick-book-head {
  text-align: center;
  margin-bottom: clamp(48px, 5vw, 72px);
}
body.is-waldrain .quick-book-head h2 {
  max-width: 22ch;
  margin: 0 auto;
}
body.is-waldrain .quick-book-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.4vw, 32px);
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 48px);
}
@media (max-width: 920px) {
  body.is-waldrain .quick-book-grid { grid-template-columns: 1fr; max-width: 520px; }
}
body.is-waldrain .quick-book-card {
  background: #FFFFFF;
  border: none;
  border-radius: 24px;
  padding: 0 0 clamp(24px, 3vw, 36px) 0;
  box-shadow: 0 1px 0 rgba(47, 88, 54, .04), 0 12px 36px -12px rgba(47, 88, 54, .14);
  position: relative;
  overflow: hidden;
  transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s cubic-bezier(.22,.61,.36,1);
  display: flex;
  flex-direction: column;
}
body.is-waldrain .quick-book-card::before { display: none; }
body.is-waldrain .quick-book-card::after { display: none; }
body.is-waldrain .quick-book-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 4px 0 rgba(47, 88, 54, .04), 0 28px 56px -16px rgba(47, 88, 54, .24);
}

/* Pro Karte ein eigener Akzent-Farbton — bewusst eigenwillig */
body.is-waldrain .quick-book-card:nth-child(1) { --qb-accent: #4F8556; --qb-accent-deep: #2F5836; --qb-tint: #E8F0DC; }
body.is-waldrain .quick-book-card:nth-child(2) { --qb-accent: #A14C32; --qb-accent-deep: #7E3722; --qb-tint: #F1DCD0; }
body.is-waldrain .quick-book-card:nth-child(3) { --qb-accent: #6DAEBE; --qb-accent-deep: #3E7E91; --qb-tint: #DEEEF2; }

/* Inhalt-Container */
body.is-waldrain .quick-book-card .qb-num,
body.is-waldrain .quick-book-card .qb-eyebrow,
body.is-waldrain .quick-book-card h3,
body.is-waldrain .quick-book-card p,
body.is-waldrain .quick-book-card .qb-cta {
  padding-left: clamp(24px, 2.5vw, 32px);
  padding-right: clamp(24px, 2.5vw, 32px);
  margin-left: 0;
  margin-right: 0;
}

/* Nummern-Badge: groß, unten links der Illustration als Overlap */
body.is-waldrain .quick-book-card .qb-num {
  position: absolute;
  top: 124px;
  left: clamp(20px, 2.5vw, 28px);
  width: 44px;
  height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--qb-accent-deep);
  color: #FFFFFF;
  font-family: var(--font-ui-sans);
  font-weight: 800;
  font-size: 16px;
  letter-spacing: 0;
  border-radius: 50%;
  border: 4px solid #FFFFFF;
  z-index: 3;
  margin: 0;
}

body.is-waldrain .quick-book-card .qb-eyebrow {
  margin-top: clamp(28px, 3vw, 40px);
  margin-bottom: 8px;
  font-family: var(--font-ui-sans);
  font-style: normal;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--qb-accent-deep);
}
body.is-waldrain .quick-book-card h3 {
  font-family: var(--font-ui-sans);
  font-size: clamp(22px, 1.4vw + 14px, 28px);
  font-weight: 800;
  letter-spacing: -.018em;
  line-height: 1.15;
  color: var(--ink-display);
  margin: 0 0 clamp(12px, 1.5vw, 16px);
}
body.is-waldrain .quick-book-card p {
  font-family: var(--font-ui-sans);
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--ink-secondary);
  margin: 0 0 clamp(20px, 2.5vw, 28px);
  flex-grow: 1;
}
body.is-waldrain .quick-book-card .qb-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-ui-sans);
  font-style: normal;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--qb-accent-deep);
  padding-top: clamp(14px, 1.5vw, 18px);
  border-top: 1.5px solid var(--qb-tint);
  margin-top: auto;
}
body.is-waldrain .quick-book-card .qb-cta::after {
  content: "→";
  margin-left: auto;
  font-size: 16px;
  transition: transform .25s var(--ease);
}
body.is-waldrain .quick-book-card:hover .qb-cta::after {
  transform: translateX(4px);
}

/* Illustration im Header — größer, mit Tint pro Karte */
body.is-waldrain .quick-book-card .qb-illu {
  height: 156px;
  margin: 0;
  padding: 0;
  background: var(--qb-tint);
  border-radius: 24px 24px 0 0;
  border-bottom: none;
  position: relative;
  overflow: hidden;
}
body.is-waldrain .quick-book-card .qb-illu svg {
  width: 100%;
  height: 100%;
  max-height: none;
  display: block;
}

/* Welt sections */
body.is-waldrain .welt {
  position: relative;
  padding: clamp(72px, 10vw, 140px) 0;
}
body.is-waldrain .welt::after { display: none; }
body.is-waldrain .welt-text h2 {
  color: var(--ink-display);
  font-family: var(--font-ui-sans);
  font-weight: 800;
  font-size: clamp(32px, 3.2vw + 12px, 56px);
  line-height: 1.05;
  letter-spacing: -.022em;
  margin-bottom: clamp(20px, 2vw, 28px);
}
body.is-waldrain .welt-text p { color: var(--ink-secondary); font-size: 17px; line-height: 1.65; }
body.is-waldrain .welt-index {
  color: var(--accent-deep);
  font-family: var(--font-ui-sans);
  font-weight: 900;
  font-size: clamp(22px, 1.4vw + 10px, 30px);
  letter-spacing: -.01em;
}
body.is-waldrain .welt-index::after { background: var(--accent-deep); }
body.is-waldrain .welt-media {
  border-radius: 24px;
  box-shadow: 0 24px 60px -20px rgba(31, 61, 36, .18);
}
body.is-waldrain .welt-media-inner { border-radius: 24px; }
body.is-waldrain .welt-meta dt { color: var(--ink-muted); font-weight: 700; font-size: 11px; letter-spacing: .08em; }
body.is-waldrain .welt-meta dd { color: var(--accent-deep); font-family: var(--font-ui-sans); font-weight: 700; font-style: italic; font-size: 16px; }

body.is-waldrain .welt-quote {
  background: var(--wr-mint);
  border-left: 4px solid var(--accent-deep);
  border-radius: 8px;
  padding: 18px 22px;
}
body.is-waldrain .welt-quote-mark { color: var(--accent-deep); }

/* Quote-Section: dramatisches Editorial-Statement im Forest-Schwarz */
body.is-waldrain .quote-editorial.section-deep {
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%, rgba(184, 148, 90, .14), transparent 70%),
    linear-gradient(180deg, var(--wr-tannen-night) 0%, #0B1410 100%);
  color: var(--wr-cream-warm);
  position: relative;
  overflow: hidden;
  padding: clamp(96px, 13vw, 200px) 0;
}
body.is-waldrain .quote-editorial.section-deep::before {
  content: "„";
  position: absolute;
  top: clamp(20px, 3vw, 50px);
  left: 50%;
  transform: translateX(-50%);
  font-family: "EB Garamond", Georgia, serif;
  font-size: clamp(220px, 28vw, 480px);
  line-height: 1;
  color: var(--wr-brass);
  opacity: .15;
  pointer-events: none;
  z-index: 0;
}
body.is-waldrain .quote-editorial.section-deep::after {
  content: "";
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--wr-brass), transparent);
  opacity: .35;
}
body.is-waldrain .quote-editorial.section-deep > * { position: relative; z-index: 1; }
body.is-waldrain .quote-editorial blockquote {
  color: var(--wr-cream-warm);
  font-family: var(--font-ui-sans);
  font-style: italic;
  font-weight: 500;
  letter-spacing: -.012em;
  font-size: clamp(28px, 3vw + 12px, 56px);
  line-height: 1.18;
  max-width: 24ch;
  margin: 0 auto;
}
body.is-waldrain .quote-editorial cite {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: clamp(28px, 3vw, 44px);
  color: var(--wr-brass-light);
  font-family: var(--font-ui-sans);
  font-style: normal;
  font-weight: 700;
  font-size: 12.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body.is-waldrain .quote-editorial cite::before {
  content: "";
  width: 36px;
  height: 1px;
  background: var(--wr-brass);
}

/* Heritage */
body.is-waldrain .heritage {
  background: var(--bg-canvas);
  padding: clamp(72px, 10vw, 140px) 0;
}
body.is-waldrain .heritage-top h2 {
  color: var(--ink-display);
  font-family: var(--font-ui-sans);
  font-weight: 800;
  font-size: clamp(36px, 3.4vw + 14px, 64px);
  line-height: 1.04;
  letter-spacing: -.022em;
}
body.is-waldrain .heritage-portrait {
  border-radius: 24px;
  box-shadow: 0 24px 60px -20px rgba(31, 61, 36, .22);
}
body.is-waldrain .heritage-portrait-badge {
  background: var(--accent-hair);
  color: var(--ink-display);
  border: 1.5px solid var(--accent-deep);
  border-radius: 999px;
  font-family: var(--font-ui-sans);
  font-weight: 700;
}
body.is-waldrain .heritage-portrait-badge::before { background: var(--accent-deep); }
body.is-waldrain .heritage-prose p:first-child::first-letter { color: var(--accent-deep); }
body.is-waldrain .heritage-sign-name { color: var(--ink-display); font-weight: 800; }
body.is-waldrain .heritage-sign-role { color: var(--accent-deep); }

body.is-waldrain .heritage-timeline {
  background: #FFFFFF;
  border-radius: 24px;
  padding: clamp(32px, 4vw, 56px);
  border: none;
  box-shadow: 0 12px 36px -12px rgba(47, 88, 54, .14);
  margin-top: clamp(48px, 6vw, 80px);
}
body.is-waldrain .heritage-timeline::before {
  background: linear-gradient(90deg, var(--accent-hair), var(--accent-deep), var(--accent-hair));
  height: 2px;
  border-radius: 2px;
}
body.is-waldrain .timeline-text { color: var(--ink-secondary); }
body.is-waldrain .timeline-item { padding: 12px 0; }

/* Standort-Tiles */
body.is-waldrain .info-tile {
  background: #FFFFFF;
  border: none;
  border-radius: 24px;
  padding: clamp(28px, 3vw, 36px);
  box-shadow: 0 1px 0 rgba(47, 88, 54, .04), 0 12px 36px -12px rgba(47, 88, 54, .14);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
body.is-waldrain .info-tile:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 0 rgba(47, 88, 54, .04), 0 28px 56px -16px rgba(47, 88, 54, .22);
}
body.is-waldrain .info-tile h4 {
  color: var(--ink-display);
  font-weight: 800;
  font-size: 17px;
  letter-spacing: 0;
  text-transform: none;
  margin-bottom: 12px;
}
body.is-waldrain .info-tile p {
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--ink-secondary);
}

/* Final CTA */
body.is-waldrain .final-cta {
  background: var(--wr-mint);
  position: relative;
  overflow: hidden;
}
body.is-waldrain .final-cta::before,
body.is-waldrain .final-cta::after { display: none; }
body.is-waldrain .final-cta h2 { color: var(--ink-display); }
body.is-waldrain .final-cta p { color: var(--ink-secondary); }

/* ---------- Hügel-Divider (zwischen Sections) ---------- */
.wr-hill-divider {
  display: block;
  width: 100%;
  height: clamp(60px, 6vw, 110px);
  margin: 0;
}
.wr-hill-divider--up { transform: scaleY(-1); }

/* ---------- Footer mit Salbei-Wash ---------- */
body.is-waldrain .footer {
  background:
    linear-gradient(180deg, var(--wr-mint-deep) 0%, var(--accent) 100%);
  color: var(--ink-display);
  position: relative;
}
body.is-waldrain .footer::before { display: none; }
body.is-waldrain .footer-brand .brand-mark {
  background-color: var(--ink-display);
}
body.is-waldrain .footer-brand-name {
  color: var(--ink-display);
  font-family: var(--font-ui-sans);
  font-weight: 800;
}
body.is-waldrain .footer-tagline { color: rgba(26, 38, 24, .82); font-family: var(--font-ui-sans); }
body.is-waldrain .footer-col h4 {
  color: var(--ink-display);
  font-family: var(--font-ui-sans);
  font-weight: 700;
  letter-spacing: .04em;
}
body.is-waldrain .footer-col a,
body.is-waldrain .footer-col span { color: rgba(26, 38, 24, .85); font-family: var(--font-ui-sans); }
body.is-waldrain .footer-col a:hover { color: var(--ink-display); }
body.is-waldrain .footer-col .muted-line { color: rgba(26, 38, 24, .60); }
body.is-waldrain .footer-bottom {
  border-top: 1px solid rgba(26, 38, 24, .18);
  color: rgba(26, 38, 24, .68);
  font-family: var(--font-ui-sans);
}
body.is-waldrain .footer-legal a { color: rgba(26, 38, 24, .80); }
body.is-waldrain .footer-legal a:hover { color: var(--ink-display); }
body.is-waldrain .footer-family-line { color: rgba(26, 38, 24, .68); }
body.is-waldrain .footer-family-line .muted { color: rgba(26, 38, 24, .55); }
body.is-waldrain .footer-family-line a { color: rgba(26, 38, 24, .85); }
body.is-waldrain .footer-family-line a:hover { color: var(--ink-display); }

/* ---------- Tannen-Cluster Akzent ---------- */
.wr-trees {
  position: absolute;
  pointer-events: none;
  opacity: .85;
  z-index: 1;
}
.wr-trees svg { width: 100%; height: auto; display: block; }

/* ---------- Eyebrow-line Override ---------- */
body.is-waldrain .eyebrow-line {
  color: var(--accent-deep);
  font-weight: 700;
  font-size: 11.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body.is-waldrain .eyebrow-line::before {
  background: linear-gradient(90deg, transparent, var(--wr-brass));
  width: 40px;
  height: 1px;
}
body.is-waldrain .eyebrow-line::after {
  content: "";
  width: 40px;
  height: 1px;
  background: linear-gradient(90deg, var(--wr-brass), transparent);
  margin-left: 12px;
  display: inline-block;
  vertical-align: middle;
}

/* ---------- Editorial Drop-Caps in Welt-Sections ---------- */
body.is-waldrain .welt-text p:first-of-type::first-letter {
  font-family: "EB Garamond", Georgia, serif;
  font-size: 4.2em;
  font-weight: 500;
  line-height: .85;
  float: left;
  margin: 6px 12px -2px 0;
  color: var(--accent-deep);
  font-style: italic;
}

/* Keine Texturen — saubere Flächen */

/* ---------- Brass-Trenner zwischen Sections ---------- */
body.is-waldrain .welt + .welt {
  position: relative;
}
body.is-waldrain .welt + .welt::before {
  content: "";
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--wr-brass), transparent);
  opacity: .55;
}

/* ---------- Press-Clipping (bleibt) ---------- */
body.is-waldrain .press-clipping-label-eyebrow { color: var(--accent-deep); font-weight: 700; }
body.is-waldrain .press-clipping-label-title { font-family: var(--font-ui-sans); color: var(--ink-display); font-weight: 700; font-style: italic; }
body.is-waldrain .press-clipping-label-source { color: var(--ink-muted); font-family: var(--font-ui-sans); }

/* ---------- Konzept-Karten · Illustrationen oben ---------- */
.qb-illu {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 130px;
  margin: -8px -8px 18px;
  padding: 14px 14px 0;
  background: linear-gradient(180deg, var(--wr-mint) 0%, var(--accent-hair) 100%);
  border-radius: 14px 14px 6px 6px;
  border-bottom: 2px solid var(--accent-deep);
  position: relative;
  overflow: hidden;
}
.qb-illu svg {
  width: 100%;
  height: 100%;
  max-height: 130px;
}

/* ---------- Welt-Akzent · Tannen am Ende der Welt-Section ---------- */
.welt-deko {
  position: absolute;
  pointer-events: none;
  width: clamp(100px, 12vw, 160px);
  z-index: 0;
  opacity: .9;
}
.welt-deko--bl { bottom: -8px; left: clamp(8px, 3vw, 32px); }
.welt-deko--br { bottom: -8px; right: clamp(8px, 3vw, 32px); }
.welt-deko svg { width: 100%; height: auto; display: block; }

/* ---------- Hero · Aussichtsturm-Akzent dezent rechts oben ---------- */
.wr-hero-tower {
  position: absolute;
  top: clamp(160px, 18vh, 220px);
  right: clamp(20px, 3vw, 60px);
  width: clamp(50px, 5vw, 80px);
  z-index: 1;
  opacity: .35;
  pointer-events: none;
}
.wr-hero-tower svg { width: 100%; height: auto; display: block; }

/* ---------- Standort-Tile · kleine Karten-Illu ---------- */
.info-illu {
  width: 56px;
  height: 56px;
  margin-bottom: 14px;
  background: var(--wr-mint);
  border: 1.5px solid var(--accent-deep);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.info-illu svg { width: 32px; height: 32px; }
body.is-waldrain .info-tile { display: flex; flex-direction: column; }

/* ---------- Hero-Paper-Stil komplett verbergen, falls noch da ---------- */
body.is-waldrain .hero-paper { display: none; }

/* ---------- Animationen · sanft, nicht ablenkend ---------- */
@keyframes wrSunPulse {
  0%, 100% { transform: scale(1); opacity: .85; }
  50%      { transform: scale(1.08); opacity: 1; }
}
.wr-sun-glow { transform-origin: 475px 95px; animation: wrSunPulse 4s ease-in-out infinite; }

@keyframes wrCloudDriftA {
  0%   { transform: translateX(0); }
  100% { transform: translateX(20px); }
}
@keyframes wrCloudDriftB {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-15px); }
}
.wr-cloud--a { animation: wrCloudDriftA 16s ease-in-out infinite alternate; }
.wr-cloud--b { animation: wrCloudDriftB 22s ease-in-out infinite alternate; }

@keyframes wrTreeSwayA {
  0%, 100% { transform: rotate(-1deg); }
  50%      { transform: rotate(1.5deg); }
}
@keyframes wrTreeSwayB {
  0%, 100% { transform: rotate(1deg); }
  50%      { transform: rotate(-1.5deg); }
}
.wr-tree { transform-box: fill-box; transform-origin: bottom center; }
.wr-tree--sway-a { animation: wrTreeSwayA 5s ease-in-out infinite; }
.wr-tree--sway-b { animation: wrTreeSwayB 6s ease-in-out infinite; }

@keyframes wrPillFloat {
  0%, 100% { transform: translate(75px, -8px); }
  50%      { transform: translate(75px, -12px); }
}
.wr-pill-float { animation: wrPillFloat 3.5s ease-in-out infinite; }

@keyframes wrBirdA {
  0%, 100% { transform: translate(0, 0); }
  50%      { transform: translate(18px, -4px); }
}
@keyframes wrBirdB {
  0%, 100% { transform: translate(0, 0); }
  50%      { transform: translate(-15px, -5px); }
}
@keyframes wrWingFlap {
  0%, 100% { d: path("M 350 90 q 5 -4 10 0 q 5 -4 10 0"); }
  50%      { d: path("M 350 90 q 5 -1 10 0 q 5 -1 10 0"); }
}
.wr-bird--a { animation: wrBirdA 9s ease-in-out infinite; }
.wr-bird--b { animation: wrBirdB 11s ease-in-out infinite; }

@keyframes wrLegL {
  0%, 100% { transform: rotate(8deg); }
  50%      { transform: rotate(-8deg); }
}
@keyframes wrLegR {
  0%, 100% { transform: rotate(-8deg); }
  50%      { transform: rotate(8deg); }
}
@keyframes wrBob {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-1.5px); }
}
.wr-walking { animation: wrBob .8s ease-in-out infinite; }
.wr-leg-l { transform-box: fill-box; transform-origin: top center; animation: wrLegL .8s ease-in-out infinite; }
.wr-leg-r { transform-box: fill-box; transform-origin: top center; animation: wrLegR .8s ease-in-out infinite; }

/* Welt-III · Schaukel (in der Wanderfamilie-Szene) */
@keyframes wrSwing {
  0%, 100% { transform: rotate(-15deg); }
  50%      { transform: rotate(15deg); }
}
.wr-swing { transform-box: fill-box; transform-origin: top center; animation: wrSwing 3s ease-in-out infinite; }

/* Hund · Schwanzwedeln */
@keyframes wrTailWag {
  0%, 100% { transform: rotate(-22deg); }
  50%      { transform: rotate(22deg); }
}
.wr-tail { transform-box: fill-box; transform-origin: left center; animation: wrTailWag .5s ease-in-out infinite; }

/* Konzept-Karten Animationen */
@keyframes wrSteam {
  0%   { transform: translateY(0) scaleY(1); opacity: .6; }
  100% { transform: translateY(-12px) scaleY(1.4); opacity: 0; }
}
.qb-illu .wr-steam-line { transform-box: fill-box; transform-origin: bottom center; animation: wrSteam 2.4s ease-out infinite; }
.qb-illu .wr-steam-line:nth-child(2) { animation-delay: .8s; }
.qb-illu .wr-steam-line:nth-child(3) { animation-delay: 1.6s; }

/* Reduzierte Bewegung respektieren */
@media (prefers-reduced-motion: reduce) {
  .wr-sun-glow, .wr-cloud--a, .wr-cloud--b, .wr-tree--sway-a, .wr-tree--sway-b,
  .wr-pill-float, .wr-bird--a, .wr-bird--b, .wr-walking, .wr-leg-l, .wr-leg-r,
  .wr-swing, .wr-tail, .qb-illu .wr-steam-line {
    animation: none !important;
  }
}

/* ---------- Welt-III · illustrative Szene ---------- */
.welt-illu {
  position: relative;
  aspect-ratio: 5/4;
  background: linear-gradient(180deg, #FFF7E8 0%, #EAF1DA 60%, #B3D38A 100%);
  border-radius: 18px;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.welt-illu svg { width: 100%; height: 100%; display: block; }

/* ============================================================
   Mobile Anpassungen · gezielte Optimierung
   ============================================================ */

/* Tablet · 980px abwärts */
@media (max-width: 980px) {
  body.is-waldrain .quick-book-grid { grid-template-columns: 1fr 1fr; max-width: 720px; }
  body.is-waldrain .quick-book-card:nth-child(3) { grid-column: 1 / -1; max-width: 360px; margin: 0 auto; }
  body.is-waldrain .info-grid { gap: 16px; }
}

/* Tablet/große Mobile · 880px abwärts */
@media (max-width: 880px) {
  .wr-hero-inner { grid-template-columns: 1fr; gap: 24px; min-height: auto; }
  .wr-hero-art { aspect-ratio: 5/4; max-width: 560px; margin: 0 auto; width: 100%; }
  .wr-hero-text { padding-bottom: 24px; }
  .wr-hero-title { font-size: clamp(38px, 8vw, 64px); }

  /* Welt-Sections: stack */
  body.is-waldrain .welt {
    display: flex;
    flex-direction: column;
    gap: clamp(24px, 4vw, 40px);
    padding-left: clamp(20px, 4vw, 40px);
    padding-right: clamp(20px, 4vw, 40px);
  }
  body.is-waldrain .welt.flip .welt-text { order: 0; }
  body.is-waldrain .welt.flip .welt-media,
  body.is-waldrain .welt.flip .press-clipping { order: 1; }
  body.is-waldrain .welt-media { max-width: 560px; margin: 0 auto; }
  body.is-waldrain .welt-text h2 { font-size: clamp(28px, 6vw, 44px); }

  /* Heritage: stack */
  body.is-waldrain .heritage-split {
    display: flex;
    flex-direction: column;
    gap: clamp(28px, 4vw, 40px);
  }
  body.is-waldrain .heritage-portrait--duo { max-width: 480px; margin: 0 auto; }
  body.is-waldrain .heritage-top h2 { font-size: clamp(32px, 7vw, 48px); }

  /* Quote: smaller */
  body.is-waldrain .quote-editorial blockquote {
    font-size: clamp(24px, 5.6vw, 36px);
    padding: 0 16px;
  }
  body.is-waldrain .quote-editorial.section-deep::before {
    font-size: clamp(160px, 40vw, 280px);
  }
}

/* Mobile · 720px abwärts */
@media (max-width: 720px) {
  body.is-waldrain .btn { padding: 13px 22px; font-size: 14px; min-width: 0; }
  body.is-waldrain .wr-hero-actions { flex-direction: column; align-items: stretch; gap: 10px; }
  body.is-waldrain .wr-hero-actions .btn { justify-content: center; width: 100%; }
  body.is-waldrain .wr-hero-meta { gap: 18px 24px; }
  body.is-waldrain .wr-hero-meta-col { flex: 1 1 calc(50% - 12px); }
  body.is-waldrain .wr-hero-eyebrow { font-size: 11px; }

  /* Quick-Book → einspaltig */
  body.is-waldrain .quick-book-grid {
    grid-template-columns: 1fr;
    max-width: 460px;
    padding: 0 20px;
  }
  body.is-waldrain .quick-book-card:nth-child(3) {
    grid-column: 1 / -1;
    max-width: none;
  }
  body.is-waldrain .quick-book {
    padding-top: clamp(56px, 12vw, 80px);
    padding-bottom: clamp(56px, 12vw, 80px);
  }
  body.is-waldrain .quick-book-head { margin-bottom: clamp(28px, 5vw, 40px); }
  body.is-waldrain .quick-book-head h2 { font-size: clamp(28px, 6.5vw, 38px); }

  /* Info-Tiles → einspaltig */
  body.is-waldrain .info-grid { grid-template-columns: 1fr; gap: 16px; max-width: 460px; margin: 0 auto; }
  body.is-waldrain .info-tile { padding: 24px; }

  /* Heritage Portrait responsive */
  body.is-waldrain .heritage-portrait--duo {
    grid-template-columns: 1fr 1fr;
    height: clamp(280px, 60vw, 420px);
  }

  /* Heritage Timeline · einspaltig mit klarer Struktur */
  body.is-waldrain .heritage-timeline {
    grid-template-columns: 1fr;
    padding: 24px;
    gap: 16px;
  }
  body.is-waldrain .heritage-timeline::before { display: none; }
  body.is-waldrain .timeline-item {
    padding-left: 16px;
    border-left: 2px solid var(--accent-hair);
  }

  /* Final-CTA */
  body.is-waldrain .final-cta { padding: clamp(56px, 12vw, 80px) 20px; }
  body.is-waldrain .final-cta h2 { font-size: clamp(28px, 6.5vw, 40px); }
  body.is-waldrain .final-cta p { font-size: 16px; }

  /* Footer */
  body.is-waldrain .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 40px 20px;
  }
  body.is-waldrain .footer-brand { max-width: none; }
  body.is-waldrain .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 20px;
    text-align: left;
  }
  body.is-waldrain .footer-family-line {
    flex-wrap: wrap;
    gap: 6px 10px;
    padding: 16px 20px;
  }

  /* Topbar Mobile */
  body.is-waldrain .topbar-inner { padding: 14px 18px; }
  body.is-waldrain .brand-mark { width: 32px; height: 38px; }
  body.is-waldrain .brand-wordmark { font-size: 16px; }
  body.is-waldrain .nav-cta.desktop-only { display: none; }
  body.is-waldrain .nav-toggle { display: inline-flex; }

  /* Hero-Padding */
  .wr-hero {
    padding: calc(120px + 24px) 20px 0;
    margin-top: -120px;
  }

  /* Hügel-Divider kleiner */
  .wr-hill-divider { height: clamp(40px, 8vw, 70px); }

  /* Eyebrow-line auf mobile cleaner */
  body.is-waldrain .eyebrow-line::after { display: none; }
  body.is-waldrain .eyebrow-line::before { width: 28px; }

  /* Drop-Caps weniger dramatisch auf mobile */
  body.is-waldrain .welt-text p:first-of-type::first-letter {
    font-size: 3em;
    margin: 4px 8px -2px 0;
  }

  /* Press-Clipping: stack */
  body.is-waldrain .press-clipping { padding: 16px; }
  body.is-waldrain .press-clipping-frame img { max-width: 100%; }
}

/* Sehr kleine Mobile · 480px abwärts */
@media (max-width: 480px) {
  body.is-waldrain .wr-hero-title { font-size: clamp(34px, 9vw, 44px); }
  body.is-waldrain .wr-hero-title em { font-size: 16px; }
  body.is-waldrain .wr-hero-lead { font-size: 15px; }
  body.is-waldrain .wr-hero-meta-col { flex: 1 1 100%; }
  body.is-waldrain .quick-book-card h3 { font-size: 22px; }
  body.is-waldrain .welt-text h2 { font-size: clamp(26px, 8vw, 36px); }
  body.is-waldrain .heritage-top h2 { font-size: clamp(28px, 8.5vw, 38px); }
}
