  :root {
    --schrift:"Century Gothic Std","Century Gothic","URW Gothic",Futura,"Trebuchet MS",sans-serif;
    --creme:#efebbf; --lime:#e3f629; --gruen:#5bb358; --gruen-tief:#37622f;
    --bg:#fdfcf4; --card:#ffffff; --ink:#26291f; --soft:#5d6152; --line:#e6e3cf;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  body { background:var(--bg); color:var(--ink); font-family:var(--schrift); line-height:1.65; }
  .wrap { max-width:1100px; margin:0 auto; padding-inline:32px; }

  /* Menü im Yogastudio-Stil: Bildmarke mittig, Navigation beidseitig */
  header { background:var(--creme); border-bottom:1px solid var(--line); }
  .nav { display:flex; justify-content:space-between; align-items:center; padding:10px 0; gap:24px; }
  .nav-links { display:flex; gap:30px; align-items:center; }
  .nav-links a { line-height:1; text-decoration:none; color:var(--ink); font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; padding-bottom:3px; border-bottom:2px solid transparent; }
  .nav-links a:hover { border-color:var(--lime); }
  .bildmarke img { height:44px; display:block; }
  .nav-links a.cta { background:var(--gruen-tief); color:#fff; padding:10px 20px; border-radius:999px; border:0; letter-spacing:.08em; }

  /* Hero: Text links, Video rechts, zusammen genau eine Bildschirmhöhe (Header ~103px) */
  .hero { display:grid; grid-template-columns:1.05fr 1fr; gap:52px; align-items:center; min-height:calc(100vh - 66px); padding-block:0; }
  .kicker { font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gruen); font-weight:700; }
  h1 { font-family:var(--schrift); font-size:2.05rem; line-height:1.16; font-weight:400; margin:0 0 10px; white-space:nowrap; }
  @media (max-width:1180px) { h1 { white-space:normal; } }
  .hero p { color:var(--soft); font-size:1.08rem; max-width:34rem; margin-top:22px; }
  .btn { text-decoration:none; padding:14px 28px; border-radius:999px; font-weight:600; font-size:.95rem; }
  .btn-p { background:var(--gruen-tief); color:#fff; }
  .btn-s { border:1.5px solid var(--gruen-tief); color:var(--gruen-tief); }

  /* Video-Bühne: 16:9, immer KOMPLETT sichtbar (begrenzt auf Spaltenbreite und Bildschirmhöhe) */
  .video-buehne { border-radius:28px; overflow:hidden; aspect-ratio:16/9; width:100%; max-height:calc(100vh - 146px); background:linear-gradient(160deg,var(--creme),#cfe2b8 55%,var(--gruen)); position:relative; }
  .video-buehne video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .ph { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; opacity:.9; }

  section { padding-block:92px; }
  .sec-head { text-align:center; max-width:38rem; margin:0 auto 26px; }
  .sec-head .strich { width:56px; height:4px; background:var(--lime); margin:0 auto 16px; border-radius:2px; }
  h2 { font-family:var(--schrift); font-size:1.9rem; font-weight:400; margin:10px 0 12px; }
  .sec-head p { color:var(--soft); }

  .cards { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  .card { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:26px 22px; }
  .card .ic { width:44px; height:44px; border-radius:50%; background:var(--creme); display:flex; align-items:center; justify-content:center; margin-bottom:16px; color:var(--gruen-tief); font-family:var(--schrift); font-size:1.1rem; font-weight:600; }
  .card h3 { font-size:1.02rem; margin-bottom:8px; }
  .card p { font-size:.88rem; color:var(--soft); }

  .ueber { background:var(--creme); padding-block:96px; }
  .ueber .inner { display:grid; grid-template-columns:.8fr 1.2fr; gap:52px; align-items:center; }
  .portrait { aspect-ratio:3/4; border-radius:18px; background:linear-gradient(150deg,#dfe8c8,var(--gruen)); position:relative; }
  .ueber blockquote { font-family:var(--schrift); font-size:1.45rem; line-height:1.4; font-weight:500; margin-bottom:18px; }
  .ueber p { color:var(--soft); }

  /* Anfahrt: Karte + Kontaktdaten */
  .anfahrt { padding-bottom:36px; }
  .kontakt { padding-top:0; }
  .anfahrt .inner { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--line); border-radius:22px; overflow:hidden; background:var(--card); }
  .karte { min-height:420px; position:relative; }
  .karte iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
  .anfahrt-info { padding:44px 42px; display:flex; flex-direction:column; gap:18px; justify-content:center; }
  .anfahrt-info h2 { margin:0; }
  .adresse { font-size:1.05rem; line-height:1.6; }
  .adresse strong { display:block; font-family:var(--schrift); font-size:1.15rem; margin-bottom:2px; }
  .anfahrt-zeile { display:flex; gap:10px; align-items:baseline; color:var(--soft); font-size:.95rem; }
  .anfahrt-zeile b { color:var(--ink); min-width:104px; font-weight:600; }
  .anfahrt-btns { display:flex; gap:12px; margin-top:8px; flex-wrap:wrap; }
  .anfahrt-btns .btn { font-size:.88rem; padding:11px 20px; }

  .kontakt { text-align:center; padding-block:0 44px; }
  .kontakt .box { background:var(--gruen-tief); color:#fff; border-radius:26px; padding:56px 40px; position:relative; overflow:hidden; }
  .kontakt .box::after { content:""; position:absolute; right:-40px; top:-40px; width:180px; height:180px; border-radius:50%; background:var(--lime); opacity:.16; }
  .kontakt h2 { color:#fff; }
  .kontakt p { color:#e6efdb; max-width:32rem; margin:0 auto 26px; }
  .kontakt .btn { background:var(--lime); color:var(--ink); font-weight:700; }

  footer { border-top:1px solid var(--line); margin-top:0; padding:44px 0 54px; background:var(--creme); }
  .foot { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
  .foot img { height:56px; }
  .fine { font-size:.8rem; color:var(--soft); }
  .foot nav a { margin-left:20px; font-size:.82rem; color:var(--soft); text-decoration:none; }

  @media (max-width:860px) {
    .nav { flex-wrap:wrap; }
    .nav-links { gap:16px; }
    .nav-links a { font-size:.72rem; }
    .hero { grid-template-columns:1fr; padding-block:44px; min-height:auto; }
    .cards { grid-template-columns:1fr 1fr; }
    .ueber .inner { grid-template-columns:1fr; }
    .anfahrt { padding-bottom:36px; }
  .kontakt { padding-top:0; }
  .anfahrt .inner { grid-template-columns:1fr; }
    .karte { min-height:300px; }
    h1 { font-size:2.2rem; }
  }

/* Kontakt-Unterseite */
.seite-kopf { text-align:center; padding-block:64px 8px; }
.seite-kopf .strich { width:56px; height:4px; background:var(--lime); margin:0 auto 16px; border-radius:2px; }
.seite-kopf p { color:var(--soft); max-width:36rem; margin:0 auto; }
.kontakt-raster { display:grid; grid-template-columns:.85fr 1.15fr; gap:22px; align-items:start; }
.info-karte { background:var(--creme); border-radius:22px; padding:38px 34px; display:flex; flex-direction:column; gap:22px; }
.info-karte h2 { font-size:1.35rem; margin:0; }
.info-block b { display:block; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gruen-tief); margin-bottom:4px; }
.info-block a { color:var(--ink); text-decoration:none; font-size:1.25rem; font-weight:600; }
.info-block a:hover { color:var(--gruen-tief); }
.info-block span { color:var(--soft); font-size:.95rem; }
.tel-btn { display:inline-block; background:var(--gruen-tief); color:#fff !important; font-size:1.05rem !important; padding:14px 26px; border-radius:999px; }
.tel-btn:hover { color:#fff !important; opacity:.92; }
.formular { background:var(--card); border:1px solid var(--line); border-radius:22px; padding:38px 34px; }
.formular h2 { font-size:1.35rem; margin:0 0 6px; }
.formular .hinweis { color:var(--soft); font-size:.92rem; margin-bottom:22px; }
.feld { margin-bottom:18px; }
.feld label { display:block; font-size:.85rem; font-weight:600; margin-bottom:6px; }
.feld input, .feld textarea { width:100%; font-family:var(--schrift); font-size:1rem; color:var(--ink); background:var(--bg); border:1px solid var(--line); border-radius:12px; padding:13px 16px; }
.feld input:focus, .feld textarea:focus { outline:2px solid var(--gruen); border-color:var(--gruen); }
.feld textarea { min-height:150px; resize:vertical; }
.einwilligung { display:flex; gap:10px; align-items:flex-start; font-size:.85rem; color:var(--soft); margin:20px 0 22px; }
.einwilligung input { margin-top:3px; width:16px; height:16px; accent-color:var(--gruen-tief); }
.formular button { font-family:var(--schrift); font-size:1rem; font-weight:700; background:var(--lime); color:var(--ink); border:0; border-radius:999px; padding:15px 34px; cursor:pointer; }
.formular button:hover { opacity:.9; }
.nav-links a.aktiv { border-color:var(--lime); }
@media (max-width:860px) { .kontakt-raster { grid-template-columns:1fr; } }
.einwilligung a { color:var(--gruen-tief); }
.wa-btn { display:inline-block; margin-top:10px; border:1.5px solid var(--gruen-tief); color:var(--gruen-tief) !important; font-size:.95rem !important; font-weight:600; padding:12px 24px; border-radius:999px; }
.wa-btn:hover { background:var(--gruen-tief); color:#fff !important; }
.info-block .tel-btn, .info-block .wa-btn { margin-right:8px; }

/* Downloads-Unterseite: eine Datei pro Zeile, gross */
.dl-raster { display:flex; flex-direction:column; gap:16px; max-width:860px; margin:0 auto; }
.dl-karte { background:var(--card); border:1px solid var(--line); border-radius:20px; padding:30px 36px; display:grid; grid-template-columns:auto 1fr auto; gap:12px 26px; align-items:center; }
.dl-karte .pdf-tag { grid-row:span 2; background:var(--creme); color:var(--gruen-tief); font-size:.8rem; letter-spacing:.1em; font-weight:700; width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
.dl-karte h3 { font-size:1.35rem; font-weight:600; margin:0; }
.dl-karte p { font-size:1rem; color:var(--soft); margin:0; grid-column:2; }
.dl-karte a { grid-row:span 2; grid-column:3; text-decoration:none; font-size:1rem; font-weight:700; color:#fff; background:var(--gruen-tief); padding:14px 28px; border-radius:999px; white-space:nowrap; }
.dl-karte a:hover { opacity:.9; }
@media (max-width:700px) {
  .dl-karte { grid-template-columns:auto 1fr; padding:24px; }
  .dl-karte a { grid-row:auto; grid-column:2; justify-self:start; }
}

/* Anfahrt-Unterseite */
.karte-gross { border-radius:22px; overflow:hidden; border:1px solid var(--line); height:480px; position:relative; }
.karte-gross iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.anfahrt-karten { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.anfahrt-karten .karte-info { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:28px 26px; }
.anfahrt-karten .karte-info.creme { background:var(--creme); border-color:transparent; }
.karte-info b { display:block; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gruen-tief); margin-bottom:10px; }
.karte-info h3 { font-size:1.15rem; margin-bottom:10px; }
.karte-info p, .karte-info li { font-size:.95rem; color:var(--soft); }
.karte-info ul { list-style:none; display:flex; flex-direction:column; gap:8px; }
.karte-info li strong { color:var(--ink); font-weight:600; }
.karte-info .btn { display:block; text-align:center; margin-top:12px; font-size:.9rem; padding:12px 20px; }
@media (max-width:860px) { .anfahrt-karten { grid-template-columns:1fr; } .karte-gross { height:340px; } }
.route-leiste { margin-top:18px; background:var(--creme); border-radius:18px; padding:22px 28px; display:flex; gap:14px; align-items:center; justify-content:center; flex-wrap:wrap; }
.route-leiste span { font-weight:600; font-size:1.02rem; margin-right:6px; }
.route-leiste .btn { font-size:1rem; padding:15px 30px; }
.anfahrt-karten.zweier { grid-template-columns:1fr 1fr; }
.bus-box { margin-top:18px; background:var(--card); border:1px solid var(--line); border-radius:18px; padding:28px 26px; }
.bus-spalten { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:6px; }
.bus-spalten strong { display:block; font-weight:600; color:var(--ink); margin-bottom:6px; }
.bus-spalten p { margin:0; }
@media (max-width:860px) { .anfahrt-karten.zweier, .bus-spalten { grid-template-columns:1fr; } }

/* Flipp-Karten Anfahrt: eine Farbe, vorn Kurztitel, hinten Details */
.flip-raster { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.flip { perspective:1200px; min-height:300px; cursor:pointer; outline:none; }
.flip-inner { position:relative; width:100%; height:100%; min-height:300px; transition:transform .55s ease; transform-style:preserve-3d; }
.flip:hover .flip-inner, .flip:focus-visible .flip-inner, .flip.umgedreht .flip-inner { transform:rotateY(180deg); }
.flip-seite { position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; border-radius:18px; background:var(--creme); padding:26px 24px; display:flex; flex-direction:column; justify-content:center; gap:10px; }
.flip-vorn { align-items:center; text-align:center; }
.flip-vorn b { font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gruen-tief); }
.flip-vorn h3 { font-size:1.4rem; font-weight:600; }
.dreh-hinweis { font-size:.8rem; color:var(--soft); margin-top:6px; }
.flip-hinten { transform:rotateY(180deg); }
.flip-hinten h3 { font-size:1.05rem; font-weight:600; }
.flip-hinten p { font-size:.9rem; color:var(--soft); }
.flip-hinten strong { color:var(--ink); font-weight:600; }
@media (max-width:860px) { .flip-raster { grid-template-columns:1fr; } .flip, .flip-inner { min-height:240px; } }
@media (prefers-reduced-motion: reduce) { .flip-inner { transition:none; } }

/* Ueber-mich-Unterseite */
.um-vorstellung { display:grid; grid-template-columns:.8fr 1.2fr; gap:52px; align-items:center; }
.um-vorstellung .portrait { max-width:380px; }
.um-vorstellung h2 { margin-bottom:14px; }
.um-vorstellung p { color:var(--soft); margin-bottom:14px; }
.kompetenzen { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.kompetenz { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:26px 22px; }
.kompetenz h3 { font-size:1.05rem; margin-bottom:8px; }
.kompetenz p { font-size:.9rem; color:var(--soft); }
.bildung { max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:0; }
.bildung-eintrag { display:grid; grid-template-columns:120px 1fr; gap:24px; padding:22px 0; border-bottom:1px solid var(--line); }
.bildung-eintrag:last-child { border-bottom:0; }
.bildung-eintrag .jahr { font-weight:700; color:var(--gruen-tief); }
.bildung-eintrag h3 { font-size:1.05rem; margin-bottom:4px; }
.bildung-eintrag p { font-size:.92rem; color:var(--soft); }
@media (max-width:860px) { .um-vorstellung { grid-template-columns:1fr; } .kompetenzen { grid-template-columns:1fr; } .bildung-eintrag { grid-template-columns:1fr; gap:4px; } }
.bildung-eintrag { grid-template-columns:88px 1fr; align-items:baseline; }
.bildung-eintrag h3 { font-weight:400; font-size:1.02rem; margin:0; }

/* Schwerpunkte-Unterseite: nummerierte Liste, rein informativ */
.sp-liste { max-width:860px; margin:0 auto; }
.sp-eintrag { display:grid; grid-template-columns:64px 1fr; gap:26px; padding:36px 0; border-bottom:1px solid var(--line); }
.sp-eintrag:first-child { padding-top:8px; }
.sp-eintrag:last-child { border-bottom:0; }
.sp-nr { width:52px; height:52px; border-radius:50%; background:var(--creme); color:var(--gruen-tief); display:flex; align-items:center; justify-content:center; font-weight:600; font-size:1.05rem; }
.sp-eintrag h3 { font-size:1.25rem; font-weight:600; margin:10px 0 10px; }
.sp-eintrag p { color:var(--soft); margin-bottom:10px; }
.sp-eintrag p:last-child { margin-bottom:0; }
@media (max-width:700px) { .sp-eintrag { grid-template-columns:1fr; gap:10px; } }

/* Schwerpunkte mit Bildern: Text und Bild im Wechsel */
.sp-liste { max-width:none; }
.sp-eintrag { grid-template-columns:1.15fr 1fr; gap:48px; align-items:center; padding:40px 0; }
.sp-eintrag:nth-child(even) .sp-bild { order:-1; }
.sp-kopf { display:flex; align-items:center; gap:16px; margin-bottom:14px; }
.sp-kopf h3 { margin:0; font-size:1.35rem; }
.sp-bild { aspect-ratio:4/3; border-radius:20px; overflow:hidden; position:relative; }
.sp-bild img { width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:860px) {
  .sp-eintrag { grid-template-columns:1fr; gap:18px; }
  .sp-eintrag:nth-child(even) .sp-bild { order:0; }
}

/* Praxis-Unterseite */
.praxis-buehne { border-radius:24px; overflow:hidden; aspect-ratio:21/9; position:relative; }
.praxis-buehne img { width:100%; height:100%; object-fit:cover; display:block; }
.praxis-text { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.praxis-text h2 { margin-bottom:0; }
.praxis-text p { color:var(--soft); margin-bottom:14px; }
.galerie { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.galerie-bild { aspect-ratio:4/3; border-radius:18px; overflow:hidden; position:relative; }
.galerie-bild img { width:100%; height:100%; object-fit:cover; display:block; }
.galerie-bild figcaption { position:absolute; left:0; right:0; bottom:0; padding:10px 16px; font-size:.82rem; color:#fff; background:linear-gradient(transparent, rgba(38,41,31,.78)); }
@media (max-width:860px) { .praxis-text { grid-template-columns:1fr; gap:12px; } .galerie { grid-template-columns:1fr; } .praxis-buehne { aspect-ratio:4/3; } }

/* Honorar-Unterseite */
.preis-liste { max-width:860px; margin:0 auto; display:flex; flex-direction:column; gap:16px; }
.preis-zeile { background:var(--card); border:1px solid var(--line); border-radius:20px; padding:28px 34px; display:grid; grid-template-columns:1fr auto; gap:6px 26px; align-items:center; }
.preis-zeile h3 { font-size:1.25rem; font-weight:600; margin:0; }
.preis-zeile .dauer { grid-column:1; color:var(--soft); font-size:.95rem; }
.preis-zeile .betrag { grid-row:span 2; grid-column:2; font-size:1.5rem; font-weight:600; color:var(--gruen-tief); white-space:nowrap; }
.honorar-hinweis { max-width:860px; margin:14px auto 0; color:var(--soft); font-size:.92rem; text-align:center; }
.erstattung { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.erstattung .karte-info { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:28px 26px; }
.gut-zu-wissen { max-width:860px; margin:0 auto; display:flex; flex-direction:column; gap:0; }
.gzw-zeile { display:grid; grid-template-columns:190px 1fr; gap:24px; padding:20px 0; border-bottom:1px solid var(--line); }
.gzw-zeile:last-child { border-bottom:0; }
.gzw-zeile b { color:var(--gruen-tief); font-weight:600; }
.gzw-zeile p { color:var(--soft); font-size:.95rem; margin:0; }
@media (max-width:860px) { .erstattung { grid-template-columns:1fr; } .gzw-zeile { grid-template-columns:1fr; gap:4px; } .preis-zeile { grid-template-columns:1fr; } .preis-zeile .betrag { grid-row:auto; grid-column:1; } }

/* Partner-Band ueber dem Footer */
.partner { background:var(--bg); border-top:1px solid var(--line); padding:44px 0 48px; }
.partner .inner { display:flex; align-items:center; justify-content:center; gap:56px; flex-wrap:wrap; }
.partner .label { font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; color:var(--soft); font-weight:700; width:100%; text-align:center; margin-bottom:20px; }
.partner img { height:64px; width:auto; }
.partner img.rund { height:84px; }

/* Logo-Wasserzeichen in allen Creme-Baendern (Variante 3, Tom 12.07.) */
.ueber { position:relative; overflow:hidden; }
.ueber::before { content:""; position:absolute; right:-70px; top:50%; transform:translateY(-50%); width:360px; height:360px; background:url("logo/fiete-bildmarke.png") no-repeat center/contain; opacity:.13; pointer-events:none; }
.ueber > * { position:relative; }

/* Footer neu: tiefer, mit Menue, Kontakt und Partnern */
footer { border-top:1px solid var(--line); background:var(--creme); padding:64px 0 30px; }
.foot-raster { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; align-items:start; }
.foot-marke img { height:64px; margin-bottom:14px; }
.foot-marke b { display:block; font-size:1.05rem; font-weight:600; }
.foot-marke span { font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gruen-tief); }
.foot-spalte { display:flex; flex-direction:column; gap:9px; }
.foot-spalte b { font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gruen-tief); margin-bottom:4px; }
.foot-spalte a { color:var(--ink); text-decoration:none; font-size:.95rem; }
.foot-spalte a:hover { color:var(--gruen-tief); }
.foot-spalte span { color:var(--soft); font-size:.95rem; }
.foot-partner img { height:42px; width:auto; align-self:flex-start; }
.foot-partner img.rund { height:64px; }
.foot-unten { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; border-top:1px solid rgba(38,41,31,.12); margin-top:48px; padding-top:22px; }
.foot-unten .fine { font-size:.8rem; color:var(--soft); }
.foot-unten nav { display:flex; gap:20px; }
.foot-unten nav a { font-size:.82rem; color:var(--soft); text-decoration:none; }
@media (max-width:860px) { .foot-raster { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .foot-raster { grid-template-columns:1fr; } }
.foot-partner a { display:block; align-self:flex-start; }
.foot-partner a img { display:block; }

/* ===== Mobil-Optimierung (12.07.) ===== */
.burger { display:none; background:none; border:0; cursor:pointer; padding:10px; width:44px; height:44px; flex-direction:column; justify-content:center; gap:5px; }
.burger span { display:block; height:2px; width:100%; background:var(--ink); border-radius:2px; transition:transform .25s, opacity .25s; }
.burger.offen span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.burger.offen span:nth-child(2) { opacity:0; }
.burger.offen span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

@media (max-width:860px) {
  header { position:relative; }
  .burger { display:flex; }
  .nav { flex-wrap:nowrap; }
  .nav-links { display:none; position:absolute; top:100%; left:0; right:0; background:var(--creme); border-bottom:1px solid var(--line); box-shadow:0 14px 24px rgba(38,41,31,.10); flex-direction:column; align-items:stretch; gap:0; padding:6px 24px 14px; z-index:60; }
  .nav-links.offen { display:flex; }
  .nav-links a { font-size:.92rem; padding:14px 4px; border-bottom:1px solid rgba(38,41,31,.08); }
  .nav-links a:last-child { border-bottom:0; }
  .nav-links a.aktiv { border-bottom-color:var(--lime); }

  /* Rhythmus und Groessen */
  section { padding-block:56px; }
  .seite-kopf { padding-block:40px 4px; }
  .seite-kopf h1, .hero h1 { font-size:1.75rem !important; }
  h2 { font-size:1.5rem; }
  .hero { padding-block:28px 8px; }
  .hero p { font-size:1rem; }
  .video-buehne { margin-top:6px; }
  .kontakt .box { padding:38px 22px; }
  .anfahrt-info { padding:30px 24px; }
  .route-leiste { padding:20px 22px; }
  .route-leiste .btn { width:100%; text-align:center; }
  .anfahrt-btns .btn { width:100%; text-align:center; }
  .ueber::before { width:240px; height:240px; right:-90px; }
  .foot-raster { gap:28px; }
  .preis-zeile { padding:22px 24px; }
  .dl-karte { gap:10px 16px; }
  .sp-eintrag { padding:28px 0; }
  .bildung-eintrag { padding:16px 0; }
}

/* Mobil-Feinschliff nach Kritiker-Runde */
.dl-karte h3, .dl-karte p { min-width:0; overflow-wrap:break-word; }
@media (max-width:700px) {
  .dl-karte h3 { font-size:1.15rem; hyphens:auto; }
}
@media (max-width:860px) {
  .info-karte .tel-btn, .info-karte .wa-btn { display:block; text-align:center; margin-right:0; }
  .einwilligung input { width:20px; height:20px; }
  .foot-spalte a { padding:5px 0; }
  .flip, .flip-inner { min-height:220px; }
}

/* Content integration: retain the approved palette and page structure. */
.review-banner { padding:9px 20px; text-align:center; background:#f3e9ce; color:#55491f; font-size:.78rem; }
.skip-link { position:absolute; top:-80px; left:16px; z-index:20; padding:12px 20px; background:white; color:#26291f; }
.skip-link:focus { top:10px; }
a { color:var(--gruen-tief); }
:focus-visible { outline:3px solid var(--gruen-tief); outline-offset:5px; }
.kicker { color:var(--gruen-tief); }
.seite-kopf h1 { white-space:normal; }
.lese-bereich { max-width:860px; padding-block:38px 64px; }
.lesetext p { margin-bottom:1.25em; overflow-wrap:anywhere; }
.lesetext h2 { margin-top:1.5em; }
.lesetext h3 { margin:1.5em 0 .7em; }
.redaktion { max-width:800px; margin:20px auto 28px; padding-inline:12px; color:#695b35; font-size:.9rem; }
.angebot-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
a.card { display:flex; flex-direction:column; color:var(--ink); text-decoration:none; }
a.card:hover { border-color:var(--gruen-tief); }
.mehr { display:block; margin-top:auto; padding-top:24px; font-size:.85rem; color:var(--gruen-tief); }
.kapitel-nav { display:flex; gap:10px 18px; flex-wrap:wrap; margin-bottom:36px; }
.kapitel-nav a { font-size:.9rem; text-underline-offset:4px; }
.therapie { scroll-margin-top:24px; padding:28px 0; border-bottom:1px solid var(--line); }
.spruch { color:var(--soft); margin-bottom:18px; }
details { margin:20px 0; border-block:1px solid var(--line); padding:14px 0; }
summary { cursor:pointer; font-weight:600; color:var(--gruen-tief); padding:7px 0; }
details[open] summary { margin-bottom:22px; }
.qualifikation { padding:12px 0; border-bottom:1px solid var(--line); }
.qualifikation strong { color:var(--gruen-tief); margin-right:14px; }
.preise { margin:20px 0 38px; }
.preise div { display:flex; gap:20px; justify-content:space-between; padding:16px 0; border-bottom:1px solid var(--line); }
.preise dd { font-weight:700; white-space:nowrap; }
.media-offen { display:flex; align-items:center; justify-content:center; min-height:240px; height:100%; padding:24px; text-align:center; color:var(--gruen-tief); background:var(--creme); }
.ph { color:var(--gruen-tief); }
.dl-karte h2 { font-size:1.2rem; margin:0; }
.dl-karte .text-link { display:inline; background:none; padding:0; color:var(--gruen-tief); font-size:.9rem; white-space:normal; text-decoration:underline; }
@media(max-width:600px) {
  .wrap { padding-inline:22px; }
  .angebot-cards { grid-template-columns:1fr; }
  .hero { gap:28px; }
  .hero h1 { font-size:1.85rem; }
  .anfahrt-info { padding:28px 22px; }
  .info-karte { padding:28px 22px; }
  .kontakt .box { padding:36px 22px; }
  .preise div { flex-wrap:wrap; gap:4px 16px; }
  .foot-spalte { overflow-wrap:anywhere; }
}
@media print {
  header,footer,.review-banner,.skip-link { display:none; }
  body { background:#fff; color:#000; }
  .wrap { max-width:none; padding:0; }
  section { padding-block:16px; }
}

/* Final local design polish: existing brand, calmer spacing and readable controls. */
html { scroll-behavior:smooth; }
body { -webkit-font-smoothing:antialiased; }
main { min-height:50vh; }
.nav { padding:16px 32px; }
.nav-links { gap:22px; }
.nav-links a { letter-spacing:.09em; padding-block:12px; }
.nav-links a[aria-current="page"] { border-color:var(--gruen-tief); }
.hero { min-height:620px; padding-block:80px; gap:56px; grid-template-columns:1.1fr 1fr; }
.ort { display:block; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gruen-tief); margin-bottom:20px; }
.hero h1 { font-size:clamp(2.6rem,4.3vw,4rem); letter-spacing:-.045em; line-height:1.12; white-space:normal; margin-bottom:22px; }
.hero p { line-height:1.8; max-width:30rem; }
.hero-aktionen { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:30px; }
.btn { display:inline-flex; justify-content:center; align-items:center; min-height:48px; text-align:center; line-height:1.4; transition:background .18s,transform .18s; }
.btn:hover { transform:translateY(-2px); }
.text-link { font-weight:600; text-underline-offset:6px; text-decoration-thickness:1px; }
.marken-buehne { aspect-ratio:1.08; border-radius:48% 48% 24px 24px; background:radial-gradient(ellipse at 50% 32%,#f6f2d3,var(--creme)); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; padding:36px; position:relative; max-height:none; }
.marken-buehne img { width:65%; max-width:260px; height:auto; mix-blend-mode:multiply; }
.marken-buehne > span { color:var(--gruen-tief); font-size:.74rem; text-align:center; letter-spacing:.05em; }
.angebot { padding-block:32px 88px; scroll-margin-top:24px; }
.sec-head { margin-bottom:36px; }
.sec-head h2 { font-size:2rem; }
.angebot-cards { gap:20px; }
.angebot-cards .card { padding:28px; border-radius:22px; min-height:216px; background:transparent; transition:background .2s,border-color .2s; }
.angebot-cards .card:hover { background:#f3f3df; }
.angebot-cards h3 { font-size:1.12rem; line-height:1.45; font-weight:600; }
.angebot-cards p { font-size:.96rem; line-height:1.7; }
.angebot-cards .mehr { padding-top:20px; }
.ueber { padding-block:70px; }
.ueber blockquote { font-size:2.25rem; letter-spacing:-.03em; margin-top:14px; }
.ueber-link { display:inline-block; margin-top:24px; }
.portrait-offen { aspect-ratio:1; border-radius:40px 40px 46% 40px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#e3e8c8; padding:28px; }
.portrait-monogramm { font-size:7rem; line-height:1.5; color:var(--gruen-tief); letter-spacing:-.09em; font-weight:400; }
.foto-hinweis { color:var(--soft); font-size:.8rem; }
.anfahrt .karte .media-offen { min-height:100%; background:radial-gradient(ellipse at top left,#f8f5dc,var(--creme)); }
.anfahrt .karte .btn { max-width:280px; }
.lesetext { font-size:1.03rem; line-height:1.85; }
.lesetext p { max-width:70ch; }
.therapie h2 { font-size:1.65rem; line-height:1.35; }
summary { min-height:48px; padding:12px 0; }
summary:hover { text-decoration:underline; text-underline-offset:5px; }
.kapitel-nav a { padding:8px 14px; border:1px solid var(--line); border-radius:24px; text-decoration:none; }
.kapitel-nav a:hover { background:var(--creme); }
.dl-karte { grid-template-columns:64px minmax(0,1fr) auto; }
.dl-karte h2 { grid-column:2; grid-row:1; line-height:1.4; }
.dl-karte > a { grid-row:1 / span 2; }
.dl-karte .pdf-tag { grid-column:1; grid-row:1 / span 2; }
.anfahrt-statisch { min-height:0; cursor:default; perspective:none; }
.anfahrt-statisch .flip-inner { height:auto; min-height:0; transform:none !important; transition:none; }
.anfahrt-statisch .flip-vorn { display:none; }
.anfahrt-statisch .flip-hinten { position:static; transform:none; min-height:280px; backface-visibility:visible; }
.foot-raster { grid-template-columns:1.15fr .85fr 1.4fr .7fr; gap:30px; }
.foot-spalte { min-width:0; overflow-wrap:anywhere; }
.foot-spalte a { text-underline-offset:4px; }
.foot-spalte a:hover { text-decoration:underline; }
@media(max-width:1100px) and (min-width:861px) {
 .nav-links { gap:13px; }
 .nav-links a { font-size:.7rem; }
}
@media(max-width:860px) {
 .nav { padding:12px 24px; }
 .hero { min-height:0; padding-block:44px 52px; grid-template-columns:1fr 1fr; gap:28px; }
 .hero h1 { font-size:2.4rem !important; }
 .hero-aktionen { gap:16px; }
 .marken-buehne { padding:22px; }
 .angebot-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .foot-raster { grid-template-columns:1fr 1fr; }
 .ueber .inner { grid-template-columns:.8fr 1.2fr; gap:28px; }
 .portrait-monogramm { font-size:5rem; }
 .anfahrt-statisch .flip-hinten { min-height:0; }
}
@media(max-width:600px) {
 .hero { grid-template-columns:1fr; padding-block:36px 48px; gap:36px; }
 .hero h1 { font-size:2.55rem !important; }
 .hero .kicker { font-size:.7rem; letter-spacing:.12em; }
 .hero p { margin-top:18px; }
 .ort { margin-bottom:14px; }
 .marken-buehne { aspect-ratio:1.65; border-radius:60px 60px 22px 22px; gap:10px; }
 .marken-buehne img { width:120px; }
 .marken-buehne > span { font-size:.66rem; }
 .angebot { padding-block:20px 48px; }
 .angebot-cards { grid-template-columns:1fr; gap:12px; }
 .angebot-cards .card { min-height:0; padding:24px; }
 .sec-head h2 { font-size:1.7rem; }
 .ueber { padding-block:44px; }
 .ueber .inner { grid-template-columns:1fr; }
 .portrait-offen { aspect-ratio:1.8; max-height:230px; border-radius:24px 24px 70px 24px; }
 .portrait-monogramm { font-size:4.5rem; line-height:1.4; }
 .ueber blockquote { font-size:1.85rem; }
 .foot-raster { grid-template-columns:1fr 1fr; gap:28px 20px; }
 .foot-marke,.foot-spalte:has(a[href^="tel:"]) { grid-column:1 / -1; }
 .foot-spalte a { min-height:40px; display:inline-flex; align-items:center; }
 .foot-partner { grid-column:2; grid-row:2; }
 .dl-karte { grid-template-columns:48px minmax(0,1fr); padding:22px; }
 .dl-karte .pdf-tag { width:48px; height:48px; }
 .dl-karte > a { grid-column:2; grid-row:3; white-space:normal; padding:12px 18px; }
 .lesetext { font-size:1rem; line-height:1.8; }
 .lese-bereich { padding-block:28px 44px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { transition:none !important; }
}

/* Personal, open composition and four primary navigation entries. */
.praxis-marke { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); flex-shrink:0; }
.praxis-marke img { object-fit:contain; }
.praxis-marke span { font-size:1rem; font-weight:600; line-height:1.35; }
.praxis-marke small { display:block; font-size:.68rem; font-weight:400; color:var(--soft); margin-top:3px; }
.nav { gap:24px; padding-block:20px; }
.nav-links { gap:26px; }
.nav-links > a,.nav-gruppe > summary { font-family:var(--schrift); font-size:.88rem; letter-spacing:0; text-transform:none; font-weight:500; }
.nav-links .cta { letter-spacing:0; text-transform:none; padding:14px 23px; }
.nav-gruppe { position:relative; border:0; margin:0; padding:0; }
.nav-gruppe > summary { min-height:44px; padding:12px 0; color:var(--ink); white-space:nowrap; }
.nav-gruppe[open] > summary { margin:0; }
.nav-gruppe > summary::marker { font-size:.65rem; color:var(--gruen-tief); }
.nav-gruppe .aktuelle-gruppe { text-decoration:underline; text-underline-offset:7px; }
.untermenue { position:absolute; top:calc(100% + 8px); left:-22px; min-width:225px; padding:12px; background:var(--bg); border:1px solid var(--line); border-radius:16px; box-shadow:0 14px 30px #26291f12; z-index:80; }
.untermenue a { display:block; font-size:.9rem; font-weight:400; letter-spacing:0; text-transform:none; line-height:1.4; padding:12px; border:0; border-radius:8px; }
.untermenue a:hover { background:var(--creme); }
.review-banner { background:var(--bg); font-size:.7rem; padding:6px 16px; color:var(--soft); border-bottom:1px solid var(--line); }
.hero { padding-block:65px 76px; min-height:570px; }
.hero h1 { font-size:clamp(2.8rem,4.5vw,4.2rem); }
.marken-buehne { border-radius:50% 50% 44% 16%; transform:rotate(-3deg); background:linear-gradient(140deg,#f1edce,#e5eccf); }
.marken-buehne > * { transform:rotate(3deg); }
.ueber { background:#f0edd6; margin-block:0; padding-block:60px; }
.ueber .inner { grid-template-columns:.65fr 1.35fr; gap:65px; }
.portrait-offen { background:#e1e6cd; max-height:300px; border-radius:46% 46% 16% 46%; }
.ueber blockquote { font-size:clamp(2rem,3.4vw,3rem); font-weight:400; }
.ueber .kicker { font-size:.68rem; letter-spacing:.12em; }
.ueber p { max-width:36rem; line-height:1.85; }
.angebot { padding-block:90px 70px; }
.angebot-kopf { text-align:center; margin:0 auto 42px; max-width:100%; }
.angebot-kopf h2 { font-size:clamp(1.9rem,3vw,2.7rem); margin-top:14px; letter-spacing:-.025em; }
.leistungen-offen { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.leistung { position:relative; display:flex; flex-direction:column; text-decoration:none; color:var(--ink); padding:30px; border:1px solid #dedfce; border-radius:22px; background:#fff; min-height:250px; box-shadow:0 3px 0 rgba(55,79,33,.025); transition:background .2s,border-color .2s,box-shadow .2s; }
.leistung:hover { background:#f5f6eb; border-color:#9cab83; box-shadow:0 8px 24px rgba(55,79,33,.07); }
.leistung:focus-visible { outline:3px solid var(--gruen-tief); outline-offset:4px; }
.leistung h3 { font-size:1.22rem; font-weight:600; line-height:1.4; max-width:25rem; margin-bottom:12px; }
.leistung p { font-size:1rem; color:var(--soft); max-width:24rem; line-height:1.75; }
.leistung .mehr { font-size:.82rem; font-weight:600; margin-top:auto; padding-top:26px; }
.leistung .mehr span { display:inline-block; margin-left:8px; transition:transform .2s; }
.leistung:hover .mehr span { transform:translate(4px,-3px); }
.leistung:hover h3 { color:var(--gruen-tief); }
.anfahrt { padding-top:35px; }
.anfahrt .inner { border:0; border-radius:32px; background:#f2efdd; }
.osm-karte { position:relative; width:100%; height:100%; min-height:440px; background:linear-gradient(145deg,#e4eacb,#eeedda); }
.karten-start { display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; min-height:440px; padding:38px 28px; gap:16px; }
.karten-start h3 { font-size:1.75rem; font-weight:400; }
.karten-start p { color:var(--soft); }
.karten-start .karten-hinweis { font-size:.76rem; max-width:300px; line-height:1.6; }
.karten-start > a { font-size:.82rem; text-underline-offset:4px; }
.karte-laden { border:0; font:inherit; cursor:pointer; }
.osm-karte iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.karte-schliessen { position:absolute; top:12px; right:12px; padding:10px 14px; border:1px solid var(--line); border-radius:20px; background:white; color:var(--ink); font:inherit; font-size:.8rem; cursor:pointer; }
.kontakt .box { border-radius:32px 32px 64px 32px; padding-block:52px; }
@media(max-width:1024px) and (min-width:861px) {
 .nav-links { gap:16px; }
 .praxis-marke span { font-size:.9rem; }
}
@media(max-width:860px) {
 .nav { padding-block:14px; }
 .nav-links { gap:0; }
 .nav-links > a,.nav-gruppe > summary { font-size:1rem; min-height:48px; padding:16px 4px; }
 .nav-links .cta { margin-top:12px; text-align:center; }
 .untermenue { position:static; background:transparent; box-shadow:none; border:0; border-radius:0; padding:0 12px 12px; }
 .untermenue a { border:0; padding:12px; }
 .nav-gruppe { border-bottom:1px solid var(--line); }
 .hero { min-height:0; padding-block:44px; }
 .ueber .inner { grid-template-columns:.7fr 1.3fr; gap:32px; }
 .leistungen-offen { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
}
@media(max-width:600px) {
 .praxis-marke img { width:40px; height:40px; }
 .praxis-marke span { font-size:.9rem; }
 .praxis-marke small { font-size:.65rem; }
 .hero h1 { font-size:2.65rem !important; }
 .marken-buehne { transform:none; border-radius:80px 80px 45px 18px; }
 .marken-buehne > * { transform:none; }
 .ueber { padding-block:38px; }
 .ueber .inner { grid-template-columns:1fr; gap:24px; }
 .portrait-offen { max-width:230px; min-height:180px; margin:auto; width:100%; }
 .angebot { padding-block:50px 28px; }
 .angebot-kopf { margin-bottom:26px; }
 .leistungen-offen { grid-template-columns:1fr; }
 .leistung { min-height:0; padding:26px; }
 .leistung h3 { font-size:1.2rem; }
 .leistung .mehr { padding-top:16px; }
 .osm-karte,.karten-start { min-height:410px; }
 .karten-start { padding:28px 20px; }
}

/* Direct map with separate external route planning. */
.karten-route { position:absolute; top:14px; right:14px; z-index:1; padding:12px 18px; border-radius:24px; background:var(--gruen-tief); color:#fff; font-weight:600; text-decoration:none; box-shadow:0 2px 10px #0002; }
.karten-route:hover { filter:brightness(1.12); }
.karten-route:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }

/* Keep partner logos inside narrow mobile footer columns. */
.foot-partner a { max-width:100%; }
.foot-partner img { max-width:100%; object-fit:contain; object-position:left center; }

/* Compact treatment cards and spacious reading overlay. */
.leistung { min-height:225px; text-align:left; font:inherit; cursor:pointer; }
.schwerpunkte-kacheln { max-width:1100px; }
.schwerpunkte-kacheln .leistung { margin:0; }
.therapie[hidden], .kapitel-nav[hidden] { display:none; }
.dialog-offen { overflow:hidden; }
.schwerpunkt-dialog { width:min(860px,calc(100% - 32px)); max-height:calc(100dvh - 48px); margin:auto; padding:0; color:var(--ink); background:#fffef7; border:1px solid #dedfce; border-radius:24px; box-shadow:0 24px 90px #17231555; }
.schwerpunkt-dialog::backdrop { background:rgba(25,34,19,.55); backdrop-filter:blur(4px); }
.dialog-schliessen { position:sticky; top:0; z-index:1; display:block; margin-left:auto; padding:18px 26px; background:#fffef7; color:var(--gruen-tief); border:0; border-radius:0 24px 0 18px; font:inherit; font-weight:600; cursor:pointer; }
.dialog-schliessen:focus-visible { outline:3px solid var(--gruen-tief); outline-offset:-5px; }
.dialog-inhalt { padding:12px 48px 48px; }
.dialog-inhalt h2 { font-size:clamp(1.6rem,3vw,2.3rem); line-height:1.25; margin-bottom:18px; }
.dialog-inhalt .spruch { color:var(--gruen-tief); font-size:1.15rem; margin-bottom:28px; }
.dialog-inhalt p { margin-bottom:1.15em; line-height:1.8; }
@media(max-width:600px) { .leistung { min-height:0; } .dialog-inhalt { padding:8px 24px 28px; } .schwerpunkt-dialog { max-height:calc(100dvh - 24px); border-radius:18px; } }

/* Partner row and clearly labelled paid links, shared across all pages. */
.foot-raster { grid-template-columns:1.1fr .8fr 1.25fr 1fr; }
.foot-werbung .werbelink { display:flex; align-items:center; gap:10px; padding:10px 0; line-height:1.4; }
.werbelink svg { width:26px; height:26px; flex:0 0 26px; color:var(--gruen-tief); }
.partner-leiste { margin-top:40px; padding:26px 0 0; border-top:1px solid rgba(38,41,31,.12); }
.partner-leiste > b { display:block; font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:18px; }
.partner-logos { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.partner-logos a { display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #e4e4d5; border-radius:12px; padding:14px; flex:1 1 150px; min-width:0; height:92px; }
.partner-logos img { display:block; max-width:100%; max-height:64px; width:auto; height:auto; object-fit:contain; }
.partner-logos a:hover { border-color:var(--gruen-tief); }
.partner-logos a:focus-visible,.werbelink:focus-visible { outline:3px solid var(--gruen-tief); outline-offset:4px; }
.partner-leiste + .foot-unten { margin-top:26px; }
@media(max-width:860px) { .foot-raster { grid-template-columns:1fr 1fr; } }
@media(max-width:560px) { .foot-werbung { grid-column:2; grid-row:2; } .partner-logos { gap:12px; } .partner-logos a { flex-basis:calc(50% - 6px); } }
.foot-werbung .werbelink { flex-direction:column; align-items:flex-start; gap:8px; margin-bottom:8px; }
.werbelink img { display:block; width:150px; max-width:100%; height:46px; object-fit:contain; object-position:left center; }
.werbelink > span { font-size:.8rem; }
.partner-logos { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
@media(max-width:860px) { .partner-logos { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:560px) { .partner-logos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }

.werbelink-taste img { height:72px; }

.werbelink .rabattcode { font-size:.76rem; line-height:1.5; }
.rabattcode strong { display:inline-block; font-weight:700; letter-spacing:.025em; }

.honorar-abschnitt { margin-top:24px; padding-block:18px 0; border-top:1px solid var(--line); }
.lesetext .honorar-abschnitt h2 { margin-top:0; margin-bottom:12px; font-size:1.55rem; }
.honorar-bedingungen { margin-top:28px; }

.honorar-abschnitt > p:last-child { margin-bottom:0; }
