/* UltraHomes · Software-Dummy v2 „entschlackt" (12.10.2026)
   Richtung A, Ruhig-Premium. Ein Vorteil pro Screen, große Schrift, viel Luft.
   Jeder Selektor ist unter .uh-app gescoped. Feste Designgrößen:
   Desktop 1280 x 800 px (.uh-desktop), Handy 390 x 844 px (.uh-phone).
   Skalierung nur von außen per transform: scale(). Keine Media Queries für Layout.
   Vorgänger v1 liegt unter software/v1/. */

/* Isolation: Host-Stile, die vererbt werden, auf null setzen. :where hält die Spezifität bei 0,
   damit Regeln der Landingpage (z. B. transform) immer gewinnen. */
:where(.uh-app) { all: initial; }

.uh-app {
  --uh-anthrazit: #2E3B30;
  --uh-schiefer: #3A4A3D;
  --uh-fuge: #4E5E50;
  --uh-basalt: #5C675D;
  --uh-blaustein: #A9B39F;
  --uh-putz: #F5F2EC;
  --uh-kalk: #F5F2EC;
  --uh-weiss: #FFFFFF;
  --uh-licht: #DCC8A0;               /* nur auf dunklen Flächen */
  --uh-licht-text: #2E3B30;          /* 5,89:1 auf Weiß, 5,35:1 auf Kalk */
  --uh-linie: #E2DED6;               /* Haarlinie auf hell */
  --uh-linie-2: #D6D1C6;
  --uh-flaeche: #EDE9E1;             /* zweite helle Fläche */
  --uh-flaeche-2: #E6E1D6;

  /* Marktpreis-Index (Kontrast gemessen) */
  --uh-idx-teurer: #9C5345;          /* 5,62:1 Weiß, 5,11:1 Kalk */
  --uh-idx-fair: #46725A;            /* 5,50:1 Weiß, 5,00:1 Kalk */
  --uh-idx-sehrfair: #345A43;        /* 7,81:1 Weiß, 7,10:1 Kalk */
  --uh-idx-teurer-tint: #F6E9E5;     /* Text teurer darauf 4,74:1 */
  --uh-idx-fair-tint: #E7EFE9;       /* Text fair darauf 4,70:1 */
  --uh-idx-sehrfair-tint: #E1EBE4;   /* Text sehr fair darauf 6,40:1 */

  --uh-font-head: "Clash Grotesk", "Helvetica Neue", Arial, sans-serif;
  --uh-font-ui: "DM Sans", "Helvetica Neue", Arial, sans-serif;
  --uh-shadow: 0 1px 2px rgba(46, 59, 48, .04), 0 12px 32px -18px rgba(46, 59, 48, .18);
  --uh-shadow-lg: 0 2px 4px rgba(46, 59, 48, .06), 0 30px 60px -28px rgba(46, 59, 48, .45);

  display: block;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  font-family: var(--uh-font-ui);
  font-size: 15px;
  line-height: 1.45;
  font-weight: 400;
  color: var(--uh-anthrazit);
  background: var(--uh-kalk);
  text-align: left;
  font-variant-numeric: tabular-nums;
  font-kerning: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.uh-app *,
.uh-app *::before,
.uh-app *::after { box-sizing: border-box; margin: 0; padding: 0; border: 0 solid; font: inherit; color: inherit; letter-spacing: inherit; text-transform: none; text-decoration: none; list-style: none; }

.uh-app img { display: block; max-width: none; border-radius: 0; object-fit: cover; }
.uh-app svg { display: block; flex: none; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.uh-app svg.uh-fill { fill: currentColor; stroke: none; }
.uh-app b, .uh-app strong { font-weight: 600; }

/* Albert Sans zeichnet den Bindestrich sehr breit (wirkt wie ein Gedankenstrich).
   Bindestriche in Ortsnamen stehen deshalb in Instrument Sans. */
.uh-app .uh-hy { display: inline-block; margin: 0 -.05em; font-family: var(--uh-font-ui); letter-spacing: 0; transform: scaleX(.8); }
.uh-app .uh-place { white-space: nowrap; }

.uh-app.uh-desktop { width: 1280px; height: 800px; display: grid; grid-template-columns: 232px 1048px; }
.uh-app.uh-phone { width: 390px; height: 844px; border-radius: 0; }

/* ---------- Seitenleiste ---------- */
.uh-app .uh-side {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 800px;
  padding: 34px 18px 28px;
  background: var(--uh-anthrazit);
  color: var(--uh-putz);
}
.uh-app .uh-side__logo { display: flex; align-items: center; height: 28px; padding: 0 14px; margin-bottom: 44px; }
.uh-app .uh-side__logo svg { width: 148px; height: 17px; stroke: none; }
.uh-app .uh-nav { display: flex; flex-direction: column; gap: 6px; }
.uh-app .uh-nav__item { position: relative; display: flex; align-items: center; gap: 14px; height: 46px; padding: 0 14px; border-radius: 11px; color: var(--uh-blaustein); font-size: 15px; font-weight: 500; }
.uh-app .uh-nav__item svg { width: 20px; height: 20px; }
.uh-app .uh-nav__item.is-active { background: var(--uh-schiefer); color: var(--uh-putz); }
.uh-app .uh-nav__item.is-active::before { content: ""; position: absolute; left: -18px; top: 12px; bottom: 12px; width: 3px; border-radius: 0 3px 3px 0; background: var(--uh-licht); }
.uh-app .uh-nav__item.is-active svg { color: var(--uh-licht); }
.uh-app .uh-nav__dot { margin-left: auto; width: 8px; height: 8px; border-radius: 50%; background: var(--uh-licht); box-shadow: 0 0 0 3px rgba(220, 200, 160, .16); }

.uh-app .uh-office { margin-top: auto; display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 12px; row-gap: 14px; align-items: center; padding: 22px 6px 0; border-top: 1px solid var(--uh-fuge); }
.uh-app .uh-office .uh-fp { grid-column: 1 / -1; justify-self: start; }
.uh-app .uh-office__mark { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; background: var(--uh-schiefer); border: 1px solid var(--uh-fuge); font-family: var(--uh-font-head); font-weight: 500; font-size: 14px; color: var(--uh-putz); }
.uh-app .uh-office__name { display: block; font-size: 15px; font-weight: 500; line-height: 20px; color: var(--uh-putz); }
.uh-app .uh-fp { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px 0 9px; border-radius: 13px; border: 1px solid rgba(220, 200, 160, .42); background: rgba(220, 200, 160, .08); color: var(--uh-licht); font-size: 13px; font-weight: 500; white-space: nowrap; }
.uh-app .uh-fp svg { width: 12px; height: 10px; stroke: none; }

/* ---------- Hauptbereich ---------- */
.uh-app .uh-main { position: relative; height: 800px; min-width: 0; padding: 50px 56px 64px; display: flex; flex-direction: column; gap: 36px; overflow: hidden; }
.uh-app .uh-h1 { display: flex; align-items: center; gap: 14px; font-family: var(--uh-font-head); font-weight: 400; font-size: 30px; line-height: 36px; letter-spacing: -.018em; }
.uh-app .uh-sub { margin-top: 6px; font-size: 16px; line-height: 22px; color: var(--uh-basalt); }
.uh-app .uh-card { background: var(--uh-weiss); border: 1px solid var(--uh-linie); border-radius: 18px; box-shadow: var(--uh-shadow); }

.uh-app .uh-demo { position: absolute; right: 30px; bottom: 22px; font-size: 13px; line-height: 16px; color: var(--uh-basalt); white-space: nowrap; }
.uh-app .uh-fine { position: absolute; left: 56px; bottom: 22px; display: inline-flex; align-items: center; gap: 7px; font-size: 13px; line-height: 16px; color: var(--uh-basalt); white-space: nowrap; }
.uh-app .uh-fine svg { width: 15px; height: 15px; }

/* Live-Punkt (einzige Bewegung) */
.uh-app .uh-pulse { position: relative; display: block; width: 9px; height: 9px; border-radius: 50%; background: var(--uh-idx-fair); flex: none; }
.uh-app .uh-pulse::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 1.5px solid var(--uh-idx-fair); opacity: 0; animation: uh-puls 2.6s ease-out infinite; }
@keyframes uh-puls {
  0% { transform: scale(.45); opacity: .75; }
  70%, 100% { transform: scale(1.5); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .uh-app .uh-pulse::after { animation: none; opacity: 0; }
}

/* Große Zahl (Held) */
.uh-app .uh-big { display: flex; align-items: flex-end; gap: 22px; }
.uh-app .uh-big b { font-family: var(--uh-font-head); font-weight: 300; font-size: 72px; line-height: 60px; letter-spacing: -.045em; }
.uh-app .uh-big span { padding-bottom: 1px; font-size: 20px; line-height: 27px; color: var(--uh-anthrazit); }

/* Index-Pille */
.uh-app .uh-pill { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 12px; border-radius: 9px; font-size: 14px; font-weight: 500; white-space: nowrap; }
.uh-app .uh-pill b { font-family: var(--uh-font-head); font-size: 18px; font-weight: 500; letter-spacing: -.01em; }
.uh-app .uh-pill--teurer { background: var(--uh-idx-teurer-tint); color: var(--uh-idx-teurer); }
.uh-app .uh-pill--fair { background: var(--uh-idx-fair-tint); color: var(--uh-idx-fair); }
.uh-app .uh-pill--sehrfair { background: var(--uh-idx-sehrfair-tint); color: var(--uh-idx-sehrfair); }

.uh-app .uh-av { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--uh-flaeche); border: 1px solid var(--uh-linie); font-size: 14px; font-weight: 600; letter-spacing: .02em; color: var(--uh-anthrazit); white-space: nowrap; }
.uh-app .uh-av--xl { width: 60px; height: 60px; font-size: 18px; }
.uh-app .uh-av--dunkel { background: var(--uh-anthrazit); border-color: var(--uh-anthrazit); color: var(--uh-putz); }

/* ---------- b1 Nachfrage ---------- */
.uh-app .uh-b1-top { margin-bottom: 8px; display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; align-items: end; }
.uh-app .uh-b1-top .uh-big { margin-top: 26px; }

.uh-app .uh-callout { position: relative; overflow: hidden; display: flex; align-items: center; gap: 20px; padding: 24px 28px; border-radius: 18px; background: var(--uh-anthrazit); color: var(--uh-putz); box-shadow: var(--uh-shadow-lg); }
.uh-app .uh-callout::before { content: ""; position: absolute; right: -50px; top: -70px; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(closest-side, rgba(220, 200, 160, .2), rgba(220, 200, 160, 0)); pointer-events: none; }
.uh-app .uh-callout b { position: relative; font-family: var(--uh-font-head); font-weight: 300; font-size: 56px; line-height: 50px; letter-spacing: -.04em; }
.uh-app .uh-callout span { position: relative; font-size: 15px; line-height: 21px; color: var(--uh-blaustein); }
.uh-app .uh-callout strong { display: block; font-size: 17px; font-weight: 500; line-height: 23px; color: var(--uh-putz); }

.uh-app .uh-list { padding: 4px 28px; }
.uh-app .uh-list__head,
.uh-app .uh-row { display: grid; grid-template-columns: 80px minmax(0, 1fr) 210px 180px; column-gap: 28px; align-items: center; }
.uh-app .uh-list__head { height: 50px; font-size: 13px; font-weight: 500; color: var(--uh-basalt); }
.uh-app .uh-list__head span:first-child { grid-column: 1 / 3; }
.uh-app .uh-row { height: 106px; border-top: 1px solid var(--uh-linie); }
.uh-app .uh-row__img { width: 80px; height: 60px; border-radius: 10px; }
.uh-app .uh-row__name { font-size: 17px; font-weight: 600; line-height: 23px; white-space: nowrap; }
.uh-app .uh-row__meta { display: flex; align-items: center; gap: 14px; margin-top: 3px; font-size: 15px; line-height: 21px; color: var(--uh-basalt); white-space: nowrap; }
.uh-app .uh-row__meta > b { font-weight: 500; color: var(--uh-anthrazit); }
.uh-app .uh-status { display: inline-flex; align-items: center; gap: 7px; }
.uh-app .uh-status svg { width: 16px; height: 16px; }
.uh-app .uh-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--uh-idx-fair); flex: none; }
.uh-app .uh-ring { width: 9px; height: 9px; border-radius: 50%; border: 1.5px solid currentColor; flex: none; }

.uh-app .uh-demand { display: flex; align-items: center; gap: 14px; }
.uh-app .uh-demand b { width: 36px; font-family: var(--uh-font-head); font-weight: 300; font-size: 30px; line-height: 30px; letter-spacing: -.03em; text-align: right; }
.uh-app .uh-demand__bar { position: relative; flex: 1; height: 8px; border-radius: 4px; background: var(--uh-flaeche-2); overflow: hidden; }
.uh-app .uh-demand__bar i { position: absolute; left: 0; top: 0; bottom: 0; width: var(--uh-p, 50%); border-radius: 4px; background: var(--uh-anthrazit); }

/* ---------- b2 Objekt inkognito anlegen ---------- */
.uh-app .uh-steps { display: flex; align-items: center; gap: 18px; }
.uh-app .uh-step { display: flex; align-items: center; gap: 12px; font-size: 15px; font-weight: 500; color: var(--uh-basalt); white-space: nowrap; }
.uh-app .uh-step__dot { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--uh-linie-2); background: var(--uh-weiss); color: var(--uh-anthrazit); }
.uh-app .uh-step__dot svg { width: 14px; height: 14px; stroke-width: 2; }
.uh-app .uh-step--done { color: var(--uh-anthrazit); }
.uh-app .uh-step--done .uh-step__dot { background: var(--uh-flaeche-2); border-color: var(--uh-flaeche-2); }
.uh-app .uh-step--active { color: var(--uh-anthrazit); font-weight: 600; }
.uh-app .uh-step--active .uh-step__dot { border-color: var(--uh-anthrazit); background: var(--uh-anthrazit); box-shadow: 0 0 0 5px var(--uh-flaeche-2); }
.uh-app .uh-step--active .uh-step__dot::after { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--uh-putz); }
.uh-app .uh-steps__line { flex: 1; min-width: 32px; height: 1.5px; background: var(--uh-linie-2); }
.uh-app .uh-steps__line--done { background: var(--uh-anthrazit); }

.uh-app .uh-b2 { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 392px; gap: 24px; }
.uh-app .uh-b2__col { display: flex; flex-direction: column; gap: 24px; min-height: 0; }

.uh-app .uh-objsum { flex: 1; min-height: 0; display: grid; grid-template-columns: 208px minmax(0, 1fr); overflow: hidden; }
.uh-app .uh-objsum img { width: 100%; height: 100%; }
.uh-app .uh-objsum__text { display: flex; flex-direction: column; justify-content: center; padding: 28px 30px; min-width: 0; }
.uh-app .uh-objsum__name { font-size: 19px; font-weight: 600; line-height: 26px; }
.uh-app .uh-objsum__facts { margin-top: 4px; font-size: 16px; line-height: 22px; color: var(--uh-basalt); }
.uh-app .uh-objsum__price { margin-top: 16px; font-family: var(--uh-font-head); font-weight: 300; font-size: 36px; line-height: 40px; letter-spacing: -.025em; white-space: nowrap; }
.uh-app .uh-objsum__src { display: flex; align-items: center; gap: 8px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--uh-linie); font-size: 14px; line-height: 20px; color: var(--uh-basalt); }
.uh-app .uh-objsum__src svg { width: 16px; height: 16px; color: var(--uh-idx-fair); stroke-width: 2; }

.uh-app .uh-incog { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 30px 34px; }
.uh-app .uh-incog__title { display: flex; align-items: center; gap: 14px; font-family: var(--uh-font-head); font-weight: 400; font-size: 34px; line-height: 40px; letter-spacing: -.02em; }
.uh-app .uh-incog__title svg { width: 30px; height: 30px; stroke-width: 1.6; }
.uh-app .uh-incog__text { margin-top: 10px; font-size: 16px; line-height: 23px; color: var(--uh-basalt); }
.uh-app .uh-switch { position: relative; display: block; flex: none; width: 88px; height: 50px; border-radius: 25px; background: var(--uh-anthrazit); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .25), 0 8px 18px -10px rgba(46, 59, 48, .6); }
.uh-app .uh-switch::after { content: ""; position: absolute; top: 5px; right: 5px; width: 40px; height: 40px; border-radius: 50%; background: var(--uh-weiss); box-shadow: 0 2px 5px rgba(0, 0, 0, .3); }
.uh-app .uh-switch__wrap { display: grid; justify-items: center; gap: 8px; font-size: 14px; font-weight: 600; }

.uh-app .uh-pre { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; padding: 32px 34px 36px; border-radius: 18px; background: var(--uh-anthrazit); color: var(--uh-putz); box-shadow: var(--uh-shadow-lg); }
.uh-app .uh-pre::before { content: ""; position: absolute; left: -80px; bottom: -120px; width: 420px; height: 360px; border-radius: 50%; background: radial-gradient(closest-side, rgba(220, 200, 160, .2), rgba(220, 200, 160, 0)); pointer-events: none; }
.uh-app .uh-pm { position: relative; display: inline-flex; align-items: center; gap: 9px; height: 34px; padding: 0 15px 0 13px; border-radius: 17px; border: 1px solid rgba(220, 200, 160, .5); color: var(--uh-licht); font-size: 14px; font-weight: 500; white-space: nowrap; }
.uh-app .uh-pre__num { position: relative; margin-top: auto; font-family: var(--uh-font-head); font-weight: 300; font-size: 72px; line-height: 60px; letter-spacing: -.045em; color: var(--uh-licht); }
.uh-app .uh-pre__label { position: relative; margin-top: 18px; font-size: 21px; line-height: 29px; color: var(--uh-putz); }

/* ---------- b3 Akquisedossier ---------- */
.uh-app .uh-dossier { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; }
.uh-app .uh-canvas { position: relative; display: grid; place-items: center; border-radius: 18px; background: #ECEAE5; border: 1px solid var(--uh-linie); overflow: hidden; }
.uh-app .uh-stack { position: relative; width: 360px; height: 500px; }
.uh-app .uh-stack__back { position: absolute; inset: 0; background: var(--uh-weiss); border-radius: 3px; box-shadow: 0 1px 2px rgba(46, 59, 48, .08), 0 10px 24px -14px rgba(46, 59, 48, .3); }
.uh-app .uh-stack__back--1 { transform: translate(14px, 8px) rotate(1.8deg); background: #F7F6F3; }
.uh-app .uh-stack__back--2 { transform: translate(7px, 4px) rotate(.8deg); background: #FBFAF8; }
.uh-app .uh-sheet { position: absolute; inset: 0; display: flex; flex-direction: column; padding: 24px 26px 18px; background: var(--uh-weiss); border-radius: 3px; box-shadow: 0 1px 2px rgba(46, 59, 48, .08), 0 30px 60px -28px rgba(46, 59, 48, .45); }
.uh-app .uh-sheet__brand { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 600; color: var(--uh-anthrazit); }
.uh-app .uh-sheet__brand i { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 5px; background: var(--uh-anthrazit); color: var(--uh-putz); font-style: normal; font-family: var(--uh-font-head); font-size: 9px; font-weight: 500; }
.uh-app .uh-sheet__photo { height: 176px; margin-top: 14px; border-radius: 3px; overflow: hidden; }
.uh-app .uh-sheet__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.uh-app .uh-sheet__kicker { margin-top: 16px; font-size: 10px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--uh-licht-text); }
.uh-app .uh-sheet__title { margin-top: 3px; font-family: var(--uh-font-head); font-size: 22px; line-height: 27px; font-weight: 400; letter-spacing: -.015em; }
.uh-app .uh-sheet__facts { margin-top: 6px; font-size: 11.5px; color: var(--uh-basalt); }
.uh-app .uh-sheet__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--uh-linie); }
.uh-app .uh-sheet__label { font-size: 9.5px; color: var(--uh-basalt); }
.uh-app .uh-sheet__big { margin-top: 3px; font-family: var(--uh-font-head); font-size: 15px; line-height: 20px; font-weight: 500; letter-spacing: -.01em; white-space: nowrap; }
.uh-app .uh-sheet__idx { display: flex; align-items: baseline; gap: 7px; margin-top: 1px; }
.uh-app .uh-sheet__idx b { font-family: var(--uh-font-head); font-size: 24px; line-height: 24px; font-weight: 300; letter-spacing: -.02em; }
.uh-app .uh-sheet__idx span { font-size: 10px; font-weight: 600; color: var(--uh-idx-fair); }
.uh-app .uh-sheet__disc { margin-top: 14px; font-size: 9.5px; color: var(--uh-basalt); }
.uh-app .uh-sheet__foot { display: flex; justify-content: space-between; margin-top: auto; padding-top: 10px; border-top: 1px solid var(--uh-linie); font-size: 9.5px; color: var(--uh-basalt); }
.uh-app .uh-minibar { position: relative; display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 2px; height: 5px; margin-top: 8px; }
.uh-app .uh-minibar i { display: block; }
.uh-app .uh-minibar i:nth-child(1) { background: var(--uh-idx-teurer); border-radius: 3px 0 0 3px; }
.uh-app .uh-minibar i:nth-child(2) { background: var(--uh-idx-fair); }
.uh-app .uh-minibar i:nth-child(3) { background: var(--uh-idx-sehrfair); border-radius: 0 3px 3px 0; }
.uh-app .uh-minibar em { position: absolute; top: 50%; left: calc(var(--uh-v) * 100%); width: 11px; height: 11px; margin: -5.5px 0 0 -5.5px; border-radius: 50%; background: var(--uh-weiss); border: 3px solid var(--uh-anthrazit); }

.uh-app .uh-dossier__aside { display: flex; flex-direction: column; gap: 20px; min-height: 0; }
.uh-app .uh-toc { padding: 20px 0 8px; }
.uh-app .uh-toc__head { display: flex; align-items: center; justify-content: space-between; padding: 0 22px 12px; }
.uh-app .uh-toc__title { font-size: 17px; font-weight: 600; }
.uh-app .uh-toc__soon { font-size: 13px; color: var(--uh-basalt); }
.uh-app .uh-toc__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 41px; padding: 0 22px; border-top: 1px solid var(--uh-linie); font-size: 15px; white-space: nowrap; }
.uh-app .uh-toc__row span:last-child { font-size: 14px; color: var(--uh-basalt); }
.uh-app .uh-toc__row.is-current { font-weight: 600; box-shadow: inset 3px 0 0 var(--uh-anthrazit); background: var(--uh-kalk); }
.uh-app .uh-toc__row.is-current span:last-child { color: var(--uh-anthrazit); font-weight: 500; }

.uh-app .uh-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 52px; padding: 0 20px; border-radius: 13px; font-size: 15px; font-weight: 500; white-space: nowrap; }
.uh-app .uh-btn svg { width: 18px; height: 18px; }
.uh-app .uh-btn--primary { background: var(--uh-anthrazit); color: var(--uh-putz); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 10px 22px -12px rgba(46, 59, 48, .7); }
.uh-app .uh-btn--licht { background: var(--uh-licht); color: var(--uh-anthrazit); font-weight: 600; box-shadow: 0 8px 22px -10px rgba(220, 200, 160, .55); }
.uh-app .uh-btn--nacht { background: transparent; color: var(--uh-putz); border: 1px solid var(--uh-fuge); }
.uh-app .uh-btn--block { width: 100%; }

/* ---------- b4 Anfragen ---------- */
.uh-app .uh-sub--check { display: flex; align-items: center; gap: 9px; }
.uh-app .uh-sub--check svg { width: 18px; height: 18px; color: var(--uh-idx-fair); stroke-width: 2; }
.uh-app .uh-leads { flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.uh-app .uh-lead { display: flex; flex-direction: column; overflow: hidden; }
.uh-app .uh-lead__photo { flex: none; height: 160px; }
.uh-app .uh-lead__photo img { width: 100%; height: 100%; }
.uh-app .uh-lead__body { flex: 1; min-height: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 0 26px 26px; }
.uh-app .uh-lead .uh-av { position: relative; margin-top: -30px; box-shadow: 0 0 0 4px var(--uh-weiss); }
.uh-app .uh-lead__name { margin-top: 14px; font-family: var(--uh-font-head); font-weight: 400; font-size: 28px; line-height: 34px; letter-spacing: -.015em; }
.uh-app .uh-lead__obj { margin-top: 4px; font-size: 15px; line-height: 21px; color: var(--uh-basalt); }
.uh-app .uh-tags { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-top: 22px; }
.uh-app .uh-tag { display: inline-flex; align-items: center; gap: 9px; height: 38px; padding: 0 15px 0 9px; border-radius: 19px; background: var(--uh-kalk); border: 1px solid var(--uh-linie); font-size: 15px; font-weight: 500; white-space: nowrap; }
.uh-app .uh-tag i { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--uh-idx-fair-tint); color: var(--uh-idx-fair); }
.uh-app .uh-tag i svg { width: 13px; height: 13px; stroke-width: 2.2; }
.uh-app .uh-tag small { font-size: 15px; font-weight: 400; color: var(--uh-basalt); }
.uh-app .uh-slot { align-self: stretch; display: flex; align-items: center; gap: 14px; margin-top: auto; padding: 16px 18px; border-radius: 14px; background: var(--uh-anthrazit); color: var(--uh-putz); }
.uh-app .uh-slot__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; background: var(--uh-schiefer); color: var(--uh-licht); flex: none; }
.uh-app .uh-slot__icon svg { width: 20px; height: 20px; }
.uh-app .uh-slot b { display: block; font-size: 17px; font-weight: 600; line-height: 22px; white-space: nowrap; }
.uh-app .uh-slot span { display: block; font-size: 14px; line-height: 19px; color: var(--uh-blaustein); }
.uh-app .uh-slot--chat { background: var(--uh-flaeche); color: var(--uh-anthrazit); }
.uh-app .uh-slot--chat .uh-slot__icon { background: var(--uh-weiss); color: var(--uh-anthrazit); border: 1px solid var(--uh-linie); }
.uh-app .uh-slot--chat span { color: var(--uh-basalt); }

/* ---------- b5 Handy: Objektseite ---------- */
.uh-app .uh-ph__photo { position: absolute; left: 0; top: 0; width: 390px; height: 236px; background: var(--uh-anthrazit); }
.uh-app .uh-ph__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 46% 52%; }
.uh-app .uh-ph__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(46, 59, 48, .55) 0, rgba(46, 59, 48, 0) 32%, rgba(46, 59, 48, 0) 68%, rgba(46, 59, 48, .4) 100%); }
.uh-app .uh-statusbar { position: absolute; z-index: 2; left: 0; right: 0; top: 0; height: 50px; display: flex; align-items: center; justify-content: space-between; padding: 6px 30px 0 34px; color: var(--uh-weiss); font-size: 15.5px; font-weight: 600; }
.uh-app .uh-statusbar__icons { display: flex; align-items: center; gap: 6px; }
.uh-app .uh-statusbar__icons svg { height: 12px; width: auto; }
.uh-app .uh-ph__demo { position: absolute; z-index: 2; left: 20px; bottom: 40px; display: inline-flex; align-items: center; height: 26px; padding: 0 11px; border-radius: 13px; background: rgba(46, 59, 48, .72); color: var(--uh-putz); font-size: 13px; font-weight: 500; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }

.uh-app .uh-ph__sheet { position: absolute; left: 0; right: 0; top: 212px; bottom: 0; padding: 26px 24px 0; border-radius: 24px 24px 0 0; background: var(--uh-kalk); }
.uh-app .uh-ph__title { font-family: var(--uh-font-head); font-size: 27px; line-height: 33px; font-weight: 400; letter-spacing: -.02em; white-space: nowrap; }
.uh-app .uh-ph__facts { margin-top: 6px; font-size: 15px; line-height: 21px; color: var(--uh-basalt); white-space: nowrap; }
.uh-app .uh-ph__price { margin-top: 12px; font-family: var(--uh-font-head); font-size: 38px; line-height: 44px; font-weight: 300; letter-spacing: -.025em; white-space: nowrap; }

.uh-app .uh-mpi { margin-top: 20px; padding: 20px 20px 18px; border-radius: 20px; background: var(--uh-weiss); border: 1px solid var(--uh-linie); box-shadow: 0 1px 2px rgba(46, 59, 48, .04), 0 18px 36px -22px rgba(46, 59, 48, .3); }
.uh-app .uh-mpi__head { font-size: 15px; font-weight: 600; line-height: 20px; }
.uh-app .uh-mpi__score { display: flex; align-items: center; gap: 18px; margin-top: 6px; }
.uh-app .uh-mpi__num { font-family: var(--uh-font-head); font-weight: 300; font-size: 72px; line-height: 76px; letter-spacing: -.045em; }
.uh-app .uh-mpi__verdict { display: inline-flex; align-items: center; gap: 9px; font-size: 20px; font-weight: 600; line-height: 26px; color: var(--uh-idx-fair); white-space: nowrap; }
.uh-app .uh-mpi__verdict i { width: 10px; height: 10px; border-radius: 50%; background: var(--uh-idx-fair); }

.uh-app .uh-scale { position: relative; margin-top: 10px; }
.uh-app .uh-scale__lane { position: relative; height: 24px; }
.uh-app .uh-scale__track { position: absolute; left: 0; right: 0; top: 7px; height: 10px; display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 2px; }
.uh-app .uh-scale__track i { display: block; height: 100%; }
.uh-app .uh-scale__track i:nth-child(1) { background: var(--uh-idx-teurer); border-radius: 5px 0 0 5px; }
.uh-app .uh-scale__track i:nth-child(2) { background: var(--uh-idx-fair); }
.uh-app .uh-scale__track i:nth-child(3) { background: var(--uh-idx-sehrfair); border-radius: 0 5px 5px 0; }
.uh-app .uh-scale__notch { position: absolute; left: 50%; top: 7px; width: 2px; height: 10px; margin-left: -1px; background: var(--uh-weiss); opacity: .9; }
.uh-app .uh-scale__marker { position: absolute; top: 0; left: calc(var(--uh-v) * 100%); width: 24px; height: 24px; margin-left: -12px; border-radius: 50%; background: var(--uh-weiss); border: 5px solid var(--uh-anthrazit); box-shadow: 0 0 0 2px var(--uh-weiss), 0 3px 8px rgba(46, 59, 48, .35); }
.uh-app .uh-scale__ticks { position: relative; height: 38px; margin-top: 8px; font-size: 13px; line-height: 17px; color: var(--uh-basalt); }
.uh-app .uh-scale__ticks span { position: absolute; top: 0; transform: translateX(-50%); text-align: center; white-space: nowrap; }
.uh-app .uh-scale__ticks .uh-t-l { left: 0; transform: none; text-align: left; }
.uh-app .uh-scale__ticks .uh-t-r { right: 0; transform: none; text-align: right; }
.uh-app .uh-scale__ticks strong { display: block; font-weight: 600; letter-spacing: .06em; color: var(--uh-idx-fair); }
.uh-app .uh-scale__ticks .uh-t-fair { color: var(--uh-anthrazit); font-weight: 500; }

.uh-app .uh-mpi__corr { margin-top: 8px; padding: 12px 14px; border-radius: 12px; background: var(--uh-kalk); }
.uh-app .uh-mpi__corr span { display: block; font-size: 13px; line-height: 17px; color: var(--uh-basalt); }
.uh-app .uh-mpi__corr b { display: block; margin-top: 2px; font-family: var(--uh-font-head); font-size: 21px; line-height: 27px; font-weight: 400; letter-spacing: -.01em; white-space: nowrap; }
.uh-app .uh-disc { display: flex; align-items: center; gap: 7px; margin-top: 12px; font-size: 13px; line-height: 17px; color: var(--uh-basalt); }
.uh-app .uh-disc svg { width: 15px; height: 15px; }

.uh-app .uh-ph__bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100px;
  display: flex;
  gap: 10px;
  padding: 14px 16px 0;
  background: var(--uh-anthrazit);
  border-radius: 22px 22px 0 0;
  box-shadow: 0 -12px 28px -16px rgba(46, 59, 48, .45);
}
.uh-app .uh-ph__bar .uh-btn { height: 54px; border-radius: 15px; font-size: 16px; }
.uh-app .uh-ph__bar .uh-btn svg { width: 19px; height: 19px; }
.uh-app .uh-ph__bar .uh-btn--licht { flex: 1.35; }
.uh-app .uh-ph__bar .uh-btn--nacht { flex: 1; }
.uh-app .uh-homebar { position: absolute; left: 50%; bottom: 8px; width: 134px; height: 5px; margin-left: -67px; border-radius: 3px; background: rgba(245, 242, 236, .7); }

/* ---------- b6 Maklerprofil ---------- */
.uh-app .uh-hero { position: relative; overflow: hidden; flex: none; }
.uh-app .uh-hero__cover { position: relative; height: 150px; }
.uh-app .uh-hero__cover img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; filter: saturate(.72) brightness(.96); }
.uh-app .uh-hero__cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(46, 59, 48, .05), rgba(46, 59, 48, .4)); }
.uh-app .uh-hero__body { position: relative; display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; column-gap: 24px; align-items: center; padding: 18px 30px 24px; }
.uh-app .uh-hero__mark { align-self: start; margin-top: -54px; display: grid; place-items: center; width: 92px; height: 92px; border-radius: 20px; background: var(--uh-anthrazit); border: 4px solid var(--uh-weiss); color: var(--uh-putz); font-family: var(--uh-font-head); font-size: 28px; font-weight: 400; box-shadow: var(--uh-shadow); }
.uh-app .uh-hero__name { font-family: var(--uh-font-head); font-size: 30px; line-height: 36px; font-weight: 400; letter-spacing: -.018em; }
.uh-app .uh-hero__meta { display: flex; align-items: center; gap: 7px; margin-top: 4px; font-size: 15px; color: var(--uh-basalt); }
.uh-app .uh-hero__meta svg { width: 16px; height: 16px; }
.uh-app .uh-fp--hell { margin-top: 0; height: 32px; padding: 0 14px 0 12px; border-radius: 16px; background: var(--uh-anthrazit); border-color: var(--uh-anthrazit); font-size: 14px; }
.uh-app .uh-fp--hell svg { width: 14px; height: 12px; }

.uh-app .uh-profile { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 300px; gap: 24px; }
.uh-app .uh-media { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 0; padding: 24px 26px; border-radius: 18px; background: var(--uh-schiefer); color: var(--uh-putz); overflow: hidden; }
.uh-app .uh-media::before { content: ""; position: absolute; inset: 10px; border: 1px dashed rgba(169, 179, 159, .35); border-radius: 10px; pointer-events: none; }
.uh-app .uh-media__title { position: relative; font-size: 17px; font-weight: 600; }
.uh-app .uh-media__play { position: relative; align-self: center; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; border: 1px solid rgba(245, 242, 236, .45); background: rgba(245, 242, 236, .06); color: var(--uh-putz); }
.uh-app .uh-media__play svg { width: 22px; height: 22px; margin-left: 3px; }
.uh-app .uh-media__text { position: relative; font-size: 15px; line-height: 21px; color: var(--uh-putz); }
.uh-app .uh-media__text small { display: block; font-size: 13px; line-height: 18px; color: var(--uh-blaustein); }
.uh-app .uh-pubs { display: flex; flex-direction: column; }
.uh-app .uh-pubs__title { padding: 22px 22px 14px; font-size: 17px; font-weight: 600; }
.uh-app .uh-pub { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 14px; align-items: center; padding: 16px 22px; border-top: 1px solid var(--uh-linie); }
.uh-app .uh-pub img { width: 72px; height: 56px; border-radius: 10px; }
.uh-app .uh-pub__title { font-size: 15px; font-weight: 600; line-height: 20px; }
.uh-app .uh-pub__meta { margin-top: 2px; font-size: 14px; color: var(--uh-basalt); white-space: nowrap; }

.uh-app .uh-side__logo svg { color: var(--uh-putz); }
