@font-face{font-family:"Vidaloka";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/vidaloka-latin.woff2") format("woff2");}
@font-face{font-family:"Raleway";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/raleway-latin.woff2") format("woff2");}

:root{
  --rose:#e8aec4;
  --rose-tief:#c97f9c;
  --rose-hell:#f9e9ef;
  --rose-zart:#f6e1e9;
  --dunkel:#2c2c2b;
  --text:#4a4a49;
  --leise:#727272;
  --linie:#ecdfe4;
  --weiss:#ffffff;
  --serif:"Vidaloka",Georgia,"Times New Roman",serif;
  --sans:"Raleway","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --breite:1160px;
  --rand:24px;
  --radius:18px;
  --schatten:0 16px 36px -12px rgba(44,44,43,.32),0 3px 10px rgba(44,44,43,.08);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px;}
body{margin:0;background:var(--weiss);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--dunkel);}
p{margin:0 0 1em;}
h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:400;color:var(--dunkel);line-height:1.2;margin:0 0 .5em;letter-spacing:.005em;}
h4{font-size:clamp(1.7rem,5vw,2.6rem);}
h5,h6{font-size:clamp(1.25rem,3.4vw,1.5rem);}
h1{font-size:clamp(2.1rem,7vw,3.6rem);}
h2{font-size:clamp(1.7rem,5vw,2.6rem);}
h3{font-size:clamp(1.25rem,3.4vw,1.5rem);}
.wie-h2{font-family:var(--serif);font-size:clamp(1.7rem,5vw,2.6rem);font-weight:400;color:var(--dunkel);line-height:1.2;}
.wie-text{font-family:var(--sans);font-size:1.08rem;font-weight:400;color:var(--text);line-height:1.7;letter-spacing:0;margin:0 0 1em;}
.abschnitt--dunkel .wie-text{color:#ececea;}
.kopf-text p.wie-h2{font-size:clamp(1.7rem,5vw,2.6rem);}
.band .wie-text{font-family:var(--sans);font-size:1.08rem;line-height:1.7;}
.gross-zitat{font-size:clamp(1.6rem,4.6vw,2.4rem);}
.dachzeile{display:block;font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rose-tief);margin:0 0 .9em;}
.leise{color:var(--leise);}
.mitte{text-align:center;}
.innen{width:100%;max-width:var(--breite);margin:0 auto;padding:0 var(--rand);}
.abschnitt{padding:64px 0;}
.abschnitt--rose{background:var(--rose-zart);}
.abschnitt--dunkel{background:var(--dunkel);color:#ececea;}
.abschnitt--dunkel h2,.abschnitt--dunkel h3{color:var(--weiss);}
.kopf-text{max-width:720px;margin:0 auto 40px;text-align:center;}
.kopf-text p{font-size:1.08rem;}
.sprung{position:absolute;left:-9999px;top:0;background:var(--dunkel);color:#fff;padding:10px 16px;z-index:100;}
.sprung:focus{left:12px;top:12px;}

/* Knöpfe */
.knopf{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 28px;border-radius:999px;border:2px solid var(--dunkel);background:var(--dunkel);color:var(--weiss);font-family:var(--sans);font-size:.95rem;font-weight:700;letter-spacing:.06em;text-decoration:none;text-align:center;line-height:1.3;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s;}
.knopf:hover{background:var(--rose-tief);border-color:var(--rose-tief);}
.knopf:focus-visible{outline:3px solid var(--rose);outline-offset:3px;}
.knopf--rose{background:var(--rose);border-color:var(--rose);color:var(--dunkel);}
.knopf--rose:hover{background:var(--weiss);border-color:var(--weiss);color:var(--dunkel);}
.knopf--rahmen{background:transparent;color:var(--dunkel);}
.knopf--rahmen:hover{background:var(--dunkel);color:var(--weiss);border-color:var(--dunkel);}
.knopf svg{width:20px;height:20px;flex:none;}
.knoepfe{display:flex;flex-wrap:wrap;gap:12px;}
.textlink{font-weight:700;color:var(--dunkel);text-decoration:none;border-bottom:2px solid var(--rose);padding-bottom:2px;}
.textlink:hover{border-color:var(--dunkel);}

/* Kopfzeile */
.kopf{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--linie);}
.kopf .innen{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;}
.kopf__logo img{width:150px;height:auto;}
.menue-knopf{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:none;color:var(--dunkel);cursor:pointer;border-radius:12px;}
.menue-knopf svg{width:28px;height:28px;}
.menue-knopf:focus-visible{outline:3px solid var(--rose);}
.menue{display:none;}
.menue.offen{display:block;position:absolute;left:0;right:0;top:100%;background:var(--weiss);border-bottom:1px solid var(--linie);box-shadow:0 20px 30px -20px rgba(0,0,0,.25);padding:8px var(--rand) 20px;}
.menue ul{list-style:none;margin:0;padding:0;}
.menue a{display:block;padding:14px 4px;font-size:.92rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--dunkel);border-bottom:1px solid var(--linie);}
.menue a[aria-current]{color:var(--rose-tief);}
.menue .menue__kontakt{margin-top:16px;border:0;text-align:center;}
.menue .menue__kontakt a{display:flex;color:var(--weiss);border:2px solid var(--dunkel);}
.menue .menue__kontakt a:hover{color:var(--weiss);border-color:var(--rose-tief);}

/* Titelbereich */
.titel{position:relative;display:flex;align-items:flex-end;min-height:min(680px,calc(100svh - 72px));background:var(--weiss);overflow:hidden;}
.titel__bild{position:absolute;inset:0;}
.titel__bild img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.titel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.35) 28%,rgba(255,255,255,.84) 52%,rgba(255,255,255,.92) 100%);pointer-events:none;}
.titel__text{position:relative;z-index:1;width:100%;padding:220px 0 40px;}
.titel h1,.titel .titel__h1{font-family:var(--serif);font-size:clamp(2.1rem,7vw,3.6rem);line-height:1.2;color:var(--dunkel);margin:0 0 .5em;}
.titel .titel__h1 span{display:block;font-size:.6em;color:var(--rose-tief);margin-top:.25em;}
.titel h1 span{display:block;font-size:.6em;color:var(--rose-tief);margin-top:.25em;}
.titel__unter{font-family:var(--sans);font-size:1.1rem;font-weight:600;line-height:1.6;color:var(--dunkel);margin-bottom:28px;}

/* Bild mit Rahmen */
.zwei{display:grid;gap:40px;align-items:center;}
.rahmenbild{position:relative;margin:0 14px 14px 0;}
.rahmenbild::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:2px solid var(--rose);border-radius:var(--radius);z-index:0;}
.rahmenbild img{position:relative;z-index:1;border-radius:var(--radius);width:100%;}
.unterschrift{font-family:var(--serif);font-size:1.6rem;color:var(--dunkel);margin:24px 0 0;line-height:1.2;}
.unterschrift small{display:block;font-family:var(--sans);font-size:.9rem;color:var(--leise);margin-top:6px;}

/* Kontakt-Band */
.band{text-align:center;padding:40px 0;}
.band h2{font-size:clamp(1.9rem,6.4vw,2.8rem);margin-bottom:.3em;}
.band h3.wie-text{margin:0 0 .4em;}
.band p{margin:0 0 .4em;}
.band__nummer{display:inline-block;font-family:var(--serif);font-size:clamp(1.7rem,5.6vw,2.4rem);color:var(--rose);text-decoration:none;margin:6px 0 2px;}
.band__nummer:hover{color:var(--weiss);}
.band .knoepfe{justify-content:center;margin-top:12px;}

/* Typen-Kacheln */
.kacheln{display:grid;grid-template-columns:1fr;gap:20px;}
.kachel{display:block;text-decoration:none;color:var(--dunkel);border-radius:var(--radius);overflow:hidden;background:var(--weiss);border:1px solid var(--linie);box-shadow:var(--schatten);transition:transform .25s,box-shadow .25s;}
.kachel:hover{box-shadow:0 22px 44px -14px rgba(44,44,43,.4),0 4px 12px rgba(44,44,43,.1);}
.kachel:hover{transform:translateY(-4px);}
.kachel img{aspect-ratio:4/3;object-fit:cover;object-position:center 30%;width:100%;}
.kachel h3{font-size:1.2rem;margin:0;padding:16px 16px 18px;text-align:center;}

/* Zitat-Band */
.zitat{text-align:center;max-width:900px;margin:0 auto;}
.zitat p,.zitat .zitat__vorzeile{font-family:var(--sans);font-size:1rem;font-weight:600;letter-spacing:.04em;color:var(--rose-tief);line-height:1.6;margin:0 0 1em;}
.zitat h2{font-size:clamp(1.6rem,4.6vw,2.4rem);}

/* Vorteile */
.vorteile{display:grid;gap:18px;}
.vorteil{background:var(--weiss);border:1px solid var(--linie);border-radius:var(--radius);padding:26px 24px;}
.vorteil__symbol{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--rose-hell);color:var(--rose-tief);margin-bottom:14px;}
.vorteil__symbol svg{width:28px;height:28px;}
.vorteil h3{margin-bottom:.35em;}
.vorteil p{margin:0;}

/* Riso */
.riso__logo{width:240px;margin:0 0 16px -8px;}
.riso__siegel{width:min(320px,80%);margin:0 auto;mix-blend-mode:multiply;}

/* Ergebnisse */
.ergebnisse{display:grid;gap:18px;}
.ergebnis{position:relative;display:block;border-radius:var(--radius);overflow:hidden;text-decoration:none;}
.ergebnis img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .4s;}
.ergebnis:hover img{transform:scale(1.04);}
.ergebnis span{position:absolute;left:14px;bottom:14px;background:var(--weiss);color:var(--dunkel);font-weight:700;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;padding:8px 16px;border-radius:999px;}

/* Abschluss */
.abschluss blockquote{margin:0 0 8px;padding:0 0 0 20px;border-left:3px solid var(--rose);font-size:1.08rem;font-style:italic;}

/* Fußzeile */
.fuss{background:var(--dunkel);color:#cfcfcd;padding:56px 0 40px;font-size:.95rem;}
.fuss a{color:#ececea;}
.fuss__raster{display:grid;gap:36px;}
.fuss__logo{width:190px;margin-bottom:18px;}
.fuss__titel{font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rose);margin:0 0 12px;}
.fuss ul{list-style:none;margin:0;padding:0;}
.fuss li{margin:0 0 8px;}
.fuss li a{text-decoration:none;}
.fuss li a:hover{color:var(--rose);}
.fuss__nummer{font-family:var(--serif);font-size:1.4rem;text-decoration:none;}
.fuss__sozial{display:flex;gap:12px;margin-top:16px;}
.fuss__sozial a{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid #555;border-radius:50%;}
.fuss__sozial a:hover{border-color:var(--rose);color:var(--rose);}
.fuss__sozial svg{width:20px;height:20px;}
.fuss__unten{border-top:1px solid #444;margin-top:40px;padding-top:20px;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.88rem;}
.fuss__unten a{text-decoration:none;}
.fuss__unten a:hover{color:var(--rose);}

/* Anrufen und WhatsApp ueber der Fusszeile, nur auf dem Handy */
.handyleiste{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:28px var(--rand);background:var(--rose-zart);}
.handyleiste .knopf{min-height:52px;padding:12px;font-size:.9rem;}

/* Cookie-Hinweis */
.cookie{display:none;position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:520px;margin:0 auto;background:var(--weiss);border:1px solid var(--linie);border-radius:16px;box-shadow:0 20px 50px -20px rgba(0,0,0,.45);padding:20px;}
.cookie p{font-size:.92rem;margin:0 0 14px;}
.cookie .knoepfe{gap:10px;}
.cookie .knopf{min-height:44px;padding:10px 20px;font-size:.88rem;flex:1;}

/* Seitenkopf der Unterseiten: Handy Text auf Bild mit Schleier, Desktop zweispaltig */
.seitenkopf{position:relative;overflow:hidden;background:var(--rose-zart);}
.seitenkopf__bild{position:absolute;inset:0;z-index:0;}
.seitenkopf__bild img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.seitenkopf::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,.55) 26%,rgba(255,255,255,.9) 44%,rgba(255,255,255,.95) 100%);pointer-events:none;z-index:1;}
.seitenkopf .innen{padding-top:220px;padding-bottom:40px;}
.seitenkopf .innen > div:first-child{position:relative;z-index:2;}
.seitenkopf h1{font-size:clamp(2rem,7vw,3.2rem);}
.seitenkopf h1 span{display:block;font-size:.6em;color:var(--rose-tief);margin-top:.25em;}
.seitenkopf__unter{font-family:var(--serif);font-size:1.25rem;color:var(--dunkel);line-height:1.35;margin:0 0 24px;}
.seitenkopf--ohne-bild::after{display:none;}
.seitenkopf--ohne-bild .innen{padding-top:56px;padding-bottom:40px;}

/* Haken-Liste */
.haken{list-style:none;margin:0 0 1em;padding:0;}
.haken li{position:relative;padding:0 0 10px 34px;}
.haken li::before{content:"";position:absolute;left:0;top:.3em;width:22px;height:22px;border-radius:50%;background:var(--rose) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c2c2b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat;}

/* Karten allgemein */
.karten{display:grid;gap:18px;}
.karte{background:var(--weiss);border:1px solid var(--linie);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--schatten);}
.karte h3{margin-bottom:.2em;}
.karte .unterzeile{display:block;font-weight:700;color:var(--rose-tief);margin-bottom:.8em;}
.karte p:last-child{margin-bottom:0;}

/* Leistungen mit Bild */
.leistung{display:block;text-decoration:none;color:var(--dunkel);background:var(--weiss);border:1px solid var(--linie);border-radius:var(--radius);overflow:hidden;box-shadow:var(--schatten);transition:transform .25s;}
.leistung:hover{transform:translateY(-4px);}
.leistung img{width:100%;aspect-ratio:500/339;object-fit:cover;}
.leistung div{padding:18px 20px 22px;}
.leistung .leistung__titel{font-family:var(--serif);color:var(--dunkel);line-height:1.2;margin:0 0 .25em;text-transform:uppercase;letter-spacing:.06em;font-size:1.2rem;}
.leistung p{margin:0;color:var(--leise);}

/* Typ-Zeilen auf der Leistungsseite */
.typ{display:grid;gap:28px;align-items:center;padding:40px 0;border-bottom:1px solid var(--linie);scroll-margin-top:90px;}
.typ:last-child{border-bottom:0;}
.typ img{border-radius:var(--radius);width:100%;aspect-ratio:1/1;object-fit:cover;box-shadow:var(--schatten);}
.typ h3{font-size:clamp(1.6rem,5vw,2.2rem);}
.typ .knoepfe{margin-top:20px;}

/* Galerie mit Grossansicht */
.galerie{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.galerie a{display:block;border-radius:12px;overflow:hidden;}
.galerie img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .4s;}
.galerie--quadrat img{aspect-ratio:1/1;}
.galerie a:hover img{transform:scale(1.04);}
.galerie-titel{margin:48px 0 18px;text-align:center;font-size:clamp(1.7rem,5vw,2.6rem);}
.galerie-titel:first-child{margin-top:0;}
.grossansicht{border:0;padding:0;background:transparent;max-width:min(1024px,94vw);max-height:92vh;overflow:visible;}
.grossansicht::backdrop{background:rgba(20,20,20,.85);}
.grossansicht img{max-width:100%;max-height:86vh;border-radius:12px;margin:0 auto;}
.grossansicht button{position:fixed;top:14px;right:14px;width:48px;height:48px;border-radius:50%;border:0;background:var(--weiss);color:var(--dunkel);font-size:28px;line-height:1;cursor:pointer;}

/* Kundenstimmen */
.stimmen{display:grid;gap:18px;}
.stimme{margin:0;background:var(--weiss);border:1px solid var(--linie);border-radius:var(--radius);padding:24px;box-shadow:var(--schatten);display:flex;flex-direction:column;}
.stimme blockquote{margin:0 0 18px;font-style:italic;}
.stimme figcaption{display:flex;align-items:center;gap:14px;margin-top:auto;font-weight:700;color:var(--dunkel);}
.stimme figcaption img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none;}
.bewertungen{display:grid;gap:12px;max-width:845px;margin:0 auto;}
.bewertungen img{border-radius:10px;border:1px solid var(--linie);}

/* Preisliste */
.preisgruppe h3{font-size:clamp(1.4rem,4vw,1.8rem);margin-bottom:.6em;}
.preis{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:12px 0;border-bottom:1px dotted #c9b6be;}
.preis:last-child{border-bottom:0;}
.preis span:first-child{flex:1 1 220px;}
.preis span:last-child{font-weight:700;color:var(--dunkel);white-space:nowrap;}
.hinweisband{text-align:center;}
.hinweisband h1,.hinweisband h2,.hinweisband h3.wie-h2{font-size:clamp(1.5rem,4.6vw,2.2rem);margin-bottom:.3em;color:var(--weiss);}
.hinweisband p,.hinweisband .wie-text{margin:0;}

/* Angebotskasten */
.angebot{background:var(--weiss);border:2px solid var(--rose);border-radius:var(--radius);padding:28px 24px;text-align:center;box-shadow:var(--schatten);}
.angebot__preis{font-family:var(--serif);font-size:clamp(1.6rem,6vw,2.4rem);color:var(--dunkel);line-height:1.2;margin:0 0 10px;}
.h2-block .h2-text{display:block;font-family:var(--sans);font-size:1.05rem;line-height:1.7;color:var(--text);margin:0 0 1em;}
.angebot__hinweis{font-size:.92rem;color:var(--leise);margin:12px 0 0;}

/* Schritte */
.schritte{display:grid;gap:18px;}

/* Kontakt */
.kontakt-raster{display:grid;gap:44px;}
.kontaktwege{display:grid;gap:14px;}
.kontaktweg{display:flex;gap:16px;align-items:flex-start;background:var(--weiss);border:1px solid var(--linie);border-radius:var(--radius);padding:20px;box-shadow:var(--schatten);text-decoration:none;color:var(--text);}
.kontaktweg__symbol{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--rose-hell);color:var(--rose-tief);flex:none;}
.kontaktweg__symbol svg{width:24px;height:24px;}
.kontaktweg__titel{display:block;font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-tief);margin:0 0 2px;line-height:1.5;}
.kontaktweg span{font-size:1.05rem;color:var(--dunkel);}
.formular{background:var(--weiss);border:1px solid var(--linie);border-radius:var(--radius);padding:28px 22px;box-shadow:var(--schatten);}
.formular h2{font-size:clamp(1.5rem,4.4vw,2rem);}
.feld{margin:0 0 16px;}
.feld label{display:block;font-weight:700;color:var(--dunkel);font-size:.95rem;margin-bottom:6px;}
.feld input,.feld textarea{width:100%;font:inherit;font-size:16px;color:var(--dunkel);background:#fff;border:1.5px solid #d8c9cf;border-radius:12px;padding:13px 14px;transition:border-color .2s,box-shadow .2s;}
.feld textarea{min-height:140px;resize:vertical;}
.feld input:focus,.feld textarea:focus{outline:none;border-color:var(--rose-tief);box-shadow:0 0 0 3px rgba(232,174,196,.45);}
.feld.ungueltig input,.feld.ungueltig textarea,.zustimmung.ungueltig{border-color:#b3261e;}
.feld.ungueltig label,.zustimmung.ungueltig{color:#b3261e;}
.zustimmung{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;line-height:1.5;margin:6px 0 20px;border:1.5px solid transparent;border-radius:12px;padding:4px;}
.zustimmung input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:var(--dunkel);}
.honig{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.formular__fehler{display:none;background:#fdecea;color:#8a1c14;border-radius:10px;padding:12px 14px;margin:0 0 16px;font-size:.95rem;}
.formular__modus{display:none;background:var(--rose-hell);color:var(--dunkel);border-radius:10px;padding:10px 14px;margin:0 0 16px;font-size:.88rem;}
.formular__danke{display:none;text-align:center;padding:20px 0;}
.formular .knopf{width:100%;}
.pflicht{color:var(--rose-tief);}
.kartenhinweis{background:var(--rose-zart);border-radius:var(--radius);padding:28px 22px;text-align:center;}
.kartenhinweis iframe{width:100%;height:380px;border:0;border-radius:12px;display:block;}

/* Rechtstexte */
.rechtstext{max-width:820px;}
.rechtstext h2{font-size:clamp(1.35rem,4vw,1.7rem);margin-top:1.6em;}
.rechtstext h3{font-size:1.2rem;margin-top:1.2em;}
.rechtstext dl{display:grid;grid-template-columns:1fr;gap:2px 24px;margin:0 0 1em;}
.rechtstext dt{font-weight:700;color:var(--dunkel);margin-top:10px;}
.rechtstext dd{margin:0;}

/* Schlanker Kopf fuer Angebotsseiten */
.kopf--schlank .innen{justify-content:center;}

/* Google-Bewertungen als Slider: Handy 1, Tablet 2, Desktop 3 Karten */
.google-note{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 10px;background:var(--weiss);border:1px solid var(--linie);border-radius:999px;padding:8px 18px;margin:0 0 18px;font-size:.95rem;color:var(--leise);}
.google-note__logo{width:22px;height:22px;}
.google-note__zahl{font-family:var(--serif);font-size:1.35rem;color:var(--dunkel);line-height:1;}
.google-note__sterne,.bewertung__sterne{color:#f4b400;letter-spacing:2px;}
.abschnitt--schlank{padding:40px 0;}
.kopf-text--eng{margin-bottom:20px;}
.kopf-text--eng h2{margin-bottom:0;}
.slider{position:relative;}
.slider__spur{display:flex;align-items:flex-start;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 6px;scrollbar-width:none;overscroll-behavior-x:contain;}
.slider__spur::-webkit-scrollbar{display:none;}
.slider__spur:focus-visible{outline:3px solid var(--rose);outline-offset:4px;border-radius:12px;}
.bewertung{flex:0 0 100%;scroll-snap-align:start;display:flex;flex-direction:column;background:var(--weiss);border:1px solid var(--linie);border-radius:var(--radius);padding:24px;box-shadow:var(--schatten);}
.bewertung__sterne{font-size:1.1rem;margin-bottom:12px;}
.bewertung__text{font-style:italic;font-size:16px;line-height:1.65;margin:0;min-height:calc(1.65em * 6);max-height:calc(1.65em * 6);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6;overflow:hidden;}
.bewertung.offen .bewertung__text{max-height:none;display:block;-webkit-line-clamp:unset;line-clamp:none;overflow:visible;}
.bewertung__mehr{align-self:flex-start;background:none;border:0;padding:6px 0;margin:4px 0 0;font:inherit;font-size:.92rem;font-weight:700;color:var(--dunkel);text-decoration:underline;text-decoration-color:var(--rose);text-decoration-thickness:2px;text-underline-offset:4px;cursor:pointer;}
.bewertung__mehr:focus-visible{outline:3px solid var(--rose);outline-offset:2px;}
.bewertung__person{display:flex;align-items:center;gap:12px;margin-top:14px;}
.bewertung__text + .bewertung__person{margin-top:54px;}
.bewertung__person strong{display:block;color:var(--dunkel);}
.bewertung__person span span{display:block;font-size:.88rem;color:var(--leise);}
.bewertung__kuerzel{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--rose-hell);color:var(--rose-tief);font-weight:700;flex:none;}
.slider__knopf{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--dunkel);background:var(--weiss);color:var(--dunkel);cursor:pointer;box-shadow:0 6px 16px -6px rgba(0,0,0,.35);transition:background .2s,color .2s;}
.slider__knopf--zurueck{left:-16px;width:40px;height:40px;}
.slider__knopf--weiter{right:-16px;width:40px;height:40px;}
.slider .bewertung{padding:24px 32px;box-shadow:none;}
.slider__knopf:hover{background:var(--dunkel);color:var(--weiss);}
.slider__knopf:focus-visible{outline:3px solid var(--rose);outline-offset:3px;}
.slider__knopf svg{width:22px;height:22px;}

/* Kontaktkacheln, die ein Link sind */
.kontaktweg--link{cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;}
.kontaktweg--link:hover{transform:translateY(-2px);border-color:var(--rose-tief);}
.kontaktweg__text{flex:1;}
.kontaktweg__aktion{text-decoration:underline;text-decoration-color:var(--rose);text-underline-offset:4px;text-decoration-thickness:2px;}
.kontaktweg .kontaktweg__pfeil{display:inline-flex;align-items:center;justify-content:center;align-self:center;width:40px;height:40px;border-radius:50%;background:var(--dunkel);color:var(--weiss);flex:none;}
.kontaktweg__pfeil svg{width:20px;height:20px;}
.kontaktweg--hervor{background:var(--rose-hell);border:2px solid var(--rose);}
.kontaktweg--hervor .kontaktweg__symbol{background:var(--weiss);}

@media (min-width:640px){
  .vorteile{grid-template-columns:1fr 1fr;}
  .ergebnisse{grid-template-columns:repeat(3,1fr);}
  .kacheln{grid-template-columns:1fr 1fr;}
  .karten--zwei{grid-template-columns:1fr 1fr;}
  .bewertung{flex-basis:calc((100% - 20px) / 2);}
  .slider{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:14px;align-items:center;}
  .slider__knopf,.slider__knopf--zurueck,.slider__knopf--weiter{position:static;transform:none;width:52px;height:52px;box-shadow:none;margin-bottom:0;}
  .slider .bewertung{padding:24px;}
  .galerie{grid-template-columns:repeat(3,1fr);}
  .stimmen{grid-template-columns:1fr 1fr;}
  .rechtstext dl{grid-template-columns:minmax(180px,auto) 1fr;}
  .rechtstext dt{margin-top:0;}
  .kachel img{aspect-ratio:1/1;}
  .fuss__raster{grid-template-columns:1fr 1fr;}
}

@media (min-width:960px){
  :root{--rand:32px;}
  body{font-size:17.5px;}
  .abschnitt{padding:100px 0;}
  .kopf .innen{min-height:86px;}
  .kopf__logo img{width:180px;}
  .menue-knopf{display:none;}
  .menue,.menue.offen{display:block;position:static;box-shadow:none;border:0;padding:0;background:none;}
  .menue ul{display:flex;align-items:center;gap:6px;}
  .menue a{border:0;padding:10px 12px;font-size:.8rem;}
  .menue a:hover{color:var(--rose-tief);}
  .menue .menue__kontakt{margin:0 0 0 10px;}
  .menue .menue__kontakt a{padding:12px 22px;}

  .titel{min-height:min(78vh,760px);align-items:center;}
  .titel::after{display:none;}
  .titel__bild img{object-position:right center;}
  .titel--links-bild .titel__bild img{object-position:left center;}
  .titel__text{padding:80px 0;}
  .titel__text .inhalt{max-width:540px;}
  .titel--text-rechts .titel__text .inhalt{margin-left:auto;}
  .band{padding:48px 0;}
  .band .innen{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;text-align:left;}
  .band__kontakt{text-align:center;}

  .zwei{grid-template-columns:1fr 1fr;gap:72px;}
  .zwei--bild-rechts > :first-child{order:2;}
  .zwei--oben{align-items:start;}
  .kacheln{grid-template-columns:repeat(4,1fr);gap:24px;}
  .kachel h3{font-size:1.2rem;}
  .vorteile{grid-template-columns:repeat(3,1fr);gap:24px;}
  .fuss__raster{grid-template-columns:1.4fr 1fr 1fr;}
  .handyleiste{display:none;}
  .bewertung{flex-basis:calc((100% - 40px) / 3);}
  .abschnitt--schlank{padding:56px 0;}
  .seitenkopf::after{display:none;}
  .seitenkopf__bild{position:static;order:2;}
  .seitenkopf .innen{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding-top:64px;padding-bottom:64px;}
  .seitenkopf__bild img{height:auto;max-height:520px;border-radius:var(--radius);box-shadow:var(--schatten);}
  .seitenkopf--ohne-bild .innen{display:block;padding-top:72px;padding-bottom:56px;}
  .karten{grid-template-columns:repeat(2,1fr);gap:24px;}
  .karten--drei{grid-template-columns:repeat(3,1fr);}
  .typ{grid-template-columns:420px 1fr;gap:56px;padding:56px 0;}
  .typ:nth-child(even){grid-template-columns:1fr 420px;}
  .typ:nth-child(even) img{order:2;}
  .galerie{grid-template-columns:repeat(4,1fr);gap:16px;}
  .galerie--drei{grid-template-columns:repeat(3,1fr);}
  .stimmen{grid-template-columns:repeat(3,1fr);gap:24px;}
  .schritte{grid-template-columns:repeat(3,1fr);gap:24px;}
  .kontakt-raster{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start;}
  .formular{padding:36px 34px;}
  .cookie{bottom:24px;left:24px;right:auto;margin:0;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{transition:none !important;}
}
