/* Bewertungs-Karussell */
.bew{--bew-b:22rem;--bew-h:21rem;--bew-gap:1.25rem;position:relative;margin-block:var(--raum-5,2rem) 0}
.bew__fenster{overflow-x:auto;scroll-snap-type:x proximity;padding:.75rem .25rem 1.5rem;scrollbar-width:thin}
.bew--aktiv .bew__fenster{overflow:hidden;scroll-snap-type:none;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.bew--zieht .bew__fenster{cursor:grabbing}
.bew__spur{display:flex;align-items:flex-start;gap:var(--bew-gap);width:max-content;will-change:transform}
.bew__karte{flex:0 0 var(--bew-b);width:var(--bew-b);height:var(--bew-h);box-sizing:border-box;display:flex;flex-direction:column;gap:.9rem;
 background:#fff;color:var(--farbe-tinte,#0c1811);border:1px solid #1a362512;border-radius:var(--radius-kasten,14px);box-shadow:var(--schatten-kasten);
 padding:1.4rem 1.5rem 1.25rem;margin:0;overflow:hidden;scroll-snap-align:start;
 transition:width .45s cubic-bezier(.2,.8,.2,1),height .45s cubic-bezier(.2,.8,.2,1),flex-basis .45s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.bew__karte.offen{--bew-b:31rem;height:auto;box-shadow:var(--schatten-kasten-hoch)}
.bew__sterne{display:flex;gap:.2rem;color:var(--farbe-gold,#a07f4e);flex:none}
.bew__sterne svg{width:1.35rem;height:1.35rem;fill:currentColor}
.bew__text{margin:0;flex:1 1 auto;min-height:0;overflow:hidden;font-size:var(--text-s,1rem);line-height:1.6;position:relative}
.bew__text p{margin:0 0 .6em}
.bew__mehr{all:unset;box-sizing:border-box;align-self:flex-start;cursor:pointer;font:600 var(--text-xs,.875rem)/1.2 var(--schrift-text);color:var(--farbe-gruen,#1a3625);
 text-decoration:underline;text-decoration-color:var(--farbe-gold,#a07f4e);text-underline-offset:.25em;padding:.2rem 0;flex:none}
.bew__mehr:hover{text-decoration-thickness:2px}
.bew__mehr:focus-visible{outline:2px solid var(--farbe-gruen,#1a3625);outline-offset:3px;border-radius:4px}
.bew__quelle{flex:none;font-size:var(--text-xs,.875rem);line-height:1.4;color:var(--farbe-text-leise,#485e51);border-top:1px solid var(--farbe-linie-zart,#eaedeb);padding-top:.8rem}
.bew__quelle strong{display:block;color:var(--farbe-tinte,#0c1811);font-weight:600}
.bew__fuss{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:space-between;margin-top:.25rem}
.bew__hinweis{margin:0;font-size:var(--text-xs,.875rem);color:var(--farbe-text-leise,#485e51)}
@media(max-width:63.99rem){.bew{--bew-b:min(19rem,82vw);--bew-h:21rem}.bew__karte.offen{--bew-b:min(88vw,26rem)}}
.bew__text blockquote{margin:0}
.stimmen-start{display:block}
.stimmen-start__seite{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:var(--rinne,1.5rem);align-items:start;margin-top:var(--raum-5,2rem)}
.bew__text p:last-child{margin-bottom:0}

.bew__kurz{margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden}
.bew__karte.offen .bew__kurz,.bew__voll[hidden]{display:none}
.bew__text{overflow:visible}
/* Kartenaufbau: Profilbild, Name, Datum, Sterne, Text */
.bew__kopf{display:flex;align-items:center;gap:.85rem;flex:none}
.bew__bild{width:3rem;height:3rem;border-radius:50%;object-fit:cover;background:var(--farbe-gruen-zart,#eaedeb);flex:none}
.bew__person{display:flex;flex-direction:column;min-width:0;gap:.1rem}
.bew__name{font-weight:600;font-size:var(--text-s,1rem);line-height:1.25;color:var(--farbe-tinte,#0c1811);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bew__datum{font-size:var(--text-xs,.875rem);color:var(--farbe-text-leise,#485e51);line-height:1.3}
.bew__sterne{color:#fbbc04}
.bew__karte{gap:.8rem}
.bew__mehr[hidden]{display:none}
.stadtteile-kompakt{padding-block:var(--raum-4,1.5rem) 0}
.stadtteile-auf>summary{cursor:pointer;display:inline-block;font:600 var(--text-xs,.875rem)/1.3 var(--schrift-text);color:var(--farbe-text-leise,#485e51);text-decoration:underline;text-decoration-color:var(--farbe-linie,#d6dbd8);text-underline-offset:.25em;list-style:none}
.stadtteile-auf>summary::-webkit-details-marker{display:none}
.stadtteile-auf[open]>summary{margin-bottom:var(--raum-4,1.5rem)}
/* Lagekarte */
.lagekarte{padding:0;overflow:hidden;background:#fff}
.lk-svg{display:block;width:100%;height:auto}
.lk-grund{fill:url(#lk-glanz)}
.lk-fluss{fill:none;stroke:#bcd3cb;stroke-width:6;stroke-linecap:round;opacity:.95}
.lk-duenn{stroke-width:2.5;opacity:.8}
.lk-rhein{stroke-width:9}
.lk-ring{fill:none;stroke:#1a3625;stroke-opacity:.18;stroke-width:1.2;stroke-dasharray:2 6;stroke-linecap:round}
.lk-name{font:italic 600 12px var(--schrift-text);fill:#7d9a8e;letter-spacing:.06em;text-anchor:middle}
.lk-stadt circle{fill:#1a3625;stroke:#fff;stroke-width:2.5}
.lk-stadt text{font:600 13.5px var(--schrift-text);fill:#1a3625;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.lk-klein circle{fill:#9aa9a1;stroke:#fff;stroke-width:2}
.lk-klein text{font:500 12px var(--schrift-text);fill:#6b7f75;paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round}
.lk-kern{fill:var(--farbe-gold,#a07f4e);stroke:#fff;stroke-width:3}
.lk-puls{fill:var(--farbe-gold,#a07f4e);opacity:.35;transform-box:fill-box;transform-origin:center;animation:lk-puls 2.6s ease-out infinite}
.lk-buero text{font:700 15px var(--schrift-text);fill:#1a3625;paint-order:stroke;stroke:#fff;stroke-width:4.5px;stroke-linejoin:round}
@keyframes lk-puls{0%{transform:scale(1);opacity:.45}100%{transform:scale(3.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.lk-puls{animation:none;opacity:.25}}
.region__karte .lagekarte{padding:0}
.lk-name{font-size:11px}
/* Kennzahlen im Kopfbereich sind keine Links */
.themen a{pointer-events:none;cursor:default}
/* Zeitstrahl: Von der Beauftragung bis zum Notartermin */
.zeitstrahl{margin-top:var(--raum-5,2rem);padding:1.1rem 1.25rem 1rem;border-radius:var(--radius-kasten,14px);background:#fff;border:1px solid #1a362512;box-shadow:var(--schatten-kasten);max-width:34rem}
.zs-kopf{display:flex;justify-content:space-between;gap:1rem;font:600 var(--text-xs,.875rem)/1.3 var(--schrift-text);color:var(--farbe-text-leise,#485e51);margin-bottom:2.5rem}
.zs-ziel{color:var(--farbe-gruen,#1a3625);text-align:right}
.zs-spur{position:relative;height:.9rem;border-radius:999px;background:var(--farbe-gruen-zart,#eaedeb);margin:0 .6rem}
.zs-fuellung{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--farbe-gruen,#1a3625) 0,#3f6b50 45%,var(--farbe-gold,#a07f4e) 100%);transform-origin:left;transform:scaleX(1)}
.zs-bereich{position:absolute;left:50%;right:0;top:-.35rem;bottom:-.35rem;border-radius:999px;border:2px solid var(--farbe-gold,#a07f4e);box-sizing:border-box;z-index:1}
.zs-bereich span{position:absolute;left:50%;top:-1.55rem;transform:translateX(-50%);white-space:nowrap;font:700 .75rem/1 var(--schrift-text);color:var(--farbe-gold,#a07f4e);letter-spacing:.02em;background:#fff;padding:0 .35rem}
.zs-punkt{position:absolute;top:50%;width:1.35rem;height:1.35rem;border-radius:50%;background:#fff;border:3px solid var(--farbe-gruen,#1a3625);transform:translate(-50%,-50%);z-index:2;box-sizing:border-box}
.zs-punkt--start{left:0}.zs-punkt--mitte{left:50%;width:.9rem;height:.9rem;border-width:2px;border-color:var(--farbe-gold,#a07f4e)}
.zs-punkt--ziel{left:100%;width:1.9rem;height:1.9rem;background:var(--farbe-gold,#a07f4e);border-color:#fff;box-shadow:0 2px 8px #1a362540;display:grid;place-items:center}
.zs-punkt--ziel svg{width:1.05rem;height:1.05rem;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.zs-skala{display:flex;justify-content:space-between;margin:1.1rem .1rem 0 .1rem;font:500 .75rem/1 var(--schrift-text);color:var(--farbe-text-leise,#485e51)}
.zs-skala span:last-child{margin-right:-.25rem}
.js-zs .zs-fuellung{transform:scaleX(0);transition:transform 1.6s cubic-bezier(.2,.8,.2,1)}
.js-zs .zs-punkt--ziel{transform:translate(-50%,-50%) scale(0);transition:transform .5s cubic-bezier(.3,1.6,.5,1) 1.4s}
.js-zs.zs-an .zs-fuellung{transform:scaleX(1)}
.js-zs.zs-an .zs-punkt--ziel{transform:translate(-50%,-50%) scale(1)}
@media (prefers-reduced-motion:reduce){.js-zs .zs-fuellung,.js-zs .zs-punkt--ziel{transition:none}}
/* Sorgen-Block (Einfamilienhaus-Entwurf) */
.sorgen-kopf{max-width:46rem;margin-bottom:var(--raum-5,2rem)}
.sorgen{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:var(--rinne,1.25rem)}
.sorgen li{position:relative;background:#fff;border:1px solid #1a362512;border-radius:var(--radius-kasten,14px);box-shadow:var(--schatten-kasten);padding:1.4rem 1.5rem 1.5rem}
.sorgen__zeichen{display:block;font:400 3.2rem/.8 var(--schrift-titel);color:var(--farbe-gold,#a07f4e);margin-bottom:.4rem}
.sorgen li p{margin:0;font:400 var(--text-m,1.0625rem)/1.5 var(--schrift-titel);color:var(--farbe-gruen,#1a3625)}
.sorgen-fuss{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:var(--raum-5,2rem);padding:1.4rem 1.6rem;border-radius:var(--radius-kasten,14px);background:var(--farbe-gruen,#1a3625);color:#fff}
.sorgen-fuss__satz{margin:0;flex:1 1 20rem;font:400 var(--text-l,1.25rem)/1.45 var(--schrift-titel)}
/* Kacheln der Immobilienarten: gleich groß, gleich gefüllt */
.artenraster{list-style:none;margin:0;padding:0;display:grid;gap:var(--rinne,1.25rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,16.5rem),1fr));align-items:stretch;grid-auto-rows:1fr}
@media (min-width:64rem){.artenraster{grid-template-columns:repeat(4,minmax(0,1fr))}}
.artenraster>li{display:flex}
.artkarte{display:flex;flex-direction:column;gap:.9rem;width:100%;box-sizing:border-box;padding:1.5rem;background:#fff;border:1px solid #1a362512;border-radius:var(--radius-kasten,14px);box-shadow:var(--schatten-kasten)}
.artkarte .art-karte__bild{display:block;width:3rem;height:3rem}
.artkarte .art-karte__bild svg{width:3rem;height:3rem}
.artkarte__titel{margin:0;font:400 var(--text-l,1.25rem)/1.25 var(--schrift-titel);color:var(--farbe-gruen,#1a3625);min-height:2.5em;display:flex;align-items:flex-end}
.artkarte__ticks{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;align-content:start;flex:1 1 auto}
.artkarte__ticks li{display:grid;grid-template-columns:1.25rem 1fr;gap:.6rem;align-items:start;font:400 var(--text-s,1rem)/1.4 var(--schrift-text);color:var(--farbe-tinte,#0c1811)}
.artkarte__ticks .tick{width:1.25rem;height:1.25rem;fill:none;stroke:var(--farbe-gold,#a07f4e);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;margin-top:.1rem}
.artkarte__link,.artkarte__btn{margin-top:auto;align-self:flex-start}
.artkarte__btn{width:100%;justify-content:center}
.artkarte--hell{background:var(--farbe-gruen-hauch,#f6f7f6)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Berichte-Übersicht */
.berichtraster{list-style:none;margin:0;padding:0;display:grid;gap:var(--rinne,1.25rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));grid-auto-rows:1fr}
.berichtraster>li{display:flex}
.berichtkarte{display:flex;flex-direction:column;gap:.9rem;width:100%;box-sizing:border-box;padding:1.5rem;background:#fff;border:1px solid #1a362512;border-radius:var(--radius-kasten,14px);box-shadow:var(--schatten-kasten)}
.berichtkarte--hell{background:var(--farbe-gruen-hauch,#f6f7f6)}
.berichtkarte__kopf{margin:0;display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center}
.berichtkarte__meta{font:400 var(--text-xs,.875rem)/1.3 var(--schrift-text);color:var(--farbe-text-leise,#485e51)}
.berichtkarte__titel{margin:0;font:400 var(--text-l,1.25rem)/1.3 var(--schrift-titel);color:var(--farbe-gruen,#1a3625)}
.berichtkarte__titel a{color:inherit;text-decoration:none}
.berichtkarte__text{margin:0;font:400 var(--text-s,1rem)/1.55 var(--schrift-text);color:var(--farbe-tinte,#0c1811);flex:1 1 auto}
.berichtkarte__link{margin-top:auto;align-self:flex-start}
.artkarte__text{margin:0;flex:1 1 auto;font:400 var(--text-s,1rem)/1.55 var(--schrift-text);color:var(--farbe-tinte,#0c1811)}
.artkarte__titel,.artkarte__text{hyphens:manual;overflow-wrap:break-word;min-width:0}
.artkarte__titel{font-size:var(--text-m,1.125rem)}
/* Initialen statt Profilbild */
.bew__bild--initial{display:grid;place-items:center;color:#fff;font:600 1.0625rem/1 var(--schrift-text);letter-spacing:.02em}
