
/* ============ Rheintal Living Design System ============ */
@font-face{font-family:'Exo 2';font-style:normal;font-weight:300 800;font-display:swap;src:url(fonts/exo2.woff2) format('woff2-variations');}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/quicksand.woff2) format('woff2-variations');}

/* ============================================================
   Rheintal Living — Design System
   Navy & Sand · Exo 2 (headlines) · Quicksand (body)
   Source: Rheintal Living Brand Guide (Entwurf#1) S.12–13
   ============================================================ */



:root {
  /* ---- Brand: Hauptfarben ---- */
  --rl-navy: #1a2b3c;        /* Primärfarbe */
  --rl-sand: #C9AA76;        /* Akzent / Premium */
  --rl-black: #23282b;
  --rl-anthracite: #383e42;  /* Fließtext */
  --rl-blue-light: #f5f6f7;  /* Flächen / Boxen */
  --rl-white: #ffffff;

  /* ---- Brand: Begleitfarben (Signal) ---- */
  --rl-danger: #9b4a44;
  --rl-warning: #c89b3c;
  --rl-info: #3f6fa0;
  --rl-success: #4f7f5e;

  /* ---- Signal tints (derived, for soft backgrounds) ---- */
  --rl-danger-soft: #f0e2e0;
  --rl-warning-soft: #f6ecd6;
  --rl-info-soft: #e0e8f0;
  --rl-success-soft: #e0ebe4;
  --rl-sand-soft: #f4ecdd;

  /* ---- Neutrals ---- */
  --rl-gray-100: #f5f6f7;
  --rl-gray-200: #e7e9ec;
  --rl-gray-300: #d3d7dd;
  --rl-gray-400: #9aa2ab;
  --rl-gray-500: #6b7480;

  /* ---- Semantic surfaces & text ---- */
  --rl-bg: var(--rl-white);
  --rl-surface: var(--rl-white);
  --rl-surface-muted: var(--rl-blue-light);
  --rl-border: var(--rl-gray-200);
  --rl-border-strong: var(--rl-gray-300);
  --rl-text: var(--rl-anthracite);
  --rl-text-strong: var(--rl-navy);
  --rl-text-muted: var(--rl-gray-500);
  --rl-text-on-navy: var(--rl-white);

  /* ---- Typography ---- */
  --rl-font-head: "Exo 2", "Segoe UI", system-ui, sans-serif;
  --rl-font-body: "Quicksand", "Segoe UI", system-ui, sans-serif;

  --rl-fs-h1: clamp(1.9rem, 1.4rem + 2vw, 2.75rem); /* @kind other */
  --rl-fs-h2: clamp(1.45rem, 1.1rem + 1.4vw, 2rem); /* @kind other */
  --rl-fs-h3: clamp(1.2rem, 1rem + 0.7vw, 1.5rem); /* @kind other */
  --rl-fs-h4: 1.1rem;
  --rl-fs-body: 1rem;
  --rl-fs-subtext: 0.9375rem;
  --rl-fs-micro: 0.75rem;

  /* ---- Spacing scale (4px base) ---- */
  --rl-space-1: 4px;
  --rl-space-2: 8px;
  --rl-space-3: 12px;
  --rl-space-4: 16px;
  --rl-space-5: 24px;
  --rl-space-6: 32px;
  --rl-space-7: 48px;
  --rl-space-8: 64px;

  /* ---- Radius (soft, per logo geometry) ---- */
  --rl-radius-sm: 6px;
  --rl-radius-md: 10px;
  --rl-radius-lg: 16px;
  --rl-radius-pill: 999px;

  /* ---- Elevation (flat brand — very restrained) ---- */
  --rl-shadow-sm: 0 1px 2px rgba(26, 43, 60, 0.06);
  --rl-shadow-md: 0 6px 20px rgba(26, 43, 60, 0.12);

  /* ---- Motion ---- */
  --rl-ease: cubic-bezier(0.2, 0.6, 0.2, 1); /* @kind other */
  --rl-dur: 160ms; /* @kind other */

  /* ---- Charts (Serienreihenfolge 1 → 4, Sand = Akzentwert) ---- */
  --rl-chart-1: #1A2B3C;
  --rl-chart-2: #607C93;
  --rl-chart-3: #A3B1BD;
  --rl-chart-4: #C9AA76;
  --rl-chart-grid: #E6E8EA;
  --rl-chart-axis: #C6CDD4;
}

/* ============================================================
   Base / element scoping helper
   ============================================================ */
.rl-root,
[data-rl] {
  font-family: var(--rl-font-body);
  color: var(--rl-text);
  font-size: var(--rl-fs-body);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

/* ============================================================
   Typography
   ============================================================ */
.rl-heading {
  font-family: var(--rl-font-head);
  color: var(--rl-text-strong);
  font-weight: 600;
  line-height: 1.15;
  margin: 0;
  letter-spacing: 0.01em;
}
.rl-heading--1 { font-size: var(--rl-fs-h1); font-weight: 500; }
.rl-heading--2 { font-size: var(--rl-fs-h2); font-weight: 600; }
.rl-heading--3 { font-size: var(--rl-fs-h3); font-weight: 600; }
.rl-heading--4 { font-size: var(--rl-fs-h4); font-weight: 700; }

.rl-text { font-family: var(--rl-font-body); margin: 0; }
.rl-text--body { font-size: var(--rl-fs-body); font-weight: 400; }
.rl-text--subtext { font-size: var(--rl-fs-subtext); font-weight: 500; }
.rl-text--micro {
  font-size: var(--rl-fs-micro);
  font-weight: 300;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rl-text-muted);
}
.rl-text--muted { color: var(--rl-text-muted); }
.rl-text--strong { color: var(--rl-text-strong); }
.rl-text--sand { color: var(--rl-sand); }

/* ============================================================
   Button
   ============================================================ */
.rl-btn {
  font-family: var(--rl-font-body);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--rl-space-2);
  border: 1.5px solid transparent;
  border-radius: var(--rl-radius-pill);
  cursor: pointer;
  transition: background var(--rl-dur) var(--rl-ease),
    color var(--rl-dur) var(--rl-ease), border-color var(--rl-dur) var(--rl-ease),
    transform var(--rl-dur) var(--rl-ease);
  white-space: nowrap;
  text-decoration: none;
  line-height: 1;
}
.rl-btn:active { transform: translateY(1px); }
.rl-btn:focus-visible {
  outline: 3px solid var(--rl-sand);
  outline-offset: 2px;
}
.rl-btn--sm { font-size: 0.8125rem; padding: 8px 16px; }
.rl-btn--md { font-size: 0.9375rem; padding: 11px 22px; }
.rl-btn--lg { font-size: 1.0625rem; padding: 14px 30px; }
.rl-btn--full { width: 100%; }

.rl-btn--primary { background: var(--rl-navy); color: var(--rl-white); }
.rl-btn--primary:hover { background: #142230; }

.rl-btn--secondary {
  background: transparent;
  color: var(--rl-navy);
  border-color: var(--rl-navy);
}
.rl-btn--secondary:hover { background: var(--rl-blue-light); }

.rl-btn--sand { background: var(--rl-sand); color: var(--rl-navy); }
.rl-btn--sand:hover { background: #bd9a61; }

.rl-btn--ghost { background: transparent; color: var(--rl-navy); }
.rl-btn--ghost:hover { background: var(--rl-blue-light); }

.rl-btn--danger { background: var(--rl-danger); color: var(--rl-white); }
.rl-btn--danger:hover { background: #863e39; }

.rl-btn:disabled,
.rl-btn[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
}

/* ============================================================
   Badge
   ============================================================ */
.rl-badge {
  font-family: var(--rl-font-body);
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: 0.02em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: var(--rl-radius-pill);
  line-height: 1.4;
}
.rl-badge__dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
/* solid */
.rl-badge--solid.rl-badge--navy { background: var(--rl-navy); color: #fff; }
.rl-badge--solid.rl-badge--sand { background: var(--rl-sand); color: var(--rl-navy); }
.rl-badge--solid.rl-badge--info { background: var(--rl-info); color: #fff; }
.rl-badge--solid.rl-badge--success { background: var(--rl-success); color: #fff; }
.rl-badge--solid.rl-badge--warning { background: var(--rl-warning); color: #3a2c08; }
.rl-badge--solid.rl-badge--danger { background: var(--rl-danger); color: #fff; }
.rl-badge--solid.rl-badge--neutral { background: var(--rl-gray-200); color: var(--rl-navy); }
/* soft */
.rl-badge--soft.rl-badge--navy { background: var(--rl-blue-light); color: var(--rl-navy); }
.rl-badge--soft.rl-badge--sand { background: var(--rl-sand-soft); color: #7a5f2b; }
.rl-badge--soft.rl-badge--info { background: var(--rl-info-soft); color: #2c4e6e; }
.rl-badge--soft.rl-badge--success { background: var(--rl-success-soft); color: #385b43; }
.rl-badge--soft.rl-badge--warning { background: var(--rl-warning-soft); color: #7a5f1f; }
.rl-badge--soft.rl-badge--danger { background: var(--rl-danger-soft); color: #7e2b2b; }
.rl-badge--soft.rl-badge--neutral { background: var(--rl-gray-100); color: var(--rl-gray-500); }

/* ============================================================
   Alert
   ============================================================ */
.rl-alert {
  display: flex;
  gap: var(--rl-space-3);
  padding: var(--rl-space-4);
  border-radius: var(--rl-radius-md);
  border: 1px solid transparent;
  border-left-width: 4px;
}
.rl-alert__icon { flex: none; width: 20px; height: 20px; margin-top: 1px; }
.rl-alert__body { min-width: 0; }
.rl-alert__title {
  font-family: var(--rl-font-body);
  font-weight: 700;
  margin: 0 0 2px;
  font-size: 0.9375rem;
}
.rl-alert__text { font-family: var(--rl-font-body); margin: 0; font-size: 0.9375rem; color: var(--rl-text); }
.rl-alert--info { background: var(--rl-info-soft); border-color: var(--rl-info); color: #2c4e6e; }
.rl-alert--success { background: var(--rl-success-soft); border-color: var(--rl-success); color: #385b43; }
.rl-alert--warning { background: var(--rl-warning-soft); border-color: var(--rl-warning); color: #7a5f1f; }
.rl-alert--danger { background: var(--rl-danger-soft); border-color: var(--rl-danger); color: #7e2b2b; }
.rl-alert--info .rl-alert__icon { color: var(--rl-info); }
.rl-alert--success .rl-alert__icon { color: var(--rl-success); }
.rl-alert--warning .rl-alert__icon { color: var(--rl-warning); }
.rl-alert--danger .rl-alert__icon { color: var(--rl-danger); }

/* ============================================================
   Card
   ============================================================ */
.rl-card {
  background: var(--rl-surface);
  border: 1px solid var(--rl-border);
  border-radius: var(--rl-radius-lg);
  overflow: hidden;
}
.rl-card--muted { background: var(--rl-surface-muted); }
.rl-card--elevated { box-shadow: var(--rl-shadow-md); border-color: transparent; }
.rl-card__media { display: block; width: 100%; }
.rl-card__body { padding: var(--rl-space-5); }
.rl-card__header {
  padding: var(--rl-space-4) var(--rl-space-5);
  border-bottom: 1px solid var(--rl-border);
}
.rl-card__footer {
  padding: var(--rl-space-4) var(--rl-space-5);
  border-top: 1px solid var(--rl-border);
  display: flex;
  gap: var(--rl-space-3);
  align-items: center;
}
.rl-card__title { font-family: var(--rl-font-head); font-weight: 600; color: var(--rl-navy); margin: 0; font-size: 1.15rem; }

/* ============================================================
   Form controls
   ============================================================ */
.rl-field { display: flex; flex-direction: column; gap: 6px; }
.rl-label {
  font-family: var(--rl-font-body);
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--rl-navy);
}
.rl-label__req { color: var(--rl-danger); margin-left: 2px; }
.rl-hint { font-size: 0.8125rem; color: var(--rl-text-muted); }
.rl-hint--error { color: var(--rl-danger); }

.rl-input,
.rl-textarea,
.rl-select {
  font-family: var(--rl-font-body);
  font-size: 0.9375rem;
  color: var(--rl-text);
  background: var(--rl-white);
  border: 1.5px solid var(--rl-border-strong);
  border-radius: var(--rl-radius-md);
  padding: 10px 14px;
  transition: border-color var(--rl-dur) var(--rl-ease), box-shadow var(--rl-dur) var(--rl-ease);
  width: 100%;
}
.rl-textarea { resize: vertical; min-height: 88px; }
.rl-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231A2B3C' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
}
.rl-input::placeholder,
.rl-textarea::placeholder { color: var(--rl-gray-400); }
.rl-input:focus,
.rl-textarea:focus,
.rl-select:focus {
  outline: none;
  border-color: var(--rl-navy);
  box-shadow: 0 0 0 3px rgba(26, 43, 60, 0.12);
}
.rl-input--invalid,
.rl-textarea--invalid,
.rl-select--invalid { border-color: var(--rl-danger); }
.rl-input--invalid:focus,
.rl-textarea--invalid:focus,
.rl-select--invalid:focus { box-shadow: 0 0 0 3px rgba(155, 74, 68, 0.16); }
.rl-input:disabled,
.rl-textarea:disabled,
.rl-select:disabled { background: var(--rl-gray-100); color: var(--rl-gray-400); cursor: not-allowed; }

/* Checkbox & radio */
.rl-choice {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--rl-font-body);
  font-size: 0.9375rem;
  color: var(--rl-text);
  cursor: pointer;
}
.rl-choice__control {
  appearance: none;
  width: 20px;
  height: 20px;
  flex: none;
  border: 1.5px solid var(--rl-border-strong);
  background: var(--rl-white);
  display: inline-grid;
  place-content: center;
  transition: background var(--rl-dur) var(--rl-ease), border-color var(--rl-dur) var(--rl-ease);
  cursor: pointer;
}
.rl-choice__control--checkbox { border-radius: 6px; }
.rl-choice__control--radio { border-radius: 50%; }
.rl-choice__control:checked { background: var(--rl-navy); border-color: var(--rl-navy); }
.rl-choice__control--checkbox:checked::after {
  content: "";
  width: 10px; height: 6px;
  border: 2px solid #fff;
  border-top: 0; border-right: 0;
  transform: translateY(-1px) rotate(-45deg);
}
.rl-choice__control--radio:checked::after {
  content: ""; width: 8px; height: 8px; border-radius: 50%; background: #fff;
}
.rl-choice__control:focus-visible { outline: 3px solid var(--rl-sand); outline-offset: 2px; }
.rl-choice--disabled { opacity: 0.5; cursor: not-allowed; }

.rl-radiogroup { display: flex; flex-direction: column; gap: 10px; }
.rl-radiogroup--horizontal { flex-direction: row; gap: 20px; flex-wrap: wrap; }

/* Switch */
.rl-switch { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-family: var(--rl-font-body); font-size: 0.9375rem; }
.rl-switch__track {
  width: 42px; height: 24px; border-radius: 999px;
  background: var(--rl-gray-300);
  position: relative;
  transition: background var(--rl-dur) var(--rl-ease);
  flex: none;
}
.rl-switch__thumb {
  position: absolute; top: 3px; left: 3px;
  width: 18px; height: 18px; border-radius: 50%;
  background: #fff;
  transition: transform var(--rl-dur) var(--rl-ease);
  box-shadow: var(--rl-shadow-sm);
}
.rl-switch--on .rl-switch__track { background: var(--rl-success); }
.rl-switch--on .rl-switch__thumb { transform: translateX(18px); }
.rl-switch--disabled { opacity: 0.5; cursor: not-allowed; }

/* ============================================================
   Navbar
   ============================================================ */
.rl-navbar {
  display: flex;
  align-items: center;
  gap: var(--rl-space-5);
  padding: 14px var(--rl-space-5);
  background: var(--rl-navy);
  color: var(--rl-white);
  border-radius: var(--rl-radius-md);
}
.rl-navbar__brand { display: flex; align-items: center; flex: none; }
.rl-navbar__items { display: flex; align-items: center; gap: 4px; flex: 1; }
.rl-navbar__link {
  font-family: var(--rl-font-body);
  font-weight: 500;
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.82);
  text-decoration: none;
  padding: 8px 14px;
  border-radius: var(--rl-radius-pill);
  transition: background var(--rl-dur) var(--rl-ease), color var(--rl-dur) var(--rl-ease);
}
.rl-navbar__link:hover { color: #fff; background: rgba(255, 255, 255, 0.08); }
.rl-navbar__link--active { color: var(--rl-navy); background: var(--rl-sand); }
.rl-navbar__actions { display: flex; align-items: center; gap: var(--rl-space-2); flex: none; }

/* ============================================================
   Tabs
   ============================================================ */
.rl-tabs__list {
  display: flex;
  gap: 4px;
  border-bottom: 1.5px solid var(--rl-border);
}
.rl-tab {
  font-family: var(--rl-font-body);
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--rl-text-muted);
  background: transparent;
  border: none;
  padding: 12px 18px;
  cursor: pointer;
  position: relative;
  transition: color var(--rl-dur) var(--rl-ease);
}
.rl-tab:hover { color: var(--rl-navy); }
.rl-tab--active { color: var(--rl-navy); }
.rl-tab--active::after {
  content: "";
  position: absolute;
  left: 12px; right: 12px; bottom: -1.5px;
  height: 3px; border-radius: 3px 3px 0 0;
  background: var(--rl-sand);
}
.rl-tab:focus-visible { outline: 3px solid var(--rl-sand); outline-offset: -3px; border-radius: 6px; }
.rl-tabs__panel { padding: var(--rl-space-5) 2px; }

/* ============================================================
   Modal
   ============================================================ */
.rl-modal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(26, 43, 60, 0.55);
  display: grid;
  place-items: center;
  padding: var(--rl-space-5);
  z-index: 50;
}
.rl-modal {
  background: var(--rl-white);
  border-radius: var(--rl-radius-lg);
  box-shadow: var(--rl-shadow-md);
  width: 100%;
  max-width: 480px;
  overflow: hidden;
}
.rl-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rl-space-4);
  padding: var(--rl-space-5) var(--rl-space-5) var(--rl-space-3);
}
.rl-modal__title { font-family: var(--rl-font-head); font-weight: 600; color: var(--rl-navy); margin: 0; font-size: 1.25rem; }
.rl-modal__close {
  border: none; background: transparent; cursor: pointer;
  width: 32px; height: 32px; border-radius: var(--rl-radius-sm);
  color: var(--rl-gray-500); display: grid; place-content: center;
}
.rl-modal__close:hover { background: var(--rl-blue-light); color: var(--rl-navy); }
.rl-modal__body { padding: 0 var(--rl-space-5) var(--rl-space-4); color: var(--rl-text); }
.rl-modal__footer {
  display: flex; justify-content: flex-end; gap: var(--rl-space-3);
  padding: var(--rl-space-4) var(--rl-space-5) var(--rl-space-5);
}

/* ============================================================
   Table
   ============================================================ */
.rl-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--rl-border); border-radius: var(--rl-radius-md); }
.rl-table { width: 100%; border-collapse: collapse; font-family: var(--rl-font-body); font-size: 0.9375rem; }
.rl-table thead th {
  background: var(--rl-navy);
  color: #fff;
  font-weight: 600;
  text-align: left;
  padding: 12px 16px;
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}
.rl-table tbody td { padding: 12px 16px; border-bottom: 1px solid var(--rl-border); color: var(--rl-text); }
.rl-table tbody tr:nth-child(even) { background: var(--rl-blue-light); }
.rl-table tbody tr:last-child td { border-bottom: none; }
.rl-table .rl-table--right { text-align: right; font-variant-numeric: tabular-nums; }
.rl-table .rl-table--center { text-align: center; }
.rl-table tfoot td {
  padding: 12px 16px;
  font-weight: 700;
  color: var(--rl-navy);
  border-top: 2px solid var(--rl-navy);
}

/* ============================================================
   Logo
   ============================================================ */
.rl-logo { display: inline-flex; align-items: center; gap: 0.5em; line-height: 1; }
.rl-logo--vertical { flex-direction: column; gap: 0.35em; }
.rl-logo__mark { display: block; height: 1em; width: auto; flex: none; }
.rl-logo__wordmark { display: flex; flex-direction: column; line-height: 0.98; }
.rl-logo__word {
  font-family: var(--rl-font-head);
  font-weight: 600;
  letter-spacing: 0.16em;
  font-size: 0.62em;
  color: var(--rl-navy);
}
.rl-logo__word--living { font-weight: 400; letter-spacing: 0.28em; }
.rl-logo--negative .rl-logo__word { color: #fff; }
.rl-logo--vertical .rl-logo__wordmark { align-items: center; text-align: center; }


/* ============ Panorama Lörrach — Seitenlayout ============
   Nur Seitenarchitektur. Alle Werte aus --rl-* Tokens.
   Sand-Disziplin: höchstens eine Sand-Fläche je Ansicht.
   ======================================================== */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--rl-bg)}
section[id]{scroll-margin-top:80px}
img{display:block;max-width:100%;height:auto}

.pl-wrap{max-width:1180px;margin:0 auto;padding:0 var(--rl-space-5)}
.pl-sec{padding:var(--rl-space-8) 0}
@media(min-width:900px){.pl-sec{padding:96px 0}}
.pl-sec--muted{background:var(--rl-surface-muted)}
.pl-sec--navy{background:var(--rl-navy)}
.pl-sec--navy .rl-heading{color:var(--rl-text-on-navy)}
.pl-sec--navy .rl-text{color:#C3CBD3}
.pl-sec--navy .rl-text--micro{color:var(--rl-gray-400)}
.pl-head{margin-bottom:var(--rl-space-6)}
.pl-head .rl-text--micro{margin-bottom:var(--rl-space-3)}
.pl-head .rl-heading{margin-bottom:var(--rl-space-4)}
.pl-lead{max-width:64ch;font-size:1.0625rem;line-height:1.6}

/* ---- Navbar ---- */
.pl-top{position:fixed;inset:0 0 auto;z-index:60;padding:var(--rl-space-2) 0;
  background:linear-gradient(180deg,rgba(26,43,60,.78),rgba(26,43,60,0));
  transition:background var(--rl-dur) var(--rl-ease)}
.pl-top--solid{background:var(--rl-navy)}
.pl-top .pl-wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--rl-space-5)}
.pl-top img{height:72px;width:auto}
.pl-nav{display:flex;gap:var(--rl-space-6);align-items:center}
.pl-nav a{color:var(--rl-white);text-decoration:none;font-size:var(--rl-fs-subtext);font-weight:600}
.pl-nav a:hover{color:var(--rl-sand)}
.pl-btn-on-navy{background:transparent;color:var(--rl-white);border-color:rgba(255,255,255,.55)}
.pl-btn-on-navy:hover{background:var(--rl-white);color:var(--rl-navy);border-color:var(--rl-white)}
@media(max-width:880px){.pl-nav a:not(.rl-btn){display:none}}

/* ---- Hero ---- */
.pl-hero{position:relative;min-height:min(94vh,880px);display:flex;align-items:flex-end;
  background:var(--rl-navy);overflow:hidden}
.pl-hero>img,.pl-hero>picture{position:absolute;inset:0;width:100%;height:100%}
.pl-hero>picture img{width:100%;height:100%;object-fit:cover}
.pl-hero>img{object-fit:cover}
.pl-hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(26,43,60,.42) 0%,rgba(26,43,60,.06) 24%,
    rgba(26,43,60,.55) 60%,rgba(26,43,60,.88) 84%,rgba(26,43,60,.96) 100%)}
.pl-hero .pl-wrap{position:relative;z-index:2;padding-top:140px;padding-bottom:var(--rl-space-8)}
.pl-flock{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;pointer-events:none;
  overflow:hidden}
.pl-bird{position:absolute;left:72%;top:15%;width:34px;height:18px;overflow:visible;
  color:rgba(214,219,224,.94);will-change:transform}
.pl-bird__wing,.pl-bird__head,.pl-bird__beak{fill:currentColor}
.pl-bird__wing{transform-box:view-box;transform-origin:22px 11px}
@media(max-width:700px){.pl-flock{display:none}}
@media(prefers-reduced-motion:reduce){.pl-flock{display:none}}
@keyframes pl-flap-l{0%,100%{transform:rotate(10deg)}50%{transform:rotate(-32deg)}}
@keyframes pl-flap-r{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(32deg)}}
.pl-bird__wing--l{animation:pl-flap-l 0.62s ease-in-out infinite}
.pl-bird__wing--r{animation:pl-flap-r 0.62s ease-in-out infinite}
.pl-bird:nth-child(2) .pl-bird__wing{animation-duration:.7s;animation-delay:-.15s}
.pl-bird:nth-child(3) .pl-bird__wing{animation-duration:.58s;animation-delay:-.3s}
.pl-bird:nth-child(4) .pl-bird__wing{animation-duration:.66s;animation-delay:-.45s}
.pl-bird:nth-child(5) .pl-bird__wing{animation-duration:.6s;animation-delay:-.6s}
.pl-hero .rl-heading--1{color:var(--rl-white);max-width:20ch;
  font-size:clamp(2.2rem,1.4rem + 3.4vw,3.6rem);text-shadow:0 2px 18px rgba(15,25,36,.45)}
.pl-hero .pl-micro{color:#D6DDE4;margin-bottom:var(--rl-space-4)}
.pl-claim{font-family:var(--rl-font-head);font-weight:500;color:var(--rl-white);
  font-size:clamp(1.1rem,.9rem + 1vw,1.5rem);margin:var(--rl-space-4) 0 0;
  text-shadow:0 2px 14px rgba(15,25,36,.5)}
.pl-hero .pl-sub{color:#E6EAEE;max-width:56ch;margin-top:var(--rl-space-4);
  font-size:1.0625rem;line-height:1.6;text-shadow:0 1px 10px rgba(15,25,36,.5)}
.pl-cta{display:flex;flex-wrap:wrap;gap:var(--rl-space-3);margin-top:var(--rl-space-6)}

/* ---- Faktenleiste ---- */
.pl-facts{background:var(--rl-navy);border-top:1px solid rgba(255,255,255,.12)}
.pl-facts .pl-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(255,255,255,.12)}
.pl-facts .pl-cell{background:var(--rl-navy);padding:var(--rl-space-5) var(--rl-space-4);text-align:center}
.pl-facts .pl-val{font-family:var(--rl-font-head);font-weight:600;font-size:1.6rem;
  color:var(--rl-white);display:block;line-height:1.15;font-variant-numeric:tabular-nums}
.pl-facts .pl-val--accent{color:var(--rl-sand)}
.pl-facts .pl-key{display:block;margin-top:var(--rl-space-2);font-size:var(--rl-fs-micro);
  letter-spacing:.06em;color:var(--rl-gray-400)}
@media(max-width:880px){.pl-facts .pl-grid{grid-template-columns:repeat(2,1fr)}
  .pl-facts .pl-cell:last-child{grid-column:1/-1}}

/* ---- Split ---- */
.pl-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--rl-space-7);align-items:center}
.pl-split--wide{grid-template-columns:1.1fr .9fr}
.pl-split--top{align-items:start}
@media(max-width:900px){.pl-split{grid-template-columns:1fr}}
.pl-fig{margin:0}
.pl-fig img,.pl-fig picture{display:block;width:100%}
.pl-fig img{border-radius:var(--rl-radius-lg);width:100%;height:auto}
.pl-fig figcaption{font-size:var(--rl-fs-micro);letter-spacing:.06em;color:var(--rl-text-muted);
  margin-top:var(--rl-space-3);text-transform:none}
.pl-sec--navy .pl-fig figcaption{color:var(--rl-gray-400)}
.pl-figstack{display:flex;flex-direction:column;gap:var(--rl-space-6)}
.pl-figstack .pl-fig figcaption{line-height:1.6}
.pl-figstack>p{margin:0}

.pl-grundrisse{margin-top:var(--rl-space-7)}
.pl-gr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--rl-space-6);
  margin-top:var(--rl-space-4);align-items:start}
@media(max-width:900px){.pl-gr-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.pl-gr-grid{grid-template-columns:1fr;max-width:340px;margin-inline:auto}}
.pl-gr{margin:0}
.pl-gr__link{display:block;border-radius:var(--rl-radius-lg);overflow:hidden;
  background:var(--rl-white);border:1px solid var(--rl-border)}
.pl-gr__link picture,.pl-gr__link img{display:block;width:100%;height:auto}
.pl-gr figcaption{margin-top:var(--rl-space-3);font-size:var(--rl-fs-subtext);color:var(--rl-text)}
.pl-gr figcaption strong{display:block;font-family:var(--rl-font-head);font-weight:600;
  color:var(--rl-text-strong);margin-bottom:2px}
.pl-gr-hinweis{margin-top:var(--rl-space-5)}

/* ---- Aussichts-Staffelung ---- */
.pl-stair{list-style:none;padding:0;margin:var(--rl-space-6) 0 0;counter-reset:s}
.pl-stair li{position:relative;padding-left:56px;margin-bottom:var(--rl-space-5)}
.pl-stair li::before{counter-increment:s;content:counter(s,decimal-leading-zero);
  position:absolute;left:0;top:0;font-family:var(--rl-font-head);font-weight:600;
  font-size:1rem;color:var(--rl-gray-400);font-variant-numeric:tabular-nums}
.pl-stair li::after{content:"";position:absolute;left:11px;top:24px;bottom:-24px;width:1px;
  background:rgba(255,255,255,.16)}
.pl-stair li:last-child::after{display:none}
.pl-stair li:last-child::before{color:var(--rl-sand)}
.pl-stair strong{display:block;font-family:var(--rl-font-head);font-weight:600;
  color:var(--rl-white);font-size:var(--rl-fs-h4);margin-bottom:2px}
.pl-stair span{font-size:var(--rl-fs-subtext);color:#AEB8C2}
.pl-note{margin-top:var(--rl-space-6);padding-left:var(--rl-space-4);
  border-left:1px solid rgba(255,255,255,.2)}

/* ---- Galerie ---- */
.pl-gal{display:grid;grid-template-columns:1fr 1fr;gap:var(--rl-space-4)}
.pl-gal .pl-wide{grid-column:1/-1}
.pl-gal .pl-wide img{height:auto}
@media(max-width:760px){.pl-gal{grid-template-columns:1fr}}

/* ---- Karten ---- */
.pl-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--rl-space-5)}
/* ---- Icons ---- */
.rl-ico{width:1em;height:1em;fill:none;stroke:currentColor;flex:0 0 auto}

/* ---- Ausstattung ---- */
.pl-aus{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--rl-space-6) var(--rl-space-7)}
.pl-aus__item{padding-top:var(--rl-space-4);border-top:2px solid var(--rl-navy)}
.pl-aus__item--mark{border-top-color:var(--rl-sand)}
.pl-aus__item .rl-ico{font-size:32px;color:var(--rl-navy);display:block;
  margin-bottom:var(--rl-space-3)}
.pl-aus__icons{display:flex;gap:var(--rl-space-2);margin-bottom:var(--rl-space-3)}
.pl-aus__icons .rl-ico{margin-bottom:0}
.pl-aus__item--mark .rl-ico{color:var(--rl-sand)}
.pl-aus__item h3{font-family:var(--rl-font-head);font-size:1.15rem;font-weight:600;
  color:var(--rl-navy);margin:0 0 var(--rl-space-2);line-height:1.25}
/* ---- Serienausstattung als Icon-Zeile ---- */
.pl-serie{margin-top:var(--rl-space-7);padding-top:var(--rl-space-6);
  border-top:1px solid var(--rl-border)}
.pl-serie__grid{display:grid;grid-template-columns:repeat(4,1fr);
  gap:var(--rl-space-5) var(--rl-space-6);margin-top:var(--rl-space-5)}
.pl-serie__item{display:flex;gap:var(--rl-space-3);align-items:flex-start}
.pl-serie__item .rl-ico{font-size:26px;color:var(--rl-navy);margin-top:2px}
.pl-serie__item b{display:block;font-family:var(--rl-font-head);font-size:.98rem;
  font-weight:600;color:var(--rl-navy);line-height:1.25}
.pl-serie__item span{display:block;font-size:var(--rl-fs-micro);line-height:1.45;
  color:var(--rl-text-muted);margin-top:2px}
@media(max-width:900px){.pl-serie__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.pl-serie__grid{grid-template-columns:1fr}}
.pl-aus__item p{margin:0;font-size:var(--rl-fs-subtext);line-height:1.6;
  color:var(--rl-text-muted)}
@media(max-width:900px){.pl-aus{grid-template-columns:repeat(2,1fr);gap:var(--rl-space-5)}}
@media(max-width:600px){.pl-aus{grid-template-columns:1fr}}
@media(max-width:900px){.pl-cards{grid-template-columns:1fr}}
.pl-cards .rl-card__body>.rl-text--micro{margin-bottom:var(--rl-space-3);display:block}
.pl-cards .rl-heading--4{margin-bottom:var(--rl-space-3)}

/* ---- Vergleich ---- */
.pl-cmp{display:grid;grid-template-columns:1fr 1fr;gap:var(--rl-space-4)}
@media(max-width:760px){.pl-cmp{grid-template-columns:1fr}}
.pl-cmp .rl-card__body>ul{list-style:none;margin:var(--rl-space-4) 0 0;padding:0;
  font-size:var(--rl-fs-subtext)}
.pl-cmp li{position:relative;padding-left:var(--rl-space-5);margin-bottom:var(--rl-space-3)}
.pl-cmp li::before{position:absolute;left:0;font-weight:700}
.pl-cmp .pl-them li::before{content:"–";color:var(--rl-gray-400)}
.pl-cmp .pl-us li::before{content:"✓";color:var(--rl-navy)}

/* ---- Zeitstrahl ---- */
.pl-tl{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12);
  border-radius:var(--rl-radius-md);overflow:hidden;margin-top:var(--rl-space-6)}
@media(max-width:820px){.pl-tl{grid-template-columns:1fr 1fr}}
.pl-tl>div{background:var(--rl-navy);padding:var(--rl-space-5) var(--rl-space-4)}
.pl-tl .rl-badge{margin-bottom:var(--rl-space-3)}
.pl-tl strong{display:block;font-family:var(--rl-font-head);font-weight:600;color:var(--rl-white);
  font-size:var(--rl-fs-h4);margin-bottom:var(--rl-space-1)}
.pl-tl span{font-size:var(--rl-fs-subtext);color:#98A2AC}

/* ---- Kontakt ---- */
.pl-kontakt{display:grid;grid-template-columns:1fr 1fr;gap:var(--rl-space-7);align-items:start}
@media(max-width:820px){.pl-kontakt{grid-template-columns:1fr}}
.pl-form{padding:var(--rl-space-6)}
.pl-fgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--rl-space-4)}
@media(max-width:700px){.pl-fgrid{grid-template-columns:1fr}}
.pl-full{grid-column:1/-1}
.rl-field{margin:0}
.pl-consent{display:flex;gap:var(--rl-space-3);align-items:flex-start;margin:var(--rl-space-5) 0 0}
.pl-consent input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--rl-navy)}
.pl-consent label{font-size:var(--rl-fs-subtext);font-weight:400;color:var(--rl-text-muted);
  line-height:1.5}
.pl-rollen{margin-top:var(--rl-space-6);display:grid;gap:var(--rl-space-4)}
.pl-rollen p{margin:0;line-height:1.6}
.pl-person{margin-top:var(--rl-space-6);background:var(--rl-white);
  border:1px solid var(--rl-border);border-radius:var(--rl-radius-md);
  padding:var(--rl-space-5)}
.pl-person__top{display:flex;gap:var(--rl-space-5);align-items:flex-start;
  margin-bottom:var(--rl-space-5)}
.pl-person__foto{flex:0 0 108px;width:108px}
.pl-person__foto img{display:block;width:100%;height:auto;border-radius:var(--rl-radius-md)}
@media(max-width:460px){.pl-person__foto{flex-basis:84px;width:84px}
  .pl-person__top{gap:var(--rl-space-4)}}
.pl-person__name{font-family:var(--rl-font-head);font-size:1.25rem;font-weight:600;
  color:var(--rl-navy);line-height:1.2;margin:0}
.pl-person__rolle{font-size:var(--rl-fs-micro);letter-spacing:.12em;text-transform:uppercase;
  color:var(--rl-text-muted);font-weight:600;margin:6px 0 0}
.pl-person__zitat{margin:0 0 var(--rl-space-5);font-size:var(--rl-fs-subtext);
  line-height:1.6;color:var(--rl-text-muted);font-style:italic}
.pl-person__list{list-style:none;margin:0;padding:0;font-size:var(--rl-fs-subtext);
  line-height:1.9}
.pl-person__list a{color:var(--rl-navy);text-decoration:none;
  border-bottom:1px solid var(--rl-border-strong);overflow-wrap:anywhere}
.pl-person__list a:hover{border-bottom-color:var(--rl-navy)}
.pl-person__k{display:inline-block;min-width:92px;color:var(--rl-text-muted)}
.pl-person__firma{margin:var(--rl-space-4) 0 0;padding-top:var(--rl-space-4);
  border-top:1px solid var(--rl-border);font-size:var(--rl-fs-subtext);
  color:var(--rl-text-muted);line-height:1.6}
.pl-person .pl-person__firma--top{margin:6px 0 0;padding-top:0;border-top:none}

/* ---- Footer ---- */
.pl-foot{background:var(--rl-navy);padding:var(--rl-space-7) 0 var(--rl-space-6);
  border-top:1px solid rgba(255,255,255,.12)}
.pl-foot img{height:96px;margin-bottom:var(--rl-space-5)}
@media(max-width:640px){.pl-foot img{height:72px}}
.pl-foot,.pl-foot .rl-text{color:#8E99A4;font-size:var(--rl-fs-subtext)}
.pl-foot a{color:#B6BEC6;text-decoration:none}
.pl-foot a:hover{color:var(--rl-sand)}
.pl-foot-row{display:flex;flex-wrap:wrap;gap:var(--rl-space-6);justify-content:space-between;
  align-items:flex-start}
.pl-links{display:flex;gap:var(--rl-space-5);flex-wrap:wrap}
.pl-legal{margin-top:var(--rl-space-6);padding-top:var(--rl-space-5);
  border-top:1px solid rgba(255,255,255,.1);font-size:var(--rl-fs-micro);letter-spacing:0;
  text-transform:none;line-height:1.7;color:#727C86}


/* ---- Korrekturen ---- */
/* Tabellen ohne Rahmen und ohne Zebra — nur feine Zeilentrenner */
.rl-table-wrap{border:none;border-radius:0;overflow-x:visible}
.rl-table{width:100%;table-layout:fixed}
.rl-table tbody tr{background:none}
.rl-table tbody tr:nth-child(even){background:none}
.rl-table tbody th[scope="row"]{text-align:left;color:var(--rl-text-strong);font-weight:600;
  width:34%;vertical-align:baseline;padding:12px 20px 12px 0;
  border-bottom:1px solid var(--rl-border);
  overflow-wrap:break-word;hyphens:auto}
.rl-table tbody td{text-align:left;vertical-align:baseline;padding:12px 0;
  border-bottom:1px solid var(--rl-border);overflow-wrap:break-word}
.rl-table tbody tr:first-child th,.rl-table tbody tr:first-child td{padding-top:0}
.rl-table tbody tr:last-child th,.rl-table tbody tr:last-child td{border-bottom:none}
.pl-hero .pl-micro{text-shadow:0 1px 10px rgba(15,25,36,.7)}
/* Platzhalter auf dunklen Flächen ohne zweite Sand-Fläche */
.pl-sec--navy .pl-ph,.pl-foot .pl-ph{background:transparent;color:var(--rl-sand);
  border-bottom:1px dotted var(--rl-sand);border-radius:0;padding:0}


/* ---- Ortstermin-CTA ---- */
.pl-ortstermin{background:var(--rl-surface-muted)}
.pl-ortstermin .pl-inner{display:grid;grid-template-columns:340px 1fr;
  gap:var(--rl-space-7);align-items:center}
.pl-ortstermin .rl-heading{margin-bottom:var(--rl-space-4)}
.pl-ortstermin .rl-btn{margin-top:var(--rl-space-6)}
.pl-berater__foto img,.pl-berater__foto picture{display:block;width:100%;height:auto;
  border-radius:var(--rl-radius-lg)}
.pl-berater__cap{margin:var(--rl-space-4) 0 0;font-size:var(--rl-fs-subtext);line-height:1.5}
.pl-berater__cap strong{display:block;font-family:var(--rl-font-head);font-size:1.15rem;
  font-weight:600;color:var(--rl-navy);margin-bottom:2px}
.pl-berater__cap span{color:var(--rl-text-muted)}
.pl-berater__tel{color:var(--rl-navy);text-decoration:none;
  border-bottom:1px solid var(--rl-border-strong);white-space:nowrap}
.pl-berater__tel:hover{border-bottom-color:var(--rl-navy)}
@media(max-width:880px){
  .pl-ortstermin .pl-inner{grid-template-columns:1fr;gap:var(--rl-space-5)}
  .pl-berater{display:flex;gap:var(--rl-space-5);align-items:center}
  .pl-berater__foto{flex:0 0 150px;width:150px}
  .pl-berater__cap{margin:0}
}
@media(max-width:400px){.pl-berater__foto{flex-basis:124px;width:124px}}

/* ---- Preise ---- */
.pl-spanne{font-family:var(--rl-font-head);font-weight:500;color:var(--rl-text-strong);
  font-size:clamp(1.8rem,1.2rem + 2.4vw,2.9rem);line-height:1.1;
  font-variant-numeric:tabular-nums;margin:0}
.pl-spanne small{display:block;font-size:var(--rl-fs-micro);font-weight:300;letter-spacing:.14em;
  text-transform:uppercase;color:var(--rl-text-muted);margin-bottom:var(--rl-space-3)}
.pl-preisgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--rl-space-5);
  margin:var(--rl-space-6) 0}
@media(max-width:760px){.pl-preisgrid{grid-template-columns:1fr;gap:var(--rl-space-4)}}
.pl-preisgrid>div{border-top:1px solid var(--rl-border);padding-top:var(--rl-space-4)}
.pl-preisgrid dt{font-size:var(--rl-fs-micro);letter-spacing:.14em;text-transform:uppercase;
  color:var(--rl-text-muted);margin-bottom:var(--rl-space-2)}
.pl-preisgrid dd{margin:0;font-family:var(--rl-font-head);font-weight:600;font-size:1.25rem;
  color:var(--rl-text-strong);font-variant-numeric:tabular-nums}
.pl-preisgrid dd.pl-accent{color:var(--rl-sand)}

/* ---- Formular: Auswahl ---- */
.pl-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--rl-space-3);
  margin-bottom:var(--rl-space-5)}
@media(max-width:620px){.pl-choice{grid-template-columns:1fr}}
.pl-opt{display:block;position:relative;border:1.5px solid var(--rl-border);
  border-radius:var(--rl-radius-md);padding:var(--rl-space-4) var(--rl-space-3);cursor:pointer;
  text-align:center;background:var(--rl-white);
  transition:border-color var(--rl-dur) var(--rl-ease),background var(--rl-dur) var(--rl-ease)}
.pl-opt:hover{border-color:var(--rl-border-strong)}
.pl-opt input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);border:0;white-space:nowrap}
.pl-opt b{display:block;font-weight:600;font-size:var(--rl-fs-subtext);color:var(--rl-text-strong)}
.pl-opt small{display:block;font-weight:400;font-size:var(--rl-fs-micro);letter-spacing:0;
  text-transform:none;color:var(--rl-text-muted);margin-top:var(--rl-space-1);line-height:1.35}
.pl-opt.is-on,.pl-opt:has(input:checked){border-color:var(--rl-navy);background:var(--rl-blue-light)}
.pl-opt:focus-within{outline:3px solid var(--rl-sand);outline-offset:2px}



/* ---- Prozess-Schritte ---- */
.pl-steps{counter-reset:st;display:grid;gap:var(--rl-space-4);margin-top:var(--rl-space-6)}
.pl-steps--5{grid-template-columns:repeat(5,1fr)}
.pl-steps--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.pl-steps--5,.pl-steps--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.pl-steps--5,.pl-steps--4{grid-template-columns:1fr}}
.pl-step{position:relative;background:var(--rl-surface);border:1px solid var(--rl-border);
  border-radius:var(--rl-radius-lg);padding:var(--rl-space-5) var(--rl-space-4)}
.pl-sec--navy .pl-step{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16)}
.pl-step::before{counter-increment:st;content:counter(st,decimal-leading-zero);
  display:block;font-family:var(--rl-font-head);font-weight:600;font-size:.9rem;
  color:var(--rl-text-muted);letter-spacing:.06em;margin-bottom:var(--rl-space-3)}
.pl-sec--navy .pl-step::before{color:var(--rl-gray-400)}
.pl-step h3{font-family:var(--rl-font-head);font-weight:600;font-size:var(--rl-fs-h4);
  color:var(--rl-text-strong);margin:0 0 var(--rl-space-2)}
.pl-sec--navy .pl-step h3{color:var(--rl-white)}
.pl-step p{margin:0;font-size:var(--rl-fs-subtext);color:var(--rl-text-muted);line-height:1.5}
.pl-sec--navy .pl-step p{color:#AEB8C2}
.pl-step--mark{border-color:var(--rl-sand)}
.pl-step__tag{display:inline-block;margin-top:var(--rl-space-3);font-size:var(--rl-fs-micro);
  letter-spacing:.1em;text-transform:uppercase;color:var(--rl-sand);font-weight:600}
/* Verbindungslinie zwischen den Schritten */
@media(min-width:981px){
  .pl-steps{position:relative}
  .pl-step:not(:last-child)::after{content:"";position:absolute;top:50%;right:calc(-1 * var(--rl-space-4));
    width:var(--rl-space-4);height:1px;background:var(--rl-border)}
  .pl-sec--navy .pl-step:not(:last-child)::after{background:rgba(255,255,255,.2)}
}

/* ---- FAQ ---- */
.pl-faq{display:grid;grid-template-columns:1fr 1fr;gap:var(--rl-space-5) var(--rl-space-6);
  margin-top:var(--rl-space-6)}
@media(max-width:860px){.pl-faq{grid-template-columns:1fr;gap:0}}
.pl-faq details{border-bottom:1px solid var(--rl-border);padding:var(--rl-space-4) 0}
.pl-faq summary{list-style:none;cursor:pointer;font-family:var(--rl-font-head);font-weight:600;
  font-size:1.02rem;color:var(--rl-text-strong);display:flex;gap:var(--rl-space-3);
  align-items:flex-start;line-height:1.35}
.pl-faq summary::-webkit-details-marker{display:none}
.pl-faq summary::after{content:"+";margin-left:auto;font-family:var(--rl-font-head);
  font-weight:500;color:var(--rl-sand);font-size:1.3rem;line-height:1;flex:0 0 auto}
.pl-faq details[open] summary::after{content:"–"}
.pl-faq p{margin:var(--rl-space-3) 0 0;font-size:var(--rl-fs-subtext);color:var(--rl-text);
  line-height:1.6;max-width:60ch}

/* ---- Geschoss-Ebenen ---- */
.pl-ebenen{margin-top:var(--rl-space-6);padding-top:var(--rl-space-5);
  border-top:1px solid var(--rl-border)}
.pl-ebenen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--rl-space-4);
  margin-top:var(--rl-space-4)}
@media(max-width:640px){.pl-ebenen-grid{grid-template-columns:1fr;gap:var(--rl-space-3)}}
.pl-ebenen-grid dt{font-size:var(--rl-fs-micro);letter-spacing:.12em;text-transform:uppercase;
  color:var(--rl-text-muted);margin-bottom:var(--rl-space-1)}
.pl-ebenen-grid dd{margin:0;font-family:var(--rl-font-head);font-weight:600;font-size:1.15rem;
  color:var(--rl-text-strong);font-variant-numeric:tabular-nums}
.pl-ebenen-grid span{display:block;font-size:var(--rl-fs-micro);letter-spacing:0;
  text-transform:none;color:var(--rl-text-muted);margin-top:var(--rl-space-1);line-height:1.4}

/* ============ Mobile-First-Korrekturen ============ */
/* Kein horizontaler Überlauf durch lange Komposita */
body{overflow-x:hidden}
.pl-wrap,.pl-facts .pl-cell,.pl-preisgrid>div,.pl-tl>div,.pl-opt,.rl-card__body{min-width:0}
.pl-facts .pl-val,.pl-facts .pl-key,.pl-preisgrid dd,.pl-tl strong,.rl-heading,.rl-text{
  overflow-wrap:break-word;word-break:normal;hyphens:auto}

@media(max-width:880px){
  /* Touch-Ziele mindestens 48 px; Beschriftungen duerfen umbrechen */
  .rl-btn{min-height:48px;height:auto;white-space:normal;text-align:center;line-height:1.25;
    padding-top:12px;padding-bottom:12px;max-width:100%}
  .pl-nav{min-width:0;flex-shrink:1}
  .pl-nav .rl-btn{white-space:nowrap;flex-shrink:1;padding-left:14px;padding-right:14px}
  .pl-cta .rl-btn{width:100%}
  .rl-btn--sm{min-height:44px;font-size:0.875rem}
  .pl-opt{min-height:64px;display:flex;flex-direction:column;justify-content:center}
  .rl-input,.rl-select,.rl-textarea{min-height:48px;font-size:16px} /* 16px verhindert iOS-Zoom */
  .pl-consent input{width:24px;height:24px;margin-top:0}
  .pl-consent{padding:var(--rl-space-2) 0}
  .pl-top img{height:54px}
  .pl-top{padding:var(--rl-space-2) 0}
  /* eine Sand-Fläche je Ansicht: der Sticky-CTA übernimmt sie */
  .pl-facts .pl-val--accent{color:var(--rl-white)}
}

/* Datentabellen als Karten-Stapel statt Zwei-Spalten-Quetsche */
@media(max-width:640px){
  .rl-table,.rl-table tbody,.rl-table tr,.rl-table th,.rl-table td{display:block;width:auto}
  .rl-table{table-layout:auto}
  .rl-table tbody tr:first-child th{padding-top:0}
  .rl-table tbody th[scope="row"]{width:auto;padding:0 0 2px;border:none;
    font-size:var(--rl-fs-micro);letter-spacing:.12em;text-transform:uppercase;
    color:var(--rl-text-muted);font-weight:600}
  .rl-table tbody td{padding:0 0 var(--rl-space-4);border:none;
    border-bottom:1px solid var(--rl-border);margin-bottom:var(--rl-space-4);
    font-weight:500;color:var(--rl-text-strong)}
  .rl-table tbody tr:last-child td{border-bottom:none;margin-bottom:0}
  .rl-table-wrap{border:none;padding:0}
  .pl-spanne{font-size:2rem;white-space:nowrap}
  .pl-preisgrid{gap:var(--rl-space-4)}
}

/* Sticky-Aktionsleiste — nur Mobil, erscheint nach dem Hero */
.pl-sticky{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;
  background:var(--rl-navy);border-top:1px solid rgba(255,255,255,.14);
  padding:var(--rl-space-3) var(--rl-space-4);
  padding-bottom:calc(var(--rl-space-3) + env(safe-area-inset-bottom,0px));
  transform:translateY(110%);transition:transform var(--rl-dur) var(--rl-ease)}
.pl-sticky.is-on{transform:translateY(0)}
.pl-sticky .rl-btn{width:100%}
.pl-sticky small{display:block;text-align:center;color:var(--rl-gray-400);
  font-size:var(--rl-fs-micro);letter-spacing:.06em;margin-top:6px}
@media(max-width:880px){
  .pl-sticky{display:block}
  body{padding-bottom:0}
  .pl-foot{padding-bottom:calc(var(--rl-space-6) + 88px)}
}

@media(max-width:400px){.pl-spanne{font-size:1.7rem}}

/* ---- Platzhalter ---- */
.pl-ph{background:var(--rl-sand-soft);color:#7a5f2b;padding:0 4px;border-radius:var(--rl-radius-sm)}
.pl-sec--navy .pl-ph,.pl-foot .pl-ph{background:rgba(201,170,118,.18);color:var(--rl-sand)}


/* ============================================================
   Optimierung 04.08.2026 — Conversion, A11y, Recht
   ============================================================ */
:root{--pl-head-h:96px}
@media(max-width:880px){:root{--pl-head-h:74px}}
section[id]{scroll-margin-top:calc(var(--pl-head-h) + 12px)}
#anfrage{scroll-margin-top:calc(var(--pl-head-h) + 16px)}

/* Faktenband: sechs Fakten, Preis zuerst */
.pl-facts .pl-grid{grid-template-columns:repeat(6,1fr)}
@media(max-width:1150px){.pl-facts .pl-grid{grid-template-columns:repeat(3,1fr)}}
.pl-facts .pl-val{font-size:1.35rem}
@media(max-width:880px){
  .pl-facts .pl-grid{grid-template-columns:repeat(2,1fr)}
  .pl-facts .pl-cell:last-child{grid-column:auto}
}

/* Hero */
.pl-hero{min-height:min(92vh,860px);cursor:default}
.pl-hero .pl-wrap{padding-top:calc(var(--pl-head-h) + 44px)}
@media(max-width:700px){
  .pl-hero{min-height:0}
  .pl-hero .pl-wrap{padding-top:calc(var(--pl-head-h) + 220px);padding-bottom:var(--rl-space-7)}
}
.pl-eyebrow{display:inline-block;color:#fff;font-weight:600;letter-spacing:.1em;
  background:rgba(18,31,44,.62);padding:7px 14px;border-radius:var(--rl-radius-pill);
  text-shadow:none}
.pl-hero .pl-sub{max-width:44ch;margin-top:var(--rl-space-4)}
.pl-preiszeile{display:flex;flex-wrap:wrap;align-items:center;gap:var(--rl-space-3);
  margin:var(--rl-space-5) 0 0}
.pl-preiszeile b{font-family:var(--rl-font-head);font-weight:600;color:#fff;
  font-size:clamp(1.2rem,1rem + .7vw,1.6rem);font-variant-numeric:tabular-nums;
  text-shadow:0 2px 14px rgba(15,25,36,.55)}
.pl-preiszeile span{color:#EDF1F4;font-size:var(--rl-fs-subtext);text-shadow:0 1px 8px rgba(15,25,36,.6)}
.pl-tag-provi{background:rgba(201,170,118,.18);border:1px solid rgba(201,170,118,.7);
  color:#EBD9B6;font-weight:700;font-size:.8125rem;letter-spacing:.02em;
  padding:5px 13px;border-radius:var(--rl-radius-pill);text-shadow:none}
.pl-cta-note{margin:var(--rl-space-3) 0 0;color:#DCE3E9;font-size:var(--rl-fs-micro);
  letter-spacing:.05em}
.pl-cta .rl-btn--lg,.pl-form .rl-btn--lg,.pl-sticky .rl-btn{min-height:56px}

/* Preise: Nebenkosten, Provisionsfreiheit, Verfügbarkeit */
.pl-badge-provi{display:inline-block;margin:var(--rl-space-4) 0 0;background:var(--rl-sand-soft);
  color:#6d5223;font-weight:700;font-size:.875rem;padding:7px 15px;
  border-radius:var(--rl-radius-pill)}
.pl-nk{margin-top:var(--rl-space-5);padding:var(--rl-space-5) 0 0;
  border-top:2px solid var(--rl-navy)}
.pl-nk h3{font-family:var(--rl-font-head);font-weight:600;font-size:1.1rem;
  color:var(--rl-navy);margin:0 0 var(--rl-space-3)}
.pl-nk p{margin:0;font-size:var(--rl-fs-body);line-height:1.6;color:var(--rl-text)}
.pl-nk strong{color:var(--rl-text-strong)}
.pl-verf{display:flex;gap:10px;align-items:baseline;margin:var(--rl-space-6) 0 var(--rl-space-5);
  font-size:var(--rl-fs-body);font-weight:600;color:var(--rl-text-strong);line-height:1.5}
.pl-verf::before{content:"";flex:0 0 auto;width:9px;height:9px;border-radius:50%;
  background:var(--rl-success);transform:translateY(-3px)}

.pl-preisgrid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.pl-preisgrid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.pl-preisgrid--4{grid-template-columns:1fr}}

/* Kontakt: auf Mobil Formular zuerst */
.pl-kontakt{grid-template-areas:"intro form" "side form";gap:0 var(--rl-space-7)}
.pl-kontakt__intro{grid-area:intro}
.pl-kontakt__side{grid-area:side}
.pl-kontakt .pl-form{grid-area:form}
@media(max-width:820px){
  .pl-kontakt{grid-template-columns:1fr;grid-template-areas:"intro" "form" "side";
    gap:var(--rl-space-6)}
}

/* Formular */
.pl-form h3{margin:0 0 var(--rl-space-4)}
.pl-freiw{font-weight:500;color:var(--rl-text-muted);letter-spacing:0;text-transform:none}
.pl-radios{display:flex;flex-wrap:wrap;gap:var(--rl-space-2)}
.pl-radio{position:relative;display:inline-flex;align-items:center;min-height:48px;
  padding:10px 18px;border:1.5px solid var(--rl-border-strong);
  border-radius:var(--rl-radius-pill);background:var(--rl-white);cursor:pointer;
  font-size:var(--rl-fs-subtext);font-weight:600;color:var(--rl-text);line-height:1.3}
.pl-radio input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.pl-radio:hover{border-color:var(--rl-gray-400)}
.pl-radio:has(input:checked){border-color:var(--rl-navy);background:var(--rl-blue-light);
  color:var(--rl-navy)}
.pl-radio:focus-within{outline:3px solid var(--rl-sand);outline-offset:2px}
.pl-tel-consent{display:flex;gap:var(--rl-space-3);align-items:flex-start;
  margin-top:var(--rl-space-3);padding:var(--rl-space-4);border-radius:var(--rl-radius-md);
  background:var(--rl-blue-light)}
.pl-tel-consent.is-hl{background:var(--rl-sand-soft)}
.pl-tel-consent input{flex:0 0 auto;width:24px;height:24px;margin:0;accent-color:var(--rl-navy)}
.pl-tel-consent label{font-size:var(--rl-fs-subtext);line-height:1.5;color:var(--rl-text)}
.pl-err{display:none;font-size:.8125rem;font-weight:600;color:var(--rl-danger)}
.rl-field.is-err .pl-err{display:block}
.rl-field.is-err .rl-input,.rl-field.is-err .rl-textarea{border-color:var(--rl-danger)}
.pl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pl-dsgvo{margin:var(--rl-space-4) 0 0;font-size:var(--rl-fs-subtext);line-height:1.55;
  color:var(--rl-text-muted)}
.pl-dsgvo a{color:var(--rl-navy)}
.pl-status{margin:var(--rl-space-4) 0 0;font-size:var(--rl-fs-subtext);font-weight:600;
  color:var(--rl-text-strong)}
.pl-status--err{color:var(--rl-danger)}

/* Cookie-Balken: unten, zwei gleichwertige Buttons */
.pl-cookie{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;
  background:var(--rl-navy);color:#E6EAEE;border-top:1px solid rgba(255,255,255,.18);
  padding:var(--rl-space-4);
  padding-bottom:calc(var(--rl-space-4) + env(safe-area-inset-bottom,0px))}
.pl-cookie.is-on{display:block}
.pl-cookie__in{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;
  gap:var(--rl-space-4) var(--rl-space-6);align-items:center;justify-content:space-between}
.pl-cookie p{margin:0;max-width:64ch;font-size:var(--rl-fs-subtext);line-height:1.5}
.pl-cookie p a{color:#fff;text-decoration:underline}
.pl-cookie__btns{display:flex;flex-wrap:wrap;gap:var(--rl-space-3);align-items:center}
.pl-cookie__btns .rl-btn{min-height:48px;background:var(--rl-white);color:var(--rl-navy);
  border-color:var(--rl-white);font-size:.9375rem;padding:12px 26px;min-width:190px}
.pl-cookie__btns .rl-btn:hover{background:#E9EDF1}
.pl-cookie__link{display:inline-flex;align-items:center;min-height:24px;
  font-size:var(--rl-fs-subtext);color:#D6DDE4;text-decoration:underline}
@media(max-width:620px){.pl-cookie__btns .rl-btn{flex:1 1 100%;min-width:0}}

/* Danke-Seite */
.pl-danke{padding-top:calc(var(--pl-head-h) + var(--rl-space-8))}
.pl-qcard{max-width:760px}
.pl-qgroup{margin-top:var(--rl-space-6);padding-top:var(--rl-space-5);
  border-top:1px solid var(--rl-border)}
.pl-qgroup>p{margin:0 0 var(--rl-space-3);font-family:var(--rl-font-head);font-weight:600;
  font-size:1.05rem;color:var(--rl-navy)}

/* ---- Merkmale unter dem Panorama (Regeln fehlten auf dem Server) ---- */
.pl-fig--breit{margin-top:var(--rl-space-6)}
.pl-merkmale{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--rl-space-6);margin-top:var(--rl-space-7)}
.pl-merkmal{padding-top:var(--rl-space-4);border-top:2px solid var(--rl-sand)}
.pl-merkmal .rl-ico{font-size:28px;color:var(--rl-navy);display:block;
  margin-bottom:var(--rl-space-3)}
.pl-merkmal h3{font-family:var(--rl-font-head);font-size:var(--rl-fs-h4);
  color:var(--rl-navy);font-weight:600;margin:0 0 var(--rl-space-2);line-height:1.25}
.pl-merkmal p{margin:0;font-size:var(--rl-fs-subtext);color:var(--rl-text-muted);line-height:1.6}
@media(max-width:900px){.pl-merkmale{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.pl-merkmale{grid-template-columns:1fr;gap:var(--rl-space-5)}}

/* ---- Lage als Icon-Kacheln ---- */
.pl-lagetext{max-width:70ch}
.pl-orte{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--rl-space-5) var(--rl-space-6);margin-top:var(--rl-space-7)}
.pl-ort{padding-top:var(--rl-space-4);border-top:1px solid var(--rl-border)}
.pl-ort .rl-ico{font-size:26px;color:var(--rl-navy);display:block;margin-bottom:var(--rl-space-3)}
.pl-ort__k{display:block;font-size:var(--rl-fs-micro);font-weight:300;letter-spacing:.14em;
  text-transform:uppercase;color:var(--rl-text-muted);line-height:1.3}
.pl-ort b{display:block;font-family:var(--rl-font-head);font-size:1.3rem;font-weight:600;
  color:var(--rl-navy);line-height:1.2;margin-top:6px}
.pl-ort--text b{font-size:1.05rem;line-height:1.3}
.pl-ort__d{display:block;font-size:var(--rl-fs-micro);line-height:1.45;
  color:var(--rl-text-muted);margin-top:6px}
@media(max-width:1000px){.pl-orte{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.pl-orte{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.pl-orte{grid-template-columns:1fr;gap:var(--rl-space-4)}}

/* ---- CTA-Band zwischen den Abschnitten ---- */
.pl-ctaband{padding:var(--rl-space-6) 0;background:var(--rl-surface-muted);
  border-top:1px solid var(--rl-border);border-bottom:1px solid var(--rl-border)}
.pl-ctaband__in{display:flex;align-items:center;justify-content:space-between;
  gap:var(--rl-space-6)}
.pl-ctaband__txt{margin:0;font-size:var(--rl-fs-subtext);line-height:1.6;
  color:var(--rl-text-muted);max-width:64ch}
.pl-ctaband .rl-btn{flex:0 0 auto}
@media(max-width:760px){
  .pl-ctaband__in{flex-direction:column;align-items:stretch;gap:var(--rl-space-4)}
  .pl-ctaband .rl-btn{width:100%}
}

/* ---- Portraet in der Kontaktkarte: halbe Karte Bild, halbe Karte Name ---- */
.pl-person__top{align-items:center}
.pl-person__foto{flex:1 1 0;width:auto;min-width:0}
.pl-person__top>div:not(.pl-person__foto){flex:1 1 0;min-width:0}
@media(max-width:460px){.pl-person__foto{flex-basis:0;width:auto}}

/* ============================================================
   Ergänzung 12.10.2026 — Finanzierung in Franken, Lagekarte
   (Inhalte aus dem Exposé, Stand 24.09.2026)
   ============================================================ */
.pl-fin{border-top:1px solid var(--rl-border)}
.pl-fin__kopf{display:grid;grid-template-columns:1fr 1fr;gap:var(--rl-space-6) var(--rl-space-7);
  align-items:end;margin-bottom:var(--rl-space-7)}
.pl-fin__kopf .pl-lead{margin:0}
.pl-fin__titel{display:flex;gap:var(--rl-space-4);align-items:flex-start}
.pl-fin__titel .rl-text--micro{margin:0 0 var(--rl-space-3)}
.pl-fin__titel .rl-heading{margin:0}
.pl-fin__flagge{flex:0 0 56px;width:56px;height:56px;border-radius:var(--rl-radius-md);
  background:#D52B1E;color:var(--rl-white);display:grid;place-items:center}
.pl-fin__flagge svg{width:40px;height:40px}
@media(max-width:900px){.pl-fin__kopf{grid-template-columns:1fr}}
@media(max-width:460px){.pl-fin__flagge{flex-basis:44px;width:44px;height:44px}
  .pl-fin__flagge svg{width:30px;height:30px}}

.pl-fin__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--rl-space-5);
  align-items:stretch}
@media(max-width:1020px){.pl-fin__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pl-fin__ergebnis{grid-column:1 / -1}}
@media(max-width:700px){.pl-fin__grid{grid-template-columns:1fr}}
.pl-fin__box,.pl-fin__ergebnis{border-radius:var(--rl-radius-lg);padding:var(--rl-space-5);min-width:0}
.pl-fin__box{background:var(--rl-white);border:1px solid var(--rl-border)}
.pl-fin__ergebnis{background:var(--rl-navy);color:var(--rl-white)}
.pl-fin__nr{margin:0 0 var(--rl-space-2);font-size:var(--rl-fs-micro);font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--rl-text-muted)}
.pl-fin__ergebnis .pl-fin__nr{color:var(--rl-sand)}
.pl-fin__h{margin:0 0 var(--rl-space-4);font-family:var(--rl-font-head);font-weight:600;
  font-size:1.15rem;color:var(--rl-navy);line-height:1.3}
.pl-fin__ergebnis .pl-fin__h{color:var(--rl-white)}
.pl-fin__rows{margin:0}
.pl-fin__r{display:flex;justify-content:space-between;align-items:baseline;gap:var(--rl-space-3);
  padding:10px 0;border-bottom:1px solid var(--rl-border)}
.pl-fin__r dt{min-width:0;font-size:var(--rl-fs-subtext);color:var(--rl-text-strong);line-height:1.4}
.pl-fin__r dt small{display:block;font-size:var(--rl-fs-micro);color:var(--rl-text-muted);margin-top:2px}
.pl-fin__r dd{margin:0;flex:0 0 auto;white-space:nowrap;font-family:var(--rl-font-head);
  font-weight:600;color:var(--rl-text-strong);font-variant-numeric:tabular-nums}
.pl-fin__r--sum{border-top:1px solid var(--rl-navy)}
.pl-fin__r--sum dt,.pl-fin__r--sum dd{font-weight:700}
.pl-fin__r--total{border-top:2px solid var(--rl-navy);border-bottom:none;padding-top:14px}
.pl-fin__r--total dt{font-family:var(--rl-font-head);font-weight:700;color:var(--rl-navy);font-size:1.05rem}
.pl-fin__r--total dd{font-size:1.2rem;color:var(--rl-navy)}
.pl-fin__ergebnis .pl-fin__r{border-color:rgba(255,255,255,.18)}
.pl-fin__ergebnis .pl-fin__r dt{color:var(--rl-white)}
.pl-fin__ergebnis .pl-fin__r dt small{color:var(--rl-gray-400)}
.pl-fin__ergebnis .pl-fin__r dd{color:var(--rl-white)}
.pl-fin__gross{display:grid;grid-template-columns:1fr 1fr;gap:var(--rl-space-4);
  margin-top:var(--rl-space-5);padding-top:var(--rl-space-4);border-top:1px solid rgba(255,255,255,.35)}
.pl-fin__gross span{display:block;font-size:var(--rl-fs-micro);letter-spacing:.06em;color:var(--rl-gray-400)}
.pl-fin__gross b{display:block;font-family:var(--rl-font-head);font-weight:600;
  font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);color:var(--rl-white);line-height:1.2;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.pl-fin__gross .is-akzent b{color:var(--rl-sand)}

.pl-fin__bau{background:var(--rl-surface-muted);border-radius:var(--rl-radius-md);
  padding:var(--rl-space-4);margin-bottom:var(--rl-space-3)}
.pl-fin__bau-kopf{display:flex;justify-content:space-between;align-items:baseline;gap:var(--rl-space-3)}
.pl-fin__bau-kopf b{font-size:var(--rl-fs-subtext);color:var(--rl-navy);min-width:0}
.pl-fin__bau-kopf span{flex:0 0 auto;white-space:nowrap;font-family:var(--rl-font-head);
  font-weight:700;color:var(--rl-navy);font-variant-numeric:tabular-nums}
.pl-fin__bau ul{list-style:none;margin:var(--rl-space-2) 0 0;padding:0}
.pl-fin__bau li{position:relative;padding-left:16px;font-size:var(--rl-fs-micro);
  line-height:1.6;color:var(--rl-text)}
.pl-fin__bau li::before{content:"";position:absolute;left:2px;top:.6em;width:6px;height:6px;
  border-radius:50%;background:var(--rl-sand)}
.pl-fin__balken{display:flex;height:12px;border-radius:var(--rl-radius-pill);overflow:hidden;
  margin-top:var(--rl-space-4);gap:2px}
.pl-fin__seg{display:block;height:100%}
.pl-fin__seg--ek{background:var(--rl-chart-3)}
.pl-fin__seg--kfw{background:var(--rl-chart-2)}
.pl-fin__seg--chf{background:var(--rl-chart-1)}
.pl-fin__legende{list-style:none;margin:var(--rl-space-2) 0 0;padding:0;display:flex;flex-wrap:wrap;
  gap:4px var(--rl-space-4);font-size:var(--rl-fs-micro);color:var(--rl-text-muted)}
.pl-fin__legende i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;
  vertical-align:-1px}

.pl-fin__unten{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);
  gap:var(--rl-space-6);margin-top:var(--rl-space-7);align-items:start}
@media(max-width:1020px){.pl-fin__unten{grid-template-columns:1fr}}
.pl-zins{width:100%;border-collapse:collapse;font-size:var(--rl-fs-subtext);
  font-variant-numeric:tabular-nums;margin-top:var(--rl-space-2)}
.pl-zins thead th{background:var(--rl-navy);color:var(--rl-white);font-size:var(--rl-fs-micro);
  font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-align:right;
  padding:12px 14px;line-height:1.3}
.pl-zins thead th:first-child{text-align:left}
.pl-zins td,.pl-zins tbody th{padding:12px 14px;border-bottom:1px solid var(--rl-border);
  text-align:right;white-space:nowrap;color:var(--rl-text)}
.pl-zins tbody th{text-align:left;font-weight:600;color:var(--rl-text-strong)}
.pl-zins tr.is-beispiel td,.pl-zins tr.is-beispiel th{background:var(--rl-surface-muted);
  font-weight:700;color:var(--rl-navy)}
.pl-fin__fuss{margin:var(--rl-space-3) 0 0;font-size:var(--rl-fs-micro);line-height:1.6;
  color:var(--rl-text-muted)}
@media(max-width:640px){
  .pl-zins thead{display:none}
  .pl-zins,.pl-zins tbody,.pl-zins tr,.pl-zins th,.pl-zins td{display:block;width:auto}
  .pl-zins tr{border:1px solid var(--rl-border);border-radius:var(--rl-radius-md);
    padding:var(--rl-space-3) var(--rl-space-4);margin-bottom:var(--rl-space-3)}
  .pl-zins tr.is-beispiel{background:var(--rl-surface-muted);border-color:var(--rl-navy)}
  .pl-zins tbody th{padding:0 0 6px;border:none;background:none !important;
    font-family:var(--rl-font-head);font-size:1.05rem}
  .pl-zins td{display:flex;justify-content:space-between;gap:var(--rl-space-3);padding:6px 0;
    border-bottom:1px solid var(--rl-border);background:none !important}
  .pl-zins td:last-child{border-bottom:none}
  .pl-zins td::before{content:attr(data-k);font-weight:400;color:var(--rl-text-muted);
    white-space:normal;text-align:left}
}

.pl-fin__kontakt{background:var(--rl-surface-muted);border-radius:var(--rl-radius-lg);
  padding:var(--rl-space-5)}
.pl-fin__person{display:flex;gap:var(--rl-space-4);align-items:flex-start;padding:var(--rl-space-3) 0}
.pl-fin__person + .pl-fin__person{border-top:1px solid var(--rl-border)}
.pl-fin__person picture,.pl-fin__person img{flex:0 0 64px;width:64px;height:64px;border-radius:50%;
  object-fit:cover;object-position:50% 20%;display:block}
.pl-fin__person>div{min-width:0;display:flex;flex-direction:column;gap:2px;font-size:var(--rl-fs-micro);
  line-height:1.5;color:var(--rl-text-muted)}
.pl-fin__person b{font-family:var(--rl-font-head);font-size:1.05rem;color:var(--rl-navy)}
.pl-fin__person a{color:var(--rl-text-strong);text-decoration:none;overflow-wrap:anywhere;
  min-height:28px;display:inline-flex;align-items:center}
.pl-fin__person a:hover{color:var(--rl-navy);text-decoration:underline}
.pl-fin__rolle{font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rl-text-muted)}

.pl-fin__karten{margin-top:var(--rl-space-7)}
.pl-fin__logo{display:block;height:44px;width:auto;margin-top:var(--rl-space-5)}
.pl-fin__cta{margin-top:var(--rl-space-6);display:flex;justify-content:center}
@media(max-width:700px){.pl-fin__cta .rl-btn{width:100%}}
.pl-fin__hinweis{margin:var(--rl-space-6) 0 0;font-size:var(--rl-fs-micro);line-height:1.6;
  color:var(--rl-text-muted);max-width:none}

/* Lage: Text und Karte nebeneinander */
.pl-lage-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:var(--rl-space-7);align-items:start}
.pl-lage-split .pl-lagetext{max-width:none}
.pl-karte img{border:1px solid var(--rl-border)}
@media(max-width:900px){.pl-lage-split{grid-template-columns:1fr;gap:var(--rl-space-6)}
  .pl-karte{max-width:560px}}

/* Hero: zweiter Button */
@media(max-width:880px){.pl-cta{flex-direction:column}}

/* Preisspanne: auf schmalen Bildschirmen umbrechen statt seitlich überlaufen */
@media(max-width:640px){.pl-spanne{white-space:normal;font-size:1.75rem}}

/* Navigation: Logo nicht stauchen, Abstände auf mittleren Breiten verringern */
.pl-top .pl-wrap>a:first-child{flex-shrink:0}
@media(max-width:1180px){.pl-nav{gap:var(--rl-space-4)}}
@media(max-width:1060px){.pl-nav a[href="#ausstattung"],.pl-nav a[href="#fragen"]{display:none}}

/* Quartier: Übersicht mit Hausnummern */
.pl-uebersicht{margin:0 0 var(--rl-space-7)}
.pl-uebersicht__link{display:block;cursor:zoom-in}
.pl-uebersicht figcaption{line-height:1.6}

/* Fließtext etwas größer (12.10.2026) */
:root{--rl-fs-body:1.0625rem;--rl-fs-subtext:1rem}
.pl-lead{font-size:1.1875rem}
.rl-table{font-size:1rem}
.pl-fig figcaption,.pl-fin__hinweis,.pl-fin__fuss{font-size:.8125rem}
.pl-fin__r dt small,.pl-fin__bau li,.pl-fin__person>div,.pl-fin__legende{font-size:.8125rem}

/* WhatsApp-Kontakt (19.10.2026) */
.pl-waqr{display:flex;align-items:center;gap:var(--rl-space-4);margin-top:var(--rl-space-4);
  padding-top:var(--rl-space-4);border-top:1px solid var(--rl-border)}
.pl-waqr__code{position:relative;flex:0 0 104px;width:104px;height:104px;display:block}
.pl-waqr__code>img:first-child{width:104px;height:104px;display:block;border-radius:var(--rl-radius-sm, 4px)}
.pl-waqr__ico{position:absolute;left:50%;top:50%;width:26px;height:26px;transform:translate(-50%,-50%);
  background:#fff;border-radius:50%;padding:2px;box-sizing:content-box}
.pl-waqr p{margin:0;font-size:var(--rl-fs-subtext);line-height:1.5;color:var(--rl-text-muted)}
@media(max-width:880px){.pl-waqr{display:none}}
.pl-sticky__row{display:flex;gap:var(--rl-space-3);align-items:stretch}
.pl-sticky .pl-sticky__row .rl-btn{flex:1 1 auto;width:auto;min-width:0}
.pl-sticky__wa{flex:0 0 52px;display:inline-flex;align-items:center;justify-content:center;
  width:52px;min-height:48px;color:#fff;text-decoration:none;
  border:1px solid rgba(255,255,255,.45);border-radius:var(--rl-radius-md, 6px)}
.pl-sticky__wa:hover,.pl-sticky__wa:focus-visible{border-color:#fff;background:rgba(255,255,255,.08)}
.pl-wa-ico{display:inline-block;width:1.2em;height:1.2em;vertical-align:-.25em;margin-right:.35em}
.pl-sticky__wa img{display:block;width:30px;height:30px}
.pl-fin__person a img.pl-wa-ico{flex:none;width:1.2em;height:1.2em;border-radius:0;border:0;box-shadow:none;object-fit:contain;margin:0 .35em 0 0;vertical-align:-.25em}
.pl-fin__person a:has(.pl-wa-ico){display:inline-flex;align-items:center}
