
.zd3{margin:0}
.zd3__box{height:min(74vh,720px);min-height:420px;border-radius:var(--r,18px);overflow:hidden;
  background:linear-gradient(180deg,#0f1418,#0A0A0A);border:1px solid rgba(255,255,255,.08)}
.zd3__hint{margin:.9rem 0 0;font-size:.86rem;opacity:.72}
@media (max-width:640px){.zd3__box{height:min(64vh,520px);min-height:340px}}
@media (prefers-reduced-motion:reduce){.zd3__box{--zd-autorotate:0}}

/* --- Inhaltsverzeichnis in der Seitenspalte ---------------------------- */
.gozside{align-self:stretch;height:100%}
.gozinhalt{position:sticky;top:6.5rem}
.gozinhalt h2{font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;opacity:.6;
  margin:0 0 .7rem;font-family:inherit;font-weight:600}
.gozinhalt ol{list-style:none;margin:0;padding:0;counter-reset:goz}
.gozinhalt li{counter-increment:goz;margin:0}
.gozinhalt a{display:block;padding:.36rem 0 .36rem 1.7rem;position:relative;font-size:.88rem;
  line-height:1.35;text-decoration:none;color:inherit;opacity:.78;border-left:2px solid transparent;
  transition:opacity .15s,border-color .15s}
.gozinhalt a::before{content:counter(goz,decimal-leading-zero);position:absolute;left:.45rem;
  font-size:.7rem;opacity:.5;top:.5rem;font-variant-numeric:tabular-nums}
.gozinhalt a:hover,.gozinhalt a:focus-visible{opacity:1;color:var(--gold-deep,#8a6a48)}
.gozinhalt a.is-hier{opacity:1;font-weight:600;color:var(--gold-deep,#8a6a48);
  border-left-color:var(--gold-mid,#cbae8a)}
@media (max-width:980px){.gozside{display:none}}

/* --- Vergleich GOZ / Bema ---------------------------------------------- */
.gozsvg .bar--eins{fill:#d8d3cc}
.gozsvg .bar--zwei{fill:var(--gold-soft,#e4d6c6)}
.gozsvg .bar--drei{fill:var(--gold-mid,#cbae8a)}
.gozsvg .bar--kasse{fill:var(--gold-deep,#8a6a48)}

.balzahlen{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:2rem 0;
  background:var(--linie,#e6e0d8);border:1px solid var(--linie,#e6e0d8);border-radius:10px;overflow:hidden}
.balzahlen>div{background:var(--flaeche,#fff);padding:1.15rem 1rem;text-align:center}
.balzahlen b{display:block;font-size:1.65rem;line-height:1.15;color:var(--gold-deep,#8a6a48);
  font-variant-numeric:tabular-nums}
.balzahlen span{display:block;margin-top:.35rem;font-size:.82rem;line-height:1.35;opacity:.72}

.baltab{margin:1.6rem 0 .6rem;border:1px solid var(--linie,#e6e0d8);border-radius:10px;overflow:auto;
  max-height:34rem;-webkit-overflow-scrolling:touch}
.baltab table{width:100%;border-collapse:collapse;font-size:.86rem;table-layout:fixed}
.baltab thead th{position:sticky;top:0;z-index:1;background:var(--sand,#f3ede5);
  padding:.6rem .55rem;text-align:left;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;
  line-height:1.25;border-bottom:1px solid var(--linie,#e6e0d8)}
.baltab thead th span{display:block;font-weight:400;color:var(--graphite,#3A3632)}
.baltab td{padding:.58rem .55rem;border-bottom:1px solid var(--linie,#efeae3);vertical-align:top}
.baltab tbody tr:last-child td{border-bottom:0}
.baltab tbody tr:nth-child(even){background:rgba(0,0,0,.018)}
.baltab .nr{font-variant-numeric:tabular-nums;color:var(--gold-text,#7A5A38);white-space:nowrap}
.baltab .nr,.baltab th.nr{width:3.6rem}
.baltab .lst{width:auto}
.baltab th.num{width:5.2rem}
.baltab th.bal{width:4.4rem}
.baltab th.num,.baltab td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.baltab .hoch{color:var(--mute,#6B655D)}
.baltab td.bal{font-weight:700;color:var(--gold-text,#7A5A38)}
.baltab .bnr{display:block;font-size:.72rem;opacity:.6;font-weight:400;letter-spacing:.02em}

.baltab__fuss{margin:0 0 1.6rem}
.callout--sach{border-left:3px solid var(--gold-mid,#cbae8a)}
.check--eng li{margin-bottom:.5rem}

/* Auf dem Handy wird aus jeder Zeile eine kleine Karte. Sechs Spalten auf 375 px
   ergeben sonst Wortsalat — jedes Wort auf einer eigenen Zeile. */
@media (max-width:760px){
  .balzahlen{grid-template-columns:1fr}
  .balzahlen b{font-size:1.4rem}
  .baltab{max-height:34rem}
  .baltab table{display:block;table-layout:auto;font-size:.9rem}
  .baltab thead{display:none}
  .baltab tbody,.baltab tr,.baltab td{display:block}
  .baltab tbody tr{padding:.9rem .9rem 1rem;border-bottom:1px solid var(--linie,#e6e0d8)}
  .baltab tbody tr:nth-child(even){background:rgba(0,0,0,.022)}
  .baltab td{border:0;padding:.16rem 0}
  .baltab td::before{content:attr(data-l) " ";opacity:.62;font-size:.84rem;margin-right:auto}
  .baltab td.num{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;text-align:right}
  .baltab td.lst{font-weight:600;font-size:.98rem;margin-bottom:.45rem;line-height:1.3}
  .baltab td.lst::before{content:none}
  .baltab td.nr{font-size:.78rem;letter-spacing:.05em;opacity:.75;margin-bottom:.1rem}
  .baltab td.hoch{color:var(--mute,#6B655D)}
  .baltab td.bal{margin-top:.35rem;padding-top:.4rem;border-top:1px solid var(--linie,#efeae3);
    font-size:1.02rem}
  .baltab .bnr{display:inline;margin-left:.5rem}
}

/* Rechtslaeufige Sprachen: in RTL kehrt text-anchor seine Bedeutung um — "end" liegt
   dann links. Ohne die Umkehrung laufen alle Beschriftungen in die Balken hinein
   (arabische Fassung, 23.08.2026). Die Geometrie der Schaubilder bleibt unveraendert. */
[dir="rtl"] .gozsvg text[text-anchor="end"]{text-anchor:start}
[dir="rtl"] .gozsvg text[text-anchor="start"]{text-anchor:end}

.gozfig{margin:2.2rem 0;padding:0}
.gozsvg{width:100%;height:auto;display:block}
.gozfig figcaption{font-size:.86rem;line-height:1.55;color:var(--mute);margin-top:.7rem;max-width:64ch}
.gozfig .q{display:block;margin-top:.3rem;font-size:.8rem}
.gozsvg .grid line{stroke:rgba(26,26,26,.14);stroke-width:1}
.gozsvg .ax{font-family:var(--mono);font-size:12px;fill:var(--mute)}
.gozsvg .ax--s{font-size:10.5px;opacity:.8}
.gozsvg .area{fill:rgba(173,136,100,.16)}
.gozsvg .line{fill:none;stroke:var(--gold-deep);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.gozsvg .flat{stroke:var(--ink);stroke-width:2;stroke-dasharray:6 5;opacity:.75}
.gozsvg .dot{fill:var(--gold-deep)}
.gozsvg .dot--flat{fill:var(--ink)}
.gozsvg .lb{font-family:var(--mono);font-size:12px;fill:var(--gold-text);letter-spacing:.04em}
.gozsvg .lb--flat{fill:var(--ink)}
.gozsvg .lb--acc{fill:var(--gold-text)}
.gozsvg .tick{stroke:var(--mute);stroke-width:1.4}
.gozsvg .fuehrung{stroke:var(--mute);stroke-width:1;opacity:.45}
.gozsvg .seg{rx:4}
.gozsvg .seg--1{fill:rgba(173,136,100,.22)}
.gozsvg .seg--2{fill:rgba(173,136,100,.45)}
.gozsvg .seg--3{fill:var(--gold-deep)}
.gozsvg .bar{rx:4}
.gozsvg .bar--damals{fill:rgba(26,26,26,.28)}
.gozsvg .bar--heute{fill:rgba(173,136,100,.42)}
.gozsvg .bar--noetig{fill:var(--gold-deep)}
.gozsvg .ziel{stroke:var(--gold-deep);stroke-width:1.4;stroke-dasharray:4 4;opacity:.55}
.gozsvg .val{font-family:var(--mono);font-size:12.5px;fill:var(--ink);dominant-baseline:middle}
.gozrechnung{margin:1.6rem 0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.gozrechnung table{width:100%;border-collapse:collapse;font-size:.95rem}
.gozrechnung th,.gozrechnung td{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--line)}
.gozrechnung th{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text);background:var(--bone)}
.gozrechnung tr:last-child td{border-bottom:0;font-weight:600}
.gozrechnung td:last-child,.gozrechnung th:last-child{text-align:right;font-variant-numeric:tabular-nums}
.gozquellen{font-size:.88rem;line-height:1.7}
.gozquellen li{margin-bottom:.5rem}

/* --- Behandlungsfahrplan ------------------------------------------------ */
.fp__pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.7rem;margin:1.4rem 0 2rem;padding:0;list-style:none}
.fp__tab{display:flex;flex-direction:column;gap:.25rem;text-align:left;padding:.95rem 1rem;border:1px solid var(--line);border-radius:14px;background:#fff;
  color:var(--ink);cursor:pointer;font:inherit;line-height:1.3;transition:border-color .2s,transform .2s,box-shadow .2s}
.fp__tab strong{font-weight:600;font-size:.98rem}
.fp__tab span{font-size:.82rem;color:var(--mute)}
.fp__tab:hover{border-color:var(--gold);transform:translateY(-1px)}
.fp__tab[aria-selected="true"]{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset;background:var(--paper)}
.fp__tab:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.fp__plan{margin:0 0 2.5rem}
.fp__plan[hidden]{display:none}
.fp__plan>h2{margin-top:0}
.fp__intro{font-size:1.08rem;color:var(--graphite);max-width:62ch}
.fp__sum{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:1.4rem 0;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.fp__sum>div{background:#fff;padding:1rem .9rem;margin:0}
.fp__sum dt{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text)}
.fp__sum dd{margin:.3rem 0 0;font-size:1.25rem;line-height:1.2;font-weight:600;color:var(--deep);font-variant-numeric:tabular-nums}
.fp__hinweis{font-size:.9rem;color:var(--mute);margin:-.6rem 0 1.6rem;max-width:64ch}
.fp__steps{list-style:none;margin:0;padding:0;counter-reset:fp}
.fp__step{display:grid;grid-template-columns:2.6rem 1fr;gap:1rem;padding:1.1rem 0;border-top:1px solid var(--line);position:relative}
.fp__step:last-child{border-bottom:1px solid var(--line)}
.fp__num{counter-increment:fp;width:2.4rem;height:2.4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:.82rem;font-weight:700;color:var(--gold-text);background:var(--paper);border:1px solid var(--gold-soft,#C9A97E)}
.fp__num::before{content:counter(fp)}
.fp__step--zuhause .fp__num,.fp__step--warten .fp__num{background:#fff;border-style:dashed}
.fp__step h3{margin:.25rem 0 .3rem;font-size:1.12rem}
.fp__meta{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:0 0 .5rem;font-size:.85rem;color:var(--graphite)}
.fp__meta span::before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--gold);margin-right:.4rem;vertical-align:.05em}
.fp__meta .fp__wer::before{background:var(--mute)}
.fp__step p{margin:0 0 .4rem}
.fp__tipp{font-size:.92rem;color:var(--graphite);padding:.55rem .8rem;border-left:3px solid var(--gold);background:var(--paper);border-radius:0 8px 8px 0}
.fp__cta{margin:1.6rem 0 0}
.fp__print{font-size:.9rem}
@media (max-width:720px){.fp__sum{grid-template-columns:1fr}.fp__step{grid-template-columns:2.2rem 1fr;gap:.7rem}.fp__num{width:2rem;height:2rem}}
@media print{.fp__pick,.side,.fp__cta,.top,.ft,.mact{display:none!important}.fp__plan[hidden]{display:block}}

/* --- Vor dem Termin ------------------------------------------------------ */
.vt{margin:2.2rem 0;padding:1.4rem 1.5rem;border-radius:var(--r);background:var(--paper);border:1px solid var(--line)}
.vt__h{margin:0 0 .4rem;font-size:1.25rem}
.vt__lead{margin:0 0 1rem;color:var(--graphite)}
.vt__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;margin:0;padding:0;list-style:none}
.vt__item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.95rem 1rem}
.vt__item strong{display:block;margin-bottom:.35rem}
.vt__item p{margin:0 0 .6rem;font-size:.92rem;color:var(--graphite)}
.vt__links{display:flex;flex-wrap:wrap;gap:.45rem}
.vt__links a{font-size:.9rem;font-weight:600;color:var(--gold-text);text-decoration:underline;text-underline-offset:3px}
.vt__note{margin:.9rem 0 0;font-size:.82rem;color:var(--mute)}

/* --- Preise ------------------------------------------------------------- */
.pr__grp{margin:2.2rem 0 0}
.pr__grp h2{margin-bottom:.3rem}
.pr__lead{margin:0 0 .9rem;color:var(--graphite);max-width:64ch}
.pr{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:.95rem}
.pr th,.pr td{padding:.62rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.pr tbody tr:last-child td{border-bottom:0}
.pr thead th{background:var(--paper);font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-text);font-weight:600}
.pr td.pr__eur{white-space:nowrap;font-weight:600;color:var(--deep);font-variant-numeric:tabular-nums;text-align:right}
.pr td.pr__hint{color:var(--mute);font-size:.88rem}
.pr--vgl th:first-child,.pr--vgl td:first-child{font-weight:600;color:var(--graphite);width:26%}
.pr--vgl td{font-size:.92rem}
.pr__stand{display:inline-block;margin:.2rem 0 1rem;padding:.3rem .7rem;border-radius:999px;background:var(--paper);font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text)}
.pr__regel{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:1.4rem 0 2rem;padding:0;list-style:none}
.pr__regel li{background:#fff;padding:1rem .95rem;font-size:.93rem}
.pr__regel strong{display:block;font-size:1.05rem;margin-bottom:.25rem;color:var(--deep)}
@media (max-width:720px){
  .pr thead{display:none}
  .pr,.pr tbody,.pr tr,.pr td{display:block}
  .pr tr{padding:.7rem .8rem;border-bottom:1px solid var(--line)}
  .pr td{border:0;padding:.1rem 0}
  .pr td.pr__eur{text-align:left;font-size:1.05rem}
  .pr td.pr__eur::before{content:attr(data-l) ": ";font-weight:400;color:var(--mute)}
  .pr--vgl td::before{content:attr(data-l) ": ";color:var(--mute)}
  .pr--vgl td:first-child::before{content:none}
}

/* --- Zweitmeinung ------------------------------------------------------- */
.zm__steps{counter-reset:zm;list-style:none;margin:1.2rem 0 1.8rem;padding:0;display:grid;gap:.8rem}
.zm__steps li{position:relative;padding:.2rem 0 .2rem 3rem;min-height:2.4rem}
.zm__steps li::before{counter-increment:zm;content:counter(zm);position:absolute;left:0;top:0;width:2.2rem;height:2.2rem;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.8rem;font-weight:700;color:var(--gold-text);background:var(--paper);border:1px solid var(--gold-soft,#C9A97E)}
.zm__steps strong{display:block;margin-bottom:.15rem}
.zm__form{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem 1.6rem;margin:1.6rem 0}
.zm__form h2{margin-top:0}
.zm__grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem}
.zm__grid .zm__full{grid-column:1/-1}
.zm__form label{display:block;font-size:.88rem;font-weight:600;margin-bottom:.3rem;color:var(--graphite)}
.zm__form input[type=text],.zm__form input[type=tel],.zm__form input[type=email],.zm__form select,.zm__form textarea{width:100%;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;color:var(--ink)}
.zm__form input:focus-visible,.zm__form select:focus-visible,.zm__form textarea:focus-visible{outline:3px solid var(--gold);outline-offset:1px}
.zm__form textarea{min-height:6.5rem;resize:vertical}
.zm__file{display:block;padding:1rem;border:2px dashed var(--gold-soft,#C9A97E);border-radius:12px;background:#fff;text-align:center;cursor:pointer}
.zm__file input{display:block;margin:.5rem auto 0;max-width:100%}
.zm__file span{display:block;font-size:.85rem;color:var(--mute);margin-top:.3rem}
.zm__check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400!important;font-size:.9rem!important}
.zm__check input{margin-top:.25rem;width:1.1rem;height:1.1rem;accent-color:var(--gold-deep)}
.zm__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.zm__status{margin:.8rem 0 0;padding:.8rem 1rem;border-radius:10px;font-size:.95rem}
.zm__status[hidden]{display:none}
.zm__status--ok{background:#F0EBE2;border:1px solid var(--gold);color:var(--deep)}
.zm__status--err{background:#FBF1EE;border:1px solid #C9877A;color:#6B2E22}
.zm__form button[disabled]{opacity:.6;cursor:default}
@media (max-width:640px){.zm__grid{grid-template-columns:1fr}}

/* --- Nachsorge ---------------------------------------------------------- */
.ns__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.8rem;margin:1.2rem 0 1.8rem;padding:0;list-style:none}
.ns__card{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.05rem;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.ns__card:hover{border-color:var(--gold);transform:translateY(-1px)}
.ns__card strong{font-size:.98rem}
.ns__card span{font-size:.84rem;color:var(--mute)}
.ns__card em{font-style:normal;font-size:.82rem;font-weight:600;color:var(--gold-text);margin-top:.35rem}
.ns__tl{list-style:none;margin:.6rem 0 0;padding:0;border-left:2px solid var(--line)}
.ns__tl li{position:relative;padding:.35rem 0 .7rem 1.4rem;font-size:.95rem}
.ns__tl li::before{content:"";position:absolute;left:-.42rem;top:.75rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--gold);border:2px solid #fff}
.ns__tl b{display:block;font-weight:600}
.ns__tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-text)}
.ns__warn{border-left:3px solid #B0533F}
.ns__warn li{margin-bottom:.35rem}

/* Markenpalette nach der Logo-Vorlage vom 22.08.2026: fast schwarzer Grund,
   ein einziges gebuerstetes Bronzegold (Farbton 29 Grad), warme Neutraltoene.
   Das helle Blau entfaellt; die frueheren Tokens --cyan und --champagne gehen
   in --gold auf, weil die Vorlage nur EINEN Akzent kennt. Die kuehlen Graustufen
   wurden auf denselben warmen Farbton gedreht, sonst wirkt die Seite weiter blau. */
:root{--obsidian:#0A0A0A;--deep:#0C0C0C;--ink:#1A1A1A;--graphite:#3A3632;--mute:#6B655D;--gold:#AD8864;--gold-deep:#8A6A4A;--gold-text:#7A5A38;--gold-hi:#D8C3A5;--paper:#F5F2ED;--bone:#EBE6DD;--off:#FAF8F4;--white:#fff;--line:rgba(26,26,26,.12);--r:18px;--ease:cubic-bezier(.2,.7,.2,1);--wrap:1200px;--body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--display:'Fraunces',Georgia,serif;--mono:'JetBrains Mono',ui-monospace,Menlo,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:focus-visible{outline:2px solid #C9A97E;outline-offset:3px;border-radius:4px}a,button,summary,[tabindex]{scroll-margin-bottom:96px}
html,body{overflow-x:clip}body{margin:0;font-family:var(--body);font-size:17px;line-height:1.65;color:var(--ink);background:var(--white)}
img,video{max-width:100%;height:auto;display:block}a{color:var(--gold-text);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--gold-deep)}
.top a:hover,.hero a:hover,.hh a:hover,.ft a:hover,.band--dark a:hover,.nav a:hover,header a:hover{color:var(--gold-hi)}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.12;letter-spacing:-.01em;color:var(--deep);margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2rem,1.3rem + 2.8vw,3.6rem)}h2{font-size:clamp(1.55rem,1.2rem + 1.3vw,2.3rem);margin-top:1.6em}h3{font-size:1.3rem;margin-top:1.4em}h4{font-size:1.1rem}
p{margin:0 0 1em}.lead{font-size:1.18rem;line-height:1.55;color:var(--graphite);max-width:62ch}.muted{color:var(--mute)}.small{font-size:.9rem}
.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text);margin:0 0 .8em}
.wrap{width:min(var(--wrap),100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--obsidian);padding:.6rem 1rem;z-index:99}.skip:focus{left:1rem}
/* Wortmarke: Licht durch die Buchstaben.
   Der Schriftzug dient als Maske. Darunter liegt ein ruhiger Schein, darueber
   wandert sehr langsam ein schmaler Lichtstreif — sichtbar nur dort, wo Buchstabe
   ist. Das Bild selbst bleibt darunter liegen: faellt die Maske aus (aeltere
   Browser), sieht man einfach die unveraenderte Wortmarke.
   Der Streif ist ein eigenes Element und wird verschoben, nicht als
   Hintergrundposition gerechnet: bei einem Verlauf, der breiter ist als sein
   Element, kehren Prozentangaben ihre Richtung um — der Streif lag dadurch
   immer ausserhalb und war nie zu sehen. */
.brand--lit{position:relative;display:inline-block;line-height:0;isolation:isolate}
.brand--lit>img{position:relative;z-index:0}
.brand__schein{
  position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;
  -webkit-mask:var(--marke) no-repeat left center/contain;
          mask:var(--marke) no-repeat left center/contain;
  /* der ruhige Schein von hinten, sehr langsam atmend */
  background:radial-gradient(78% 175% at 50% 138%, rgba(216,195,165,.32), transparent 72%);
  mix-blend-mode:screen;
  animation:marke-atem 7.5s ease-in-out infinite;
}
@keyframes marke-atem{0%,100%{opacity:.82}50%{opacity:1}}
.brand__schein>i{
  position:absolute;top:-40%;bottom:-40%;left:0;width:70%;
  background:linear-gradient(102deg,
    transparent 0%,
    rgba(255,249,238,.10) 22%,
    rgba(255,251,243,.42) 38%,
    rgba(255,253,248,.78) 50%,
    rgba(255,251,243,.42) 62%,
    rgba(255,249,238,.10) 78%,
    transparent 100%);
  filter:blur(.6px) drop-shadow(0 0 7px rgba(255,244,224,.45));
  transform:translateX(-170%);
  animation:marke-streif 7.5s cubic-bezier(.5,0,.5,1) infinite;
}
/* Der Lichtstreif braucht rund drei Sekunden fuer den Weg ueber die Wortmarke und
   ruht danach acht Sekunden. Zu schnell wirkt es wie ein Blitz, zu haeufig wie
   eine Werbebande — beides genau das Gegenteil von edel. */
@keyframes marke-streif{
  0%,14%{transform:translateX(-170%)}
  86%,100%{transform:translateX(330%)}
}
.brand--lit:hover .brand__schein>i{animation-duration:3.6s}
@media (prefers-reduced-motion:reduce){
  .brand__schein{animation:none}
  .brand__schein>i{animation:none;transform:translateX(80%);opacity:.4}
}
@supports not ((-webkit-mask-image:url(x)) or (mask-image:url(x))){
  .brand__schein{display:none}
}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.35rem;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;border:1.5px solid transparent;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s;cursor:pointer;line-height:1.2}
.btn--primary{background:linear-gradient(180deg,#1E1B17,var(--deep));color:#fff;border:1px solid rgba(216,180,106,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 6px -1px rgba(216,180,106,.5),0 0 22px -5px rgba(216,180,106,.5)}
.btn--primary:hover{background:linear-gradient(180deg,#2A2520,#141210);color:#fff;transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 0 10px -1px rgba(216,180,106,.6),0 0 30px -6px rgba(216,180,106,.6)}
.hero .btn--primary,.hh .btn--primary,.top .btn--primary,.ft .btn--primary,.band--dark .btn--primary{background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.06));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hero .btn--primary:hover,.hh .btn--primary:hover,.top .btn--primary:hover,.ft .btn--primary:hover,.band--dark .btn--primary:hover{background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.12))}
@property --cta-ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.cta-glow{position:relative;isolation:isolate;--cta-glow-c:#d8b46a}
.cta-glow>.cta__glow{position:absolute;inset:0;border-radius:inherit;z-index:-1;padding:2px;pointer-events:none;background:conic-gradient(from var(--cta-ang),transparent 0 56%,var(--cta-glow-c) 70%,#fff 85%,#fff 90%,var(--cta-glow-c) 95%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;filter:drop-shadow(0 0 4px var(--cta-glow-c)) drop-shadow(0 0 9px var(--cta-glow-c));animation:cta-glow-rot 4.2s linear infinite}
@keyframes cta-glow-rot{to{--cta-ang:360deg}}
@media (prefers-reduced-motion:reduce){.cta-glow>.cta__glow{animation:none;opacity:.7}}
.btn--ghost{border-color:var(--deep);color:var(--deep);background:transparent}
/* Auf dunklem Grund war nur der Hover-Zustand definiert — im Ruhezustand stand
   #0C0C0C auf #0C0C0C, der Knopf war schlicht unsichtbar (Inhaber 23.08.2026). */
.hero .btn--ghost,.hh .btn--ghost,.top .btn--ghost,.ft .btn--ghost,.band--dark .btn--ghost{border-color:rgba(255,255,255,.45);color:var(--paper)}
/* Der Zeigezustand fuellte den Knopf mit --deep, eine spaetere Regel setzte die
   Schrift ebenfalls auf --deep — schwarz auf schwarz. Jetzt eindeutig, und auf
   dunklen Flaechen ein eigener Zustand, weil dort eine schwarze Fuellung
   unsichtbar waere. */
.btn--ghost:hover,.btn--ghost:focus-visible{background:var(--deep);color:var(--paper);border-color:var(--deep)}
.hero .btn--ghost:hover,.hh .btn--ghost:hover,.top .btn--ghost:hover,.ft .btn--ghost:hover,.band--dark .btn--ghost:hover,.hero .btn--ghost:focus-visible,.hh .btn--ghost:focus-visible,.ft .btn--ghost:focus-visible,.band--dark .btn--ghost:focus-visible{background:rgba(173,136,100,.18);color:var(--gold-hi);border-color:var(--gold)}
.btn--light{border-color:rgba(255,255,255,.6);color:#fff;background:rgba(255,255,255,.08)}.btn--light:hover{background:#fff;color:var(--deep)}
.btn--lg{padding:1rem 1.8rem;font-size:1.05rem}.btn--block{width:100%}.cta-row{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.4em 0}
/* Header */
.top{position:sticky;top:0;z-index:50;background:rgba(12,12,12,.92);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.top::before{content:"";position:absolute;inset:0;z-index:-1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.top__bar{position:relative}
.top__bar{display:flex;align-items:center;gap:1rem;min-height:68px}.brand img{height:42px;width:auto;aspect-ratio:846.14/202.68}
/* Safari leitet aus height+width:auto keine Breite ab, wenn die SVG keine eigenen
   Masse traegt — das Logo erschien dort deutlich zu klein. Beides ist jetzt gesetzt:
   width/height in der Datei und das Seitenverhaeltnis hier. */
.nav{margin-left:auto;display:flex;align-items:center;gap:1.5rem}.nav__list{list-style:none;margin:0;padding:0;display:flex;gap:.2rem}
.nav__item>a{display:block;padding:.6rem .8rem;color:#fff;text-decoration:none;font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;border-radius:8px}
.nav__item>a:hover,.nav__item.is-active>a{color:var(--gold)}.nav__tog{display:none}
.has-sub{position:relative}.sub{list-style:none;margin:0;padding:.6rem 0;position:absolute;top:100%;left:0;min-width:280px;background:#fff;color:var(--ink);border-radius:14px;box-shadow:0 24px 60px -20px rgba(0,0,0,.45);opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s var(--ease)}
/* Lange Untermenues (Leistungen 22, Praxis 17, Service 13 Eintraege) liefen unten aus dem Bild:
   zwei Spalten, Gruppen bleiben zusammen, und als Sicherung eine Hoehe, die immer scrollbar ist. */
.sub{max-height:calc(100vh - 6.5rem);overflow-y:auto;overscroll-behavior:contain}
.sub--cols{column-count:2;column-gap:.4rem;min-width:600px;padding:.6rem .4rem}
.sub--cols>li{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid}
.nav__item:nth-child(n+3)>.sub--cols{left:auto;right:0}
@media (max-width:1200px){.sub--cols{min-width:470px}}
.has-sub:hover>.sub,.has-sub.is-focus>.sub,.has-sub.is-open>.sub{opacity:1;visibility:visible;transform:none}
.sub li a{display:block;padding:.45rem 1.1rem;color:var(--ink);text-decoration:none;font-size:.92rem}.sub li a:hover{color:var(--gold-text);background:var(--off)}
.sub ul{list-style:none;margin:0;padding:0 0 .3rem .8rem}.sub ul a{font-size:.84rem;color:var(--mute)}
.nav__extra{display:flex;align-items:center;gap:1rem}.nav__tel{color:#fff;text-decoration:none;font-weight:600;font-size:.95rem}.nav__tel:hover{color:var(--gold)}
/* Verweis auf die Praxis-Hauptwebsite (nur auf den Spezialseiten, siehe praxis_link) */
.nav__praxis{display:inline-flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.78);text-decoration:none;font-size:.86rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.nav__praxis:hover{color:var(--gold);border-bottom-color:var(--gold)}
.nav__praxis:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.nav__praxis svg{flex:none;opacity:.85}
[dir="rtl"] .nav__praxis svg{transform:scaleX(-1)}
.top__cta,.top__tel{display:none}.top__tel{color:#fff;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.25);margin-left:auto;transition:color .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease)}.top__tel:hover,.top__tel:focus-visible{color:var(--gold-hi);border-color:var(--gold);background:rgba(173,136,100,.14);transform:translateY(-1px);box-shadow:0 0 0 1px rgba(173,136,100,.35),0 6px 18px -8px rgba(173,136,100,.55)}.top__tel:active{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.top__tel{transition:none}.top__tel:hover{transform:none}}.burger{display:none;margin-left:auto;width:44px;height:44px;border:0;background:transparent;padding:8px;flex-direction:column;justify-content:space-around;cursor:pointer}.burger span{display:block;height:2px;background:#fff;border-radius:2px;transition:.3s}
@media (max-width:1100px){.nav__item>a{padding:.6rem .55rem;font-size:.68rem;letter-spacing:.1em}.nav__tel{display:none}}
@media (max-width:940px){
 .nav{position:fixed;inset:68px 0 0 0;background:var(--obsidian);flex-direction:column;align-items:stretch;padding:1rem 1.25rem 6rem;overflow:auto;transform:translateX(100%);visibility:hidden;transition:transform .35s var(--ease),visibility 0s .35s;margin:0;gap:0}
 .nav.is-open{transform:none;visibility:visible;transition:transform .35s var(--ease),visibility 0s}.nav__list{flex-direction:column;gap:0}.nav__item{border-bottom:1px solid rgba(255,255,255,.08);display:flex;flex-wrap:wrap;align-items:center}
 .nav__item>a{flex:1;padding:1rem .2rem;font-size:.85rem}.nav__tog{display:block;width:44px;height:44px;border:0;background:transparent;position:relative;cursor:pointer}
 .nav__tog::before{content:"";position:absolute;left:16px;top:14px;width:10px;height:10px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg);transition:.3s}.has-sub.is-open .nav__tog::before{transform:rotate(225deg);top:20px}
 .sub{position:static;min-width:0;background:transparent;color:#fff;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none;flex-basis:100%;padding:0 0 .8rem}
.sub,.sub--cols{max-height:none;overflow:visible;column-count:1;min-width:0}
.nav__item:nth-child(n+3)>.sub--cols{right:auto}.has-sub.is-open>.sub{display:block}
 .sub li a{color:#E2DDD4;padding:.5rem .2rem}.sub ul a{color:#A8A199}.sub li a:hover{background:transparent;color:var(--gold)}
 .nav__extra{flex-direction:column;align-items:stretch;gap:.8rem;padding-top:1.4rem}.nav__tel{display:block;text-align:center}.top__tel{display:inline-flex}.top__cta{display:inline-flex;margin-left:.5rem;padding:.55rem 1rem;font-size:.85rem}.burger{display:flex;margin-left:0}
 body.nav-open{overflow:hidden}
 /* Die Kopfzeile steht auf position:sticky. Sobald body overflow:hidden bekommt,
    ist der Body kein Scrollport mehr — die Kopfzeile verliert ihren Halt und faellt
    an ihre Dokumentposition zurueck, also genau scrollY Pixel nach oben aus dem Bild.
    Auf einer gescrollten Seite verschwand damit beim Oeffnen des Menues die ganze
    obere Leiste samt Schliessen-Knopf (iPhone/Safari, Inhaber 27.08.2026). Am Seitenanfang
    fiel es nicht auf, weil dort beide Positionen zusammenfallen — daher 'manchmal'.
    Fest verankert haengt sie nicht mehr am Scrollport des Body. */
 body.nav-open .top{position:fixed;top:0;left:0;right:0}
 body.nav-open #dr-flex-reception-button,body.nav-open #zk-rez{display:none!important}.burger[aria-expanded=true] span:nth-child(1){transform:translateY(9px) rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
}
/* Hero (Unterseiten) */
.hero{background:radial-gradient(120% 140% at 80% 0%,#151310 0%,var(--obsidian) 55%);color:#fff;padding:3rem 0 3.2rem;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(173,136,100,.5),transparent)}
.hero h1{color:#fff}.hero .lead{color:#DDD8CF}.hero .eyebrow{color:var(--gold)}.hero a{color:var(--gold)}.hero .btn--primary{color:#fff}.hero .btn--light{color:#fff}.hero .btn--light:hover{color:var(--deep)}
.hero__grid{display:grid;gap:2.5rem;align-items:center}.hero--img .hero__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.hero__img{border-radius:var(--r);box-shadow:0 40px 80px -30px rgba(0,0,0,.7);aspect-ratio:4/3;object-fit:cover;width:100%}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.2rem;padding:0;font-size:.8rem;color:#A8A199}.crumbs li+li::before{content:"›";margin-right:.4rem;color:#6B655D}.crumbs a{color:#CFC8BE;text-decoration:none;display:inline-block;padding:.3rem 0}.crumbs a:hover{color:var(--gold)}
.weiter{margin:2.4rem 0 1rem;padding:1.4rem 1.6rem;border:1px solid var(--line,rgba(12,12,12,.12));border-radius:14px;background:var(--paper)}.weiter ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem 1.2rem}.weiter a{display:block;text-decoration:none;color:inherit;padding:.35rem 0}.weiter a strong{display:block;color:var(--ink)}.weiter a span{display:block;font-size:.9rem;color:#6B655D}.weiter a:hover strong{color:var(--gold-text)}
.callout--notfall{border-left:4px solid var(--gold)}.callout--notfall .callout__h{font-size:1.25rem}
.verantwortlich{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line,rgba(12,12,12,.12))}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:900px){.hero{padding:2.2rem 0 2.4rem}.hero--img .hero__grid{grid-template-columns:1fr}.hero__img{aspect-ratio:16/10}}
/* Layout */
.main{padding:3rem 0 4rem}.main--side{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:3.5rem;align-items:start}
.content{max-width:760px;font-size:1.05rem}.content>p:first-child{font-size:1.12rem}.content h2:first-child{margin-top:0}
.content ul,.content ol{padding-left:1.3rem}.content li{margin:.35em 0}.check{list-style:none;padding-left:0!important}.check li{padding-left:1.8rem;position:relative}.check li::before{content:"";position:absolute;left:0;top:.55em;width:1rem;height:.55rem;border-left:2px solid var(--gold-deep);border-bottom:2px solid var(--gold-deep);transform:rotate(-45deg)}
.cols{columns:2;column-gap:2.5rem}@media (max-width:700px){.cols{columns:1}}
.badge{margin:.4rem 0 1rem 1.5rem;float:right;width:min(180px,40%)}.badge__img{width:100%}.callout .badge{margin-top:0}.callout::after,.content::after{content:'';display:block;clear:both}
.fig{margin:2rem 0;clear:both}.fig-img{border-radius:var(--r);width:100%;box-shadow:0 30px 60px -30px rgba(12,12,12,.35)}
.callout{background:var(--paper);border-left:4px solid var(--gold);border-radius:0 var(--r) var(--r) 0;padding:1.4rem 1.6rem;margin:2rem 0}.callout__h{margin:0 0 .5em;font-size:1.15rem;font-family:var(--display);font-weight:500;line-height:1.2;color:var(--deep)}.callout p:last-child{margin-bottom:0}

.weitere{margin:2.2rem 0 1rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.weitere__h{font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;opacity:.62;margin:0 0 .6rem;font-family:inherit;font-weight:600}
.weitere ul{list-style:none;margin:0;padding:0}
.weitere li{border-bottom:1px solid var(--line)}
.weitere li:last-child{border-bottom:0}
.weitere a{display:block;padding:.6rem 0;text-decoration:none;color:inherit}
.weitere a:hover{color:var(--gold-text)}
.acc-group{margin:1.6rem 0;border-top:1px solid var(--line)}.acc{border-bottom:1px solid var(--line)}.acc summary{cursor:pointer;list-style:none;padding:1rem 2.4rem 1rem 0;font-family:var(--display);font-size:1.15rem;color:var(--deep);position:relative}
.acc summary::-webkit-details-marker{display:none}.acc summary::after{content:"+";position:absolute;right:.3rem;top:.75rem;font-size:1.6rem;color:var(--gold-deep);transition:.3s}.acc[open] summary::after{transform:rotate(45deg)}.acc__body{padding:0 0 1.2rem}
.tbl,.hours{border-collapse:collapse;width:100%;margin:1rem 0}.tbl th,.tbl td,.hours th,.hours td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}.hours th{width:3.2rem;font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;color:var(--gold-text)}.hours--compact th,.hours--compact td{padding:.25rem .4rem;font-size:.9rem}
blockquote{margin:2rem 0;padding:0 0 0 1.4rem;border-left:3px solid var(--gold);font-family:var(--display);font-size:1.3rem;color:var(--deep)}
.file::before{content:"⬇ ";color:var(--gold-deep)}
.route{background:var(--off);border-radius:var(--r);padding:1.4rem 1.6rem;margin:1.5rem 0}.route__btns{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0 .6rem}
/* Sidebar */
.side{display:grid;gap:1.4rem;align-content:start}.side__card{background:var(--paper);border-radius:var(--r);padding:1.4rem}.side__card .btn{margin-bottom:.6rem}.side__rating a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(176,141,87,.4)}.side__rating{font-size:.9rem;color:var(--gold-text);margin:0}
.side__nav{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.4rem}.side__nav h2,.side__nav h3{font-size:1rem;margin:0 0 .6rem;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-weight:500}.side__nav h2 a,.side__nav h3 a{color:var(--deep);text-decoration:none}
.side__nav ul{list-style:none;margin:0;padding:0}.side__nav li a{display:block;padding:.4rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--graphite);font-size:.95rem}.side__nav li:last-child a{border:0}.side__nav li.is-active a,.side__nav li a:hover{color:var(--gold-text)}
@media (max-width:1000px){.main--side{grid-template-columns:1fr;gap:2.5rem}.side{position:static}.content{max-width:none}}
/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.4rem;margin:2rem 0}.card{display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);border:1px solid var(--line);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(12,12,12,.45)}.card{display:flex;flex-direction:column}.card__body{display:flex;flex-direction:column;flex:1}.card__more{margin-top:auto}.card__img{aspect-ratio:16/10;object-fit:cover;object-position:50% 22%;width:100%}.card__body{padding:1.2rem 1.3rem 1.4rem}.card h3,.card h2{margin:0 0 .4rem;font-size:1.25rem;line-height:1.2}.card p{color:var(--graphite);margin:0 0 .8rem;font-size:.95rem}.card__more{font-weight:600;color:var(--gold-text);font-size:.9rem}
.cards--news{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.cards--news .card__img{aspect-ratio:16/9;object-position:50% 25%}
/* Galerie, Vorher/Nachher, Video */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.8rem;margin:1.5rem 0}.gal__item{display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:var(--bone)}.gal__img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}.gal__item:hover .gal__img{transform:scale(1.04)}
.ba{position:relative;border-radius:var(--r);overflow:hidden;margin:1.6rem 0;aspect-ratio:3/2;background:var(--bone)}.ba img{width:100%;height:100%;object-fit:cover}.ba__after,.ba__before{position:absolute;inset:0}.ba__before{clip-path:inset(0 50% 0 0)}
.ba__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}.ba__line{position:absolute;top:0;bottom:0;width:2px;background:#fff;left:50%;box-shadow:0 0 0 1px rgba(0,0,0,.2);pointer-events:none}
.ba__line::after{content:"⇔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:#fff;color:var(--deep);display:grid;place-items:center;font-size:1.2rem;box-shadow:0 10px 30px -10px rgba(0,0,0,.6)}
.ba__tag{position:absolute;bottom:.8rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;background:rgba(12,12,12,.7);color:#fff;padding:.3rem .6rem;border-radius:6px;pointer-events:none}.ba__tag--l{left:.8rem}.ba__tag--r{right:.8rem}
.video{margin:2rem 0}.video video{width:100%;border-radius:var(--r);background:#000;aspect-ratio:16/9}.video figcaption{font-size:.9rem;color:var(--mute);margin-top:.5rem}.videos .video:first-child{margin-top:0}
.lb{position:fixed;inset:0;background:rgba(12,12,12,.94);z-index:200;display:grid;place-items:center;padding:2rem}.lb[hidden]{display:none}.lb img{max-width:min(1200px,100%);max-height:88vh;border-radius:12px;box-shadow:0 40px 100px -30px #000;width:auto;height:auto}
.lb button{position:absolute;background:rgba(255,255,255,.1);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:1.6rem;cursor:pointer}.lb__close{top:1rem;right:1rem}.lb__prev{left:1rem;top:50%}.lb__next{right:1rem;top:50%}
/* Team */
.team-group{margin:0 0 3.4rem}.team-group>h2{font-size:clamp(1.7rem,1.25rem + 1.7vw,2.6rem);line-height:1.15;margin:0 0 1.5rem;padding-bottom:.6rem;border-bottom:1px solid var(--line)}.cert-cat>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.6rem 0;margin-top:1.6rem}.cert-cat>summary::-webkit-details-marker{display:none}.cert-cat>summary h2{margin:0;font-size:clamp(1.3rem,1.1rem + .9vw,1.8rem)}.cert-cat__n{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);white-space:nowrap}.cert-cat__n::after{content:" +";font-weight:700}.cert-cat[open] .cert-cat__n::after{content:" –"}.cert-cat>summary:hover h2{color:var(--gold-text)}
.tm__more:hover{border-color:var(--gold);color:var(--gold-text)}.card:hover .card__more{text-decoration:underline;text-underline-offset:3px}
/* Einladungs-Kachel am Ende des Teams */
.tm--join{display:flex;flex-direction:column;text-decoration:none;color:inherit;
  background:linear-gradient(180deg,var(--paper),#fff);border:1px dashed rgba(176,141,87,.55);
  transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.tm--join:hover{border-color:var(--gold);transform:translateY(-3px);
  box-shadow:0 20px 40px -26px rgba(12,12,12,.45)}
.tm__joinart{display:grid;place-items:center;aspect-ratio:4/5;font:300 clamp(3rem,2rem + 4vw,4.6rem)/1 var(--display);
  color:var(--gold);background:radial-gradient(circle at 50% 45%,rgba(176,141,87,.12),transparent 68%)}
.tm__joinh{display:block;font:600 1.15rem/1.3 var(--display);color:var(--deep);margin:0 0 .3rem}
.tm__joinmore{display:inline-block;margin-top:.5rem;font-size:.85rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--gold-text)}
.tm--join:hover .tm__joinmore{color:var(--deep)}
/* "nach Vereinbarung" mit Erklaerung */
.hours__why{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;
  display:inline-flex;align-items:center;gap:.4rem;text-align:left}
.hours__i{display:inline-grid;place-items:center;width:1.15em;height:1.15em;flex:none;
  border-radius:50%;border:1px solid var(--gold);color:var(--gold-text);
  font-size:.7em;line-height:1;font-weight:700}
.hours__why:hover .hours__i,.hours__why:focus-visible .hours__i{background:var(--gold);color:#fff}
.ft .hours__i{border-color:rgba(255,255,255,.5);color:#E8E3DA}
/* nur fuer Vorleseprogramme */
.nur-vorlesen{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* Osterei-Zeile und Bilddialog */
.egg__ps{margin-top:1.6rem}
.egg__btn{background:none;border:0;padding:0;font:inherit;color:var(--gold-text);cursor:pointer;
  text-decoration:underline;text-underline-offset:2px;text-decoration-style:dotted}
.egg__btn:hover{color:var(--deep)}
.dlg--egg{max-width:min(920px,94vw)}
.dlg--egg img{width:100%;height:auto;border-radius:12px;display:block;margin:0 0 .8rem}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.6rem}.team-lead{margin:0 0 1.6rem}.team-lead .tm{display:grid;grid-template-columns:minmax(240px,320px) 1fr;align-items:start}.team-lead .tm__txt{padding:1.6rem 1.8rem}.team-lead .tm__img{aspect-ratio:4/5}.tm__hl{margin:.2rem 0 1rem;font-size:.95rem}.tm__hl li{margin:.25rem 0}@media (max-width:700px){.team-lead .tm{grid-template-columns:1fr}}.tm{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.tm__img{aspect-ratio:4/5;object-fit:cover;width:100%}.tm__txt{padding:1.1rem 1.2rem 1.3rem}.tm h3{font-size:1.15rem;margin:0 0 .3rem}.tm__role{color:var(--graphite);font-size:.92rem;margin:0 0 .6rem}
.tm__more{background:transparent;border:1.5px solid var(--deep);border-radius:999px;padding:.45rem 1rem;font:600 .85rem var(--body);color:var(--deep);cursor:pointer}.tm__more:hover{background:var(--deep);color:#fff}
.pills{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 1.5rem}.pills a{display:inline-block;padding:.5rem 1rem;border-radius:999px;background:var(--paper);text-decoration:none;color:var(--deep);font-size:.92rem}.pills a:hover{background:var(--gold);color:var(--obsidian)}
.dlg{border:0;border-radius:var(--r);padding:0;max-width:760px;width:calc(100% - 2rem);box-shadow:0 50px 120px -30px rgba(0,0,0,.6)}.dlg::backdrop{background:rgba(12,12,12,.7);backdrop-filter:blur(4px)}.dlg__body{padding:2rem 2.2rem 2.4rem;max-height:85vh;overflow:auto}.dlg__close{position:sticky;top:0;display:flex;justify-content:flex-end;margin:0;padding:.6rem .6rem 0}.dlg__close button{width:40px;height:40px;border-radius:50%;border:0;background:var(--paper);font-size:1.4rem;cursor:pointer}
.dlg h3{margin-top:0}.dlg .gal{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
/* Startseite */
.hh{position:relative;min-height:min(92vh,900px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--obsidian)}
.hh__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
/* Bildvariante des Kopfbereichs — Seiten ohne Hero-Video (bio, kfo) nutzen sie. */
.hh__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}.hh__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,12,.2) 0%,rgba(12,12,12,.55) 55%,rgba(12,12,12,.92) 100%)}
.hh__inner{position:relative;padding:7rem 0 4rem;max-width:900px}.hh h1{color:#fff;font-size:clamp(2.4rem,1.4rem + 4.2vw,5rem);font-weight:400}.hh h1 em{font-style:italic;color:var(--gold)}.hh .lead{color:#DDD8CF;font-size:1.2rem}.hh .eyebrow{color:var(--gold)}
.hh__vtoggle{position:absolute;right:1.2rem;bottom:1.2rem;z-index:2;background:rgba(12,12,12,.55);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.45rem .9rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(6px)}.hh__vtoggle:hover{border-color:var(--gold)}@media (max-width:900px){.hh__vtoggle{display:none}}
.ft__a11y{margin:0 0 .6rem}.ft__a11y .zk-a11y button{border-color:rgba(255,255,255,.28);color:#CFC8BE}
.ft__a11y .zk-a11y button:hover{border-color:var(--gold);color:#fff}
.route__starts{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:.7rem 0 .4rem}
.route__from{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(12,12,12,.16);font-size:.82rem;text-decoration:none;color:var(--deep)}
.route__from:hover{border-color:var(--gold);color:var(--deep)}
.hero__read{margin:1.1rem 0 0}.hero__read .zk-read{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.28);color:#fff}
.hero__read .zk-read:hover{border-color:var(--gold)}
.brushbox{margin:2.2rem 0}.brushbox h2{margin-top:.2rem}
.hh__sub{font-family:var(--mono);font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:-.4rem 0 1.2rem;padding-left:2px}.hh__sub::before{content:"";display:inline-block;width:28px;height:1px;background:var(--gold);vertical-align:middle;margin-right:.8rem}
.hh__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.8rem 0 1.4rem}.hh__trust{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#CFC8BE;margin:0;padding-right:5.5rem}.hh__trust a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}.hh__trust a:hover{color:var(--gold)}
.ft__rating a{color:var(--gold);text-decoration:none}.ft__rating a:hover{color:#fff}
.pair{margin:1.8rem 0}.pair__grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.pair__cell{position:relative;border-radius:var(--r);overflow:hidden;background:var(--bone)}.pair__cell img{width:100%;height:auto}.pair__tag{position:absolute;top:.7rem;left:.7rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;background:rgba(12,12,12,.72);color:#fff;padding:.3rem .6rem;border-radius:6px}.pair__tag--after{background:var(--deep)}.pair__cap{font-size:.9rem;color:var(--mute);margin:.6rem 0 0}.pair__cap .eyebrow{display:inline;margin-right:.6rem}
.pv__who,.pv__q{font-size:max(.78rem,12px)}
.welcome{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:4rem;align-items:center;padding:5rem 0}.welcome h2{margin-top:0}.welcome__btns{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
/* --- Startseite 04.09.2026: Situationen, Warum, Behandler, Ablauf, Technik ---------- */
.hh__focus{margin:0 0 1.3rem}.hh__focus-l{font-family:var(--mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:#CFC8BE;margin:0 0 .45rem}
.hh__focus ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.hh__focus a{display:inline-block;padding:.34rem .8rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;font-size:.82rem;text-decoration:none;background:rgba(12,12,12,.38);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:.2s}
.hh__focus a:hover,.hh__focus a:focus-visible{border-color:var(--gold);color:var(--gold-hi)}
.tech__xg{text-decoration:none}.tech__xg b{cursor:pointer;border-color:var(--gold);background:linear-gradient(180deg,#1E1B17,var(--deep));color:var(--gold-hi)}
.tech__chain strong a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gold)}
.team-photo{margin:0 0 2.5rem}.team-photo__img{width:100%;border-radius:var(--r);aspect-ratio:3/2;object-fit:cover;box-shadow:0 40px 80px -40px rgba(12,12,12,.5)}
.team-photo figcaption{margin-top:.6rem;font-size:.86rem;color:var(--mute)}
.doors{padding:4.5rem 0 1.5rem}.doors h2{max-width:26ch}
.doors__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:1.6rem}
.door{display:flex;flex-direction:column;gap:.5rem;padding:1.4rem 1.5rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.door:hover{transform:translateY(-3px);box-shadow:0 24px 50px -30px rgba(12,12,12,.5);border-color:var(--gold)}
.door:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.door__q{font-family:var(--display);font-size:1.25rem;line-height:1.25;margin:0;color:var(--deep);font-weight:500}
.door__q::before{content:"„";color:var(--gold);margin-right:.05em}.door__q::after{content:"“";color:var(--gold);margin-left:.05em}
.door__a{margin:0;color:var(--graphite);font-size:.97rem}
.door__more{margin-top:auto;padding-top:.5rem;font-weight:600;color:var(--gold-text);font-size:.9rem}
.why{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:3.5rem;align-items:center}
.why h2{margin-top:0;max-width:24ch}
.why__facts{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.8rem}
.fact{padding:.95rem 1.1rem;border-left:3px solid var(--gold);background:#fff;border-radius:0 12px 12px 0}
.fact strong{display:block;font-family:var(--display);font-size:1.15rem;font-weight:500;margin-bottom:.15rem;color:var(--deep)}
.fact span{color:var(--graphite);font-size:.95rem}
.why__rating{margin:1.2rem 0 0;font-weight:600}.why__rating a{color:var(--deep);text-decoration:none;border-bottom:1px solid var(--gold)}
.why__media .video{margin:0}
.drs{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem;align-items:center;padding:5rem 0}
.drs h2{margin-top:0}.drs__pic{position:relative}
.drs__role{color:var(--graphite);margin:0 0 .6rem}
.drs__quote{font-family:var(--display);font-size:1.35rem;line-height:1.4;color:var(--deep);margin:1.2rem 0;padding-left:1.2rem;border-left:3px solid var(--gold)}
.abl h2{margin-top:0}.abl .lead{margin-bottom:0}
.abl__steps{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;counter-reset:abl}
.abl__steps li{counter-increment:abl;padding:1rem;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.03)}
.abl__steps li::before{content:counter(abl,decimal-leading-zero);display:block;font-family:var(--mono);color:var(--gold);font-size:.78rem;letter-spacing:.14em;margin-bottom:.4rem}
.abl__steps strong{display:block;margin-bottom:.25rem;color:#fff}.abl__steps span{font-size:.9rem;color:#CFC8BE;line-height:1.45;display:block}
.tech{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3.5rem;align-items:center;padding:5rem 0}
.tech h2{margin-top:0}
.tech__chain{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.7rem}
.tech__chain li{display:grid;grid-template-columns:4.4rem 1fr;gap:.8rem;align-items:start}
.tech__chain b{display:flex;align-items:center;justify-content:center;min-height:2.2rem;padding:0 .4rem;border-radius:999px;background:var(--paper);border:1px solid var(--gold-soft,#C9A97E);font-family:var(--mono);font-size:.6rem;letter-spacing:.06em;color:var(--gold-text);text-transform:uppercase;white-space:nowrap}
.tech__chain strong{display:block}.tech__chain span{color:var(--graphite);font-size:.95rem}
.tech__img{border-radius:var(--r);width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:0 40px 80px -40px rgba(12,12,12,.5)}
@media (max-width:900px){.why,.drs,.tech{grid-template-columns:1fr;gap:2rem;padding:3rem 0}.doors{padding:3rem 0 1rem}.drs__pic{max-width:420px}}

.welcome__pic{position:relative}.welcome__photo{border-radius:var(--r);box-shadow:0 50px 100px -40px rgba(12,12,12,.6);aspect-ratio:4/5;object-fit:cover;object-position:top;width:100%}
.tm__avatar{aspect-ratio:4/5;display:grid;place-items:center;background:linear-gradient(135deg,var(--deep),#151310);color:var(--gold);font-family:var(--display);font-size:3rem}.welcome__seals{position:absolute;left:-1.5rem;bottom:1.5rem;display:flex;gap:.6rem;background:rgba(255,255,255,.92);padding:.7rem;border-radius:14px;box-shadow:0 20px 50px -20px rgba(0,0,0,.35)}.welcome__seals img{width:72px;height:72px}
.band{padding:4.5rem 0}.band--paper{background:var(--paper)}.band--dark{background:var(--deep);color:#fff}.band--dark h2{color:#fff}.band--dark .eyebrow{color:var(--gold)}.band--dark .lead{color:#DDD8CF}.band--dark .muted,.band--dark .small{color:#B3ACA3}.band h2{margin-top:0}
.spez{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:4rem;align-items:center;padding:5rem 0}.spez h2{margin-top:0}.spez__media .video{margin:0}
.strip{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:3rem;align-items:center}.strip__links{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.strip__links a{display:block;padding:.9rem 1.2rem;border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#fff;text-decoration:none;transition:.25s}.strip__links a:hover{background:rgba(173,136,100,.18);border-color:var(--gold)}
.newsblk{padding:4.5rem 0 2rem}.newsblk__head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}.newsblk h2{margin:0}
.contact{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:3rem;align-items:start}.contact h2{margin-top:0}
@media (max-width:900px){.hero__grid{grid-template-columns:minmax(0,1fr)}.hero__txt{min-width:0}h1,h2{overflow-wrap:anywhere;hyphens:auto}.welcome,.spez,.strip,.contact{grid-template-columns:1fr;gap:2.2rem;padding:3.2rem 0}.hh{min-height:78vh}.hh__inner{padding:6rem 0 5.5rem}.hh__trust{padding-right:0;max-width:calc(100% - 5rem)}.welcome__seals{left:.8rem}.band{padding:3.2rem 0}}
.kontakt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem;margin-bottom:3rem}.kontakt-grid--2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:3rem}.kcard{background:var(--paper);border-radius:var(--r);padding:1.5rem 1.6rem}.kcard h2{font-size:1.45rem;margin:.2rem 0 .6rem}.kcard h2 a{text-decoration:none;color:var(--deep)}.kcard .hours{margin:0}.kontakt-grid--2 h2{margin-top:0}
/* Reels / Netzwerk / Zertifikate */
.reels{margin:3rem 0 1rem;padding:1.8rem;background:var(--paper);border-radius:var(--r)}.reels__h{margin-top:0;font-size:1.5rem}.reels__lead{color:var(--graphite);max-width:60ch}
.reels__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin:1.2rem 0}.reels .pv__card{border-color:rgba(12,12,12,.08);box-shadow:0 14px 30px -18px rgba(12,12,12,.5)}.pv__card,.pv__card .pv__q{color:#fff}.pv__card .pv__who{color:#CFC8BE}
.reels--compact .pv__q{font-size:.95rem}.home-reels .reels{margin:4rem 0;padding:0;background:transparent}.home-reels .reels__grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.4rem}.home-reels .reels__h{font-size:clamp(1.55rem,1.2rem + 1.3vw,2.3rem)}
.net{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1.6rem}.net__card{display:flex;flex-direction:column;gap:.3rem;padding:1.1rem 1.2rem;background:#fff;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.net__card:hover{transform:translateY(-3px);box-shadow:0 24px 50px -30px rgba(12,12,12,.5)}
.net__dom{font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;color:var(--gold-text)}.net__desc{font-size:.95rem;color:var(--graphite)}
.side__net li a{color:var(--graphite);text-decoration:none}.side__net li a strong{color:var(--gold-text);font-weight:600;font-size:.9rem}.side__net li a:hover strong{text-decoration:underline}
.tm__link{display:inline-block;margin-left:.4rem;font-size:.85rem;font-weight:600}
.hero__img--portrait{aspect-ratio:4/5;max-width:380px;margin-left:auto}
.cert-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3rem;margin-bottom:3rem}.cert-intro__bio p{font-size:1.02rem}.hl{display:grid;gap:.15rem;padding:.9rem 0;border-bottom:1px solid var(--line)}.hl strong{color:var(--deep)}.hl span{font-size:.92rem;color:var(--graphite)}
.cert-cat{margin:2.5rem 0}.cert-cat h2{margin:0 0 1rem;font-size:1.5rem}.cert-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem}
.cert{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--ink);aspect-ratio:auto}.cert__pic{display:block;background:var(--bone);padding:.8rem}.cert__pic img{width:100%;height:240px;object-fit:contain;object-position:top;border-radius:6px;box-shadow:0 10px 25px -15px rgba(0,0,0,.5);background:#fff}
.cert__txt{display:grid;gap:.25rem;padding:.9rem 1rem 1.1rem}.cert__year{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;color:var(--gold-text)}.cert__txt strong{font-size:.98rem;line-height:1.3;color:var(--deep)}.cert__detail{font-size:.84rem;color:var(--graphite);line-height:1.45}
@media (max-width:900px){.cert-intro{grid-template-columns:1fr;gap:1.5rem}}
/* Siegel */
.seal{border:0;background:transparent;padding:0;cursor:pointer;border-radius:50%;transition:transform .3s var(--ease)}.seal:hover{transform:scale(1.06)}.seal:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.seal img{display:block}
.dlg--seal{max-width:560px}.dlg__body--seal{text-align:center}.dlg__body--seal>img{margin:0 auto 1rem;width:120px;height:120px;object-fit:contain}.dlg__body--seal p{text-align:left}.dlg__body--seal .cta-row{justify-content:center}
/* Team-Videos */
.tm__videos{margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--line)}.tm__vlabel{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-text);margin-bottom:.5rem}
.tm__vrow{display:flex;gap:.4rem;flex-wrap:wrap}.tm__vid{position:relative;width:96px;aspect-ratio:16/9;border:0;padding:0;border-radius:8px;overflow:hidden;cursor:pointer;background:#000;flex:0 0 auto;box-shadow:0 8px 18px -10px rgba(0,0,0,.6)}
.tm__vid img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.85);transition:transform .4s var(--ease)}.tm__vid:hover img{transform:scale(1.06)}.tm__play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:.8rem;text-shadow:0 2px 8px rgba(0,0,0,.8)}
.tm__vmore.pv__card{width:44px;aspect-ratio:16/9;border:1px solid rgba(216,180,106,.7);border-radius:8px;background:linear-gradient(180deg,#1E1B17,var(--deep));color:#fff;font:600 .8rem var(--body);cursor:pointer;display:grid;place-items:center;flex:0 0 auto}
.dlg .reels{padding:1.2rem;margin:1.5rem 0 0}.dlg .reels__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
/* Footer */
.ft{background:var(--obsidian);color:#CFC8BE;padding:4rem 0 7rem;margin-top:2rem}.ft__bottom{padding-right:15rem}@media (max-width:820px){.ft__bottom{padding-right:0;padding-bottom:5rem}}.ft .muted{color:#B3ACA3}.ft li a{hyphens:auto}.ft a{color:#fff;text-decoration:none}.ft a:hover{color:var(--gold)}.ft__col--brand a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px}.ft li a{display:inline-block;padding:.25rem 0;overflow-wrap:anywhere}.ft .btn{white-space:nowrap}.ft__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr 1.1fr;gap:1.8rem}.ft__col h3+ul+h3{margin-top:1.4rem}.ft h3{color:#fff;font-family:var(--mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;margin:0 0 1rem}
.ft ul{list-style:none;margin:0;padding:0}.ft li{margin:.35rem 0;font-size:.92rem}.ft__col--brand img{height:40px;width:auto;margin-bottom:1rem}.ft__rating{color:var(--gold);font-size:.9rem}.ft__seals{display:flex;gap:.6rem}.ft__seals img{width:64px;height:64px;background:#fff;border-radius:50%;padding:4px}
.ft .hours th{color:var(--gold)}.ft .hours th,.ft .hours td{border-color:rgba(255,255,255,.1);color:#E2DDD4}.ft__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;border-top:1px solid rgba(255,255,255,.1);margin-top:2.5rem;padding-top:1.4rem;font-size:.85rem}.ft__bottom ul{display:flex;flex-wrap:wrap;gap:1.2rem;list-style:none;margin:0;padding:0}
@media (max-width:1100px){.ft__grid{grid-template-columns:repeat(3,1fr)}.ft__col--brand{grid-column:1/-1}}@media (max-width:760px){.ft__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.ft__grid{grid-template-columns:1fr}}
.legal h2{font-size:1.3rem}.legal code{font-family:var(--mono);font-size:.9em;background:var(--paper);padding:.1em .4em;border-radius:4px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.hh__video{display:none}}

/* implantat.center: Landingpage (nur Anordnung, Farben und Schriften aus dem Designsystem) */
.hh--ic{min-height:0}
.hh--ic .hh__inner{padding:5.5rem 0 3.2rem;max-width:980px}
.hh--ic h1{font-size:clamp(2.1rem,1.2rem + 3.6vw,4.2rem)}
.ic-anker{display:inline-flex;flex-direction:column;gap:.25rem;margin:1.1rem 0 .2rem;padding:1rem 1.25rem;border:1px solid rgba(173,136,100,.55);border-radius:14px;background:rgba(12,12,12,.55)}
.ic-anker__l{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-hi)}
.ic-anker__w{font-family:var(--display);font-size:clamp(1.5rem,1.1rem + 1.6vw,2.2rem);line-height:1.15;color:#fff}
.ic-anker__w strong{color:var(--gold-hi);font-weight:500}
.ic-anker__h{font-size:.88rem;color:#CFC8BE;max-width:60ch}
.ic-tel{margin:.2rem 0 1.2rem;color:#DDD8CF}
.ic-tel a{color:#fff;font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold)}
.ic-kosten{padding:4.5rem 0 1rem}
.ic-kosten h2{margin-top:0}
.ic-preise{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.8rem 0 1rem;padding:0;list-style:none}
.ic-preis{display:flex;flex-direction:column;gap:.35rem;padding:1.3rem 1.3rem 1.2rem;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.ic-preis__s{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);margin:0}
.ic-preis h3{margin:0;font-size:1.2rem;line-height:1.25}
.ic-preis__w{font-family:var(--display);font-size:1.7rem;line-height:1.1;color:var(--deep);margin:.35rem 0 0;font-variant-numeric:tabular-nums}
.ic-preis__w--lang{font-size:1.42rem}
.ic-preis__u{font-size:.88rem;color:var(--mute);margin:0 0 .4rem}
.ic-preis dl{margin:.2rem 0 .4rem;display:grid;gap:.3rem}
.ic-preis dl div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.8rem;border-top:1px solid var(--line);padding-top:.35rem;font-size:.92rem}
.ic-preis dt{color:var(--graphite);min-width:0}
.ic-preis dt small{display:block;font-size:.8rem;color:var(--mute)}
.ic-preis dd{margin:0;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
.ic-preis__n{font-size:.88rem;color:var(--graphite);margin:.2rem 0 0}
.ic-preis__a{margin-top:auto;padding-top:.6rem;font-weight:600;color:var(--gold-text);font-size:.92rem}
.ic-hinweis{font-size:.9rem;color:var(--mute);max-width:74ch}
.ic-inkl{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem 3rem;padding:1rem 0 3rem}
.ic-inkl h3{margin-top:0}
.ic-lagen{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.6rem}
.ic-lagen .door{cursor:default}
.ic-lagen .door__q::before,.ic-lagen .door__q::after{content:none}
.ic-lagen .door:hover{transform:none;box-shadow:none;border-color:var(--line)}
.ic-lagen .door__more{text-decoration:none}
.ic-lagen .door__more:hover{text-decoration:underline}
.ic-garantie{margin:1.2rem 0 0;padding:1rem 1.1rem;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:.92rem;color:var(--graphite)}
.ic-garantie strong{color:var(--deep)}
.ic-quali{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.45rem}
.ic-quali li{padding-left:1.2rem;position:relative;line-height:1.45}
.ic-quali li::before{content:"";position:absolute;left:0;top:.6em;width:.5rem;height:.5rem;border-radius:50%;background:var(--gold)}
.ic-summe{margin:1.4rem 0 0;color:#DDD8CF}
.ic-faq{max-width:860px}
.ic-abschluss{text-align:center}
.ic-abschluss .cta-row{justify-content:center}
.ic-abschluss .lead{margin-inline:auto}
.ft__cookie{background:none;border:0;padding:0;margin:0;font:inherit;line-height:inherit;color:inherit;cursor:pointer}
.ft__cookie:hover,.ft__cookie:focus-visible{color:var(--gold-hi)}
/* X-Guide-Sektion: das gemeinsame Modul bringt noch Marineblau und Tuerkis mit (vor dem
   Markenwechsel 22.08.2026) — hier auf die Markenfarben gezogen, das Modul bleibt unberuehrt */
html body .xg-section{background:linear-gradient(180deg,var(--deep),#151310)}
html body .xg-eyebrow{color:var(--gold)}
/* Offenes Mobilmenue: der Cookie-Dialog darf die Menuepunkte nicht verdecken */
html body.nav-open #cookie-banner{visibility:hidden}
.ic-mbar{display:none}
@media (max-width:900px){
  .hh--ic .hh__inner{padding:2.2rem 0 2.4rem}
  .hh--ic h1{font-size:clamp(1.9rem,1.1rem + 3.6vw,2.6rem)}
  .hh--ic .lead{font-size:1.05rem}
  .ic-anker{margin-top:.6rem;padding:.85rem 1rem}
  .ic-anker__h{font-size:.8rem}
  .ic-kosten{padding:3rem 0 .5rem}
}
@media (max-width:820px){
  .ic-mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;
    background:rgba(12,12,12,.95);border-top:1px solid rgba(255,255,255,.12);padding-bottom:env(safe-area-inset-bottom);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
  .ic-mbar__btn{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:56px;color:#fff;text-decoration:none;font-weight:600;font-size:.98rem}
  .ic-mbar__btn svg{width:18px;height:18px}
  .ic-mbar__btn--cta{background:var(--gold);color:var(--deep)}
  .ic-mbar a.ic-mbar__btn:hover{color:#fff}
  .ic-mbar a.ic-mbar__btn--cta:hover{color:var(--deep)}
  body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}
  .ic-tel{display:none}
  /* Rezeptions-Button schwebt ueber der Leiste, nicht darauf (Flotte: 78 px ueber 64 px) */
  html:root{--zk-rez-base-mobile:70px}
  body.nav-open .ic-mbar{display:none}
}

/* drflex-consent-module — aus master_template.html extrahiert, nicht von Hand pflegen */
#cookie-banner,#zk-rez,#tb-gate{--bone:#EBE6DD;--champagne-text:#7A5A38;--champagne-soft:#C9A97E;--obsidian:#0A0A0A;--ease-luxe:cubic-bezier(.2,.9,.1,1);--ink:#050505;}
:root{--zk-rez-base-mobile:26px}
#zk-rez{position:fixed;right:30px;bottom:var(--zk-rez-bottom,30px);z-index:9400;display:flex;align-items:center;gap:14px;
  padding:9px 9px 9px 20px;border:1px solid rgba(20,48,46,.08);border-radius:100px;background:#fff;
  color:#171412;text-decoration:none;box-shadow:0 8px 32px rgba(30,31,31,.1);cursor:pointer;text-align:left;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  transition:transform .16s cubic-bezier(.22,.61,.36,1),box-shadow .16s cubic-bezier(.22,.61,.36,1),bottom .35s cubic-bezier(.22,.61,.36,1);}
html body #dr-flex-reception-button{bottom:var(--zk-rez-bottom,30px) !important;
  transition:transform .16s cubic-bezier(.22,.61,.36,1),box-shadow .16s cubic-bezier(.22,.61,.36,1),bottom .35s cubic-bezier(.22,.61,.36,1) !important}
#zk-rez:hover{transform:translateY(-2px);box-shadow:0 20px 60px rgba(19,47,45,.22),0 18px 36px -18px rgba(34,85,80,.5)}
#zk-rez:focus-visible{outline:3px solid #8A6A4A;outline-offset:3px}
#zk-rez[hidden]{display:none !important}
.zk-rez__t{display:flex;flex-direction:column}
.zk-rez__l{display:block;font-size:14px;line-height:1.2;font-weight:600;white-space:nowrap;color:#171412}
.zk-rez__s{display:block;font-size:11.5px;line-height:1.2;font-weight:400;opacity:.68;margin-top:1px;white-space:nowrap;color:#171412}
.zk-rez__i{position:relative;display:grid;place-items:center;width:46px;height:46px;min-width:46px;border-radius:50%;flex:none;color:#fff;
  background:radial-gradient(circle at 32% 28%,#3cc6e8 0%,#8A6A4A 62%,#00789b 100%);
  box-shadow:0 6px 18px -6px rgba(0,161,204,.6),0 1px 0 rgba(255,255,255,.4) inset}
.zk-rez__i::before{content:"";position:absolute;inset:-7px;border-radius:50%;background:radial-gradient(circle,rgba(0,161,204,.5),transparent 68%);filter:blur(6px);z-index:0;
  animation:zkRezPulse 4.5s cubic-bezier(.22,.61,.36,1) infinite}
.zk-rez__i::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(0,161,204,.9);pointer-events:none;
  animation:zkRezRing 1.6s cubic-bezier(.22,.61,.36,1) infinite}
.zk-rez__i svg{display:block;width:46%;height:46%;position:relative;z-index:2}
@keyframes zkRezPulse{0%,100%{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.08)}}
@keyframes zkRezRing{0%{transform:scale(1);opacity:.85}100%{transform:scale(1.55);opacity:0}}
@media (max-width:820px){/* --zk-rez-base-mobile: 78px = ueber der Termin-Leiste; Seiten ohne Leiste setzen 26px */
  #zk-rez{right:18px;bottom:var(--zk-rez-bottom,calc(var(--zk-rez-base-mobile,78px) + env(safe-area-inset-bottom)));gap:10px;padding:9px 9px 9px 16px}html body #dr-flex-reception-button{right:18px !important;bottom:var(--zk-rez-bottom,calc(var(--zk-rez-base-mobile,78px) + env(safe-area-inset-bottom))) !important}}
@media (max-width:820px){html.zk-banner-open #zk-rez{padding:6px;gap:0}html.zk-banner-open #zk-rez .zk-rez__t{display:none}html.zk-banner-open #dr-flex-reception-button #dr-flex-reception-button-text{display:none !important}html.zk-banner-open #dr-flex-reception-button{padding:6px !important;min-width:0 !important;width:auto !important}}
@media (max-width:767px){.zk-rez__l{font-size:13px}.zk-rez__i{width:38px;height:38px;min-width:38px}}
html body:has(#dr-flex-reception-button) #zk-rez,
html body:has(.nav.is-menu-open) #cookie-banner{ visibility:hidden; }
html body:has(.nav.is-menu-open) #zk-rez,
html body:has(.nav.is-menu-open) #dr-flex-reception-button,
html body:has(.sm:not([hidden])) #zk-rez,
html body:has(.sm:not([hidden])) #dr-flex-reception-button,
html body:has(.lm:not([hidden])) #zk-rez,
html body:has(.lm:not([hidden])) #dr-flex-reception-button,
html body:has(#zkPP:not([hidden])) #zk-rez,
html body:has(#zkPP:not([hidden])) #dr-flex-reception-button,
html body:has(.pv__lb.is-open) #zk-rez,
html body:has(.pv__lb.is-open) #dr-flex-reception-button,
html body:has(.xg-lightbox.open) #zk-rez,
html body:has(.xg-lightbox.open) #dr-flex-reception-button{display:none !important}
@media (prefers-reduced-motion:reduce){.zk-rez__i::before,.zk-rez__i::after{animation:none}}
#cookie-banner{
  position: fixed;
  left: 24px; right: 24px; bottom: 24px;
  max-width: 560px; margin: 0 auto;
  background: rgba(12,12,12,0.88);
  color: var(--bone);
  -webkit-backdrop-filter: blur(24px) saturate(140%);
  backdrop-filter: blur(24px) saturate(140%);
  border: 1px solid rgba(201,169,110,.25);
  border-radius: 4px;
  padding: 22px 24px 20px;
  box-shadow: 0 24px 60px -16px rgba(0,0,0,.55), 0 2px 8px rgba(0,0,0,.35);
  z-index: 9500;
  font-family: Inter, system-ui, sans-serif;
  font-size: 13.5px;
  line-height: 1.55;
}
#cookie-banner::before{
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg, transparent, var(--champagne-soft), transparent);
  opacity:.6;
}
#cookie-banner .cb__title{
  font-family: Fraunces, Georgia, serif; font-weight: 500;
  font-size: 16px; color: var(--bone); margin-bottom: 8px; letter-spacing:.01em;
}
#cookie-banner .cb__text{ margin: 0 0 14px; color: rgba(239,233,224,.82); font-size: 13.5px; }
#cookie-banner .cb__actions{ display:flex; gap:10px; margin-bottom: 12px; flex-wrap: wrap; }
#cookie-banner .cb__btn{
  flex: 1 1 0; min-width: 140px;
  font: 500 13px/1 Inter, system-ui, sans-serif;
  letter-spacing:.05em; text-transform: uppercase;
  padding: 12px 18px; border-radius: 2px; cursor: pointer;
  border: 1px solid var(--champagne-soft);
  background: var(--champagne-soft); color: var(--obsidian);
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
#cookie-banner .cb__btn--reject{ background: transparent; color: var(--bone); }
#cookie-banner .cb__btn:hover{ background: var(--champagne-text); color: var(--obsidian); border-color: var(--champagne-text); }
#cookie-banner .cb__btn:focus-visible{ outline: 2px solid var(--champagne-soft); outline-offset: 2px; }
#cookie-banner .cb__meta{ font-size: 12px; color: rgba(239,233,224,.62); }
#cookie-banner .cb__meta a{ color: rgba(239,233,224,.82); text-decoration: underline; text-underline-offset: 2px; }
#cookie-banner .cb__meta a:hover{ color: var(--champagne-soft); }
#cookie-banner .cb__close{
  position: absolute; top: 10px; right: 10px;
  background: transparent; border: 0; color: rgba(239,233,224,.62);
  width: 44px; height: 44px; border-radius: 2px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; line-height: 1;
}
#cookie-banner .cb__close:hover{ color: var(--bone); background: rgba(239,233,224,.08); }
@media (max-width: 560px){#cookie-banner{ left: 16px; right: 16px; bottom: 16px; padding: 18px 20px 16px; }#cookie-banner .cb__actions .cb__btn{ min-width: 0; }}
#cookie-banner .cb__meta a{
  display:inline-block; padding:9px 4px; min-height:24px;
}
/* Hauptseiten-Overlays: Rezeptions-Button weicht der Bild-Lightbox */
html body:has(.lb:not([hidden])) #zk-rez,
html body:has(.lb:not([hidden])) #dr-flex-reception-button{display:none !important}
