:root{--orange:#f78b26;--orange-d:#d96f0e;--blue:#024a97;--blue-l:#2a6fb5;--navy:#0d2742;--gray:#f3f7fc;--line:#e4ebf3;--text:#33425a}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Segoe UI",system-ui,sans-serif;color:var(--text);background:#fff;line-height:1.65}
a{color:inherit;text-decoration:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 26px}
.btn{display:inline-block;padding:14px 28px;border-radius:999px;font-weight:700}
.b1{background:var(--orange);color:#fff;box-shadow:0 10px 24px #f78b2655}.b1:hover{background:var(--orange-d)}
.b2{border:2px solid #ffffffcc;color:#fff}.b2:hover{background:#ffffff22}
.bo{border:2px solid var(--blue);color:var(--blue)}.bo:hover{background:#024a970d}
.k{color:var(--blue);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}
picture{display:contents}

/* Barrierefreiheit: Skip-Link + sichtbarer Fokus */
.skip{position:absolute;left:8px;top:-48px;z-index:100;background:var(--navy);color:#fff;padding:10px 16px;border-radius:8px;font-weight:700;transition:top .2s ease}
.skip:focus{top:8px}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:4px}

/* Feste Kontaktleiste unten (nur mobil): links Anrufen, rechts E-Mail */
.cbar{display:none}
@media(max-width:820px){
  .cbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:55;box-shadow:0 -4px 16px #0d27421f}
  .cbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-weight:800;font-size:1rem;text-align:center;padding:15px 8px;padding-bottom:calc(15px + env(safe-area-inset-bottom))}
  .cbar-call{background:var(--orange)}
  .cbar-mail{background:var(--blue)}
  .cbar a:active{filter:brightness(.92)}
  body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}
}

/* Header */
header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 12px #0d27420a}
.nav{display:flex;align-items:center;gap:24px;padding:10px 0}
.nav .logo img{height:118px;display:block}
.nav nav{flex:1;justify-content:center;display:flex;gap:22px;font-weight:600;color:var(--navy);align-items:center;flex-wrap:wrap}
.nav-contact{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.nav nav a:not(.tel):not(.mail),.nav nav span.active{position:relative;padding:6px 2px}
.nav nav a:not(.tel):not(.mail):hover{color:var(--orange-d)}
.nav nav span.active{color:var(--orange-d)}
.nav nav span.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--orange);border-radius:2px}
.nav .tel,.nav .mail{border:2px solid var(--blue);color:var(--blue);padding:6px 14px;border-radius:999px;font-weight:700;font-size:.88rem;text-align:center}
.nav .tel:hover,.nav .mail:hover{background:var(--blue);color:#fff}
.navtoggle{display:none;background:none;border:0;cursor:pointer;padding:8px;margin-left:auto;flex-direction:column;gap:5px}
.navtoggle span{width:26px;height:3px;background:var(--navy);border-radius:2px;transition:.25s}
.navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media(max-width:820px){
  .nav{padding-left:20px;padding-right:26px}
  .nav .logo img{height:78px}
  .nav{position:relative;flex-wrap:wrap}
  .navtoggle{display:flex}
  .nav nav{position:absolute;top:100%;left:0;right:0;margin:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:6px 0;border-bottom:1px solid var(--line);box-shadow:0 12px 24px #0d27421a;display:none}
  .nav nav.open{display:flex}
  .nav nav a:not(.tel):not(.mail),.nav nav span.active{padding:13px 26px}
  .nav nav span.active::after{display:none}
  .nav nav span.active{border-left:4px solid var(--orange);background:#fff7ee}
  .nav-contact{display:none}
}

/* Hero (Startseite) – Text auf Bild im blauen Kasten (30% transparent) */
.hero{position:relative;min-height:460px;display:flex;align-items:stretch;color:#fff;overflow:hidden}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease}
.hero img.bg.on{opacity:1}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d274240,transparent 60%)}
.hero .wrap{position:relative;z-index:2;width:100%;display:flex;align-items:stretch;padding-top:10px;padding-bottom:10px}
.hero .inner{max-width:500px;background:rgba(2,74,151,.7);backdrop-filter:blur(2px);border-radius:16px;padding:22px 26px;box-shadow:0 18px 40px #0d274238;display:flex;flex-direction:column;justify-content:center}
.hero .k{color:#ffd9a8}
.hero h1{font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.07;margin:6px 0 10px;color:#fff}
.hero h1 .o{color:var(--orange)}
.hero h1 a{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:#ffffff80;transition:text-decoration-color .2s ease}
.hero h1 a:hover{text-decoration-color:var(--orange)}
.hero .lead{font-size:1.06rem;color:#eaf1fb;margin:0 0 12px}
.hero .note{font-size:.92rem;color:#dbe6f5;margin:0 0 16px;padding-left:12px;border-left:3px solid var(--orange)}
.hero .note a{color:#ffd9a8;font-weight:700;text-decoration:underline}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap}

/* Unterseiten-Hero (navy Band) */
.phero{background:var(--navy);color:#fff;padding:46px 0}
.phero .k{color:#ffd9a8}
.phero h1{font-size:clamp(1.9rem,4.4vw,2.8rem);margin-top:8px;line-height:1.12;color:#fff}
.phero p{color:#cdddf2;margin-top:10px;font-size:1.08rem;max-width:62ch}

.badges{background:var(--gray)}.badges .wrap{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;padding:18px 26px}
.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-weight:700;color:var(--blue)}

section{padding:74px 0}
.sechead{text-align:center;max-width:680px;margin:0 auto 46px}
.sechead h2{font-size:clamp(1.8rem,3.8vw,2.5rem);color:var(--navy);margin-top:8px}.sechead p{margin-top:10px}

/* Team */
.team{background:#fff}.tgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:28px}
.member{text-align:center}
.member .ph{width:172px;height:172px;border-radius:50%;object-fit:cover;margin:0 auto 16px;border:4px solid #fff;box-shadow:0 14px 30px #0d274220}
.member .ph-mono{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;font-weight:800;font-size:3rem;letter-spacing:.03em}
.member h3{color:var(--navy);font-size:1.12rem}.member span{color:var(--blue);font-weight:600;font-size:.92rem}
.team .extra{text-align:center;margin-top:34px;color:#5a6b85}
@media(max-width:1080px){.tgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.tgrid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.member .ph{width:160px;height:160px}}

/* Leistungs-Karten */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--gray);border-radius:12px;padding:26px 24px}
.card h3{color:var(--navy);font-size:1.12rem;margin-bottom:6px}.card p{font-size:.95rem}
.card-link{margin-top:10px}.card-link a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}.card-link a:hover{color:var(--orange-d)}
@media(max-width:900px){.svc{grid-template-columns:1fr 1fr}}@media(max-width:560px){.svc{grid-template-columns:1fr}}
.sec-cta{text-align:center;margin-top:34px}

/* Philosophie-Teaser (Variante 1: getöntes Panel) */
.philo{background:var(--gray)}
.philo .panel{max-width:880px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:50px 52px;box-shadow:0 22px 50px #0d274214;text-align:center}
.philo .panel .sechead{margin-bottom:18px}
.philo .panel .prose{margin-bottom:0}
@media(max-width:560px){.philo .panel{padding:34px 24px}}

/* Leistungsarten-Chips */
.ways{background:var(--gray)}.ways .wrap{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:30px 26px}

/* Versprechen */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:38px 28px 32px;text-align:center;box-shadow:0 16px 38px #0d27420f}
.pcard .n{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--orange-d));color:#fff;font-weight:800;font-size:1.35rem;display:grid;place-items:center;margin:0 auto 18px;box-shadow:0 10px 22px #f78b2255}
.pcard h3{color:var(--navy);font-size:1.14rem;margin-bottom:6px}.pcard p{font-size:.96rem}
@media(max-width:820px){.pgrid{grid-template-columns:1fr}}

/* Bewertungen / Testimonials */
.reviews{background:#fff}
.rev-sum{margin-top:12px;color:var(--text)}
.rev-sum strong{color:var(--navy)}
.rev-stars{color:var(--orange);letter-spacing:1px;white-space:nowrap}
.rev-stars .st{color:#d7e0ec}.rev-stars .st.on{color:var(--orange)}
.rev-note{text-align:center;color:#6a7790;font-size:.85rem;margin:-30px 0 30px}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rev-card{margin:0;background:var(--gray);border:1px solid var(--line);border-radius:14px;padding:24px 22px;display:flex;flex-direction:column;gap:12px}
.rev-card .rev-stars{font-size:1.05rem}
.rev-card blockquote{margin:0;color:var(--text);font-size:.97rem;line-height:1.6}
.rev-card figcaption{margin-top:auto;color:var(--navy);font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:10px}
.rev-card .rev-src{font-size:.72rem;font-weight:800;letter-spacing:.04em;color:#4285F4;text-transform:uppercase}
@media(max-width:820px){.rev-grid{grid-template-columns:1fr}}

/* Galerie */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gal picture{display:block;min-width:0}.gal img{display:block;width:100%;height:220px;object-fit:cover;border-radius:12px}
@media(max-width:760px){.gal{grid-template-columns:1fr 1fr}.gal img{height:170px}}

/* Preistabelle */
.ptable{max-width:820px;margin:0 auto;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 14px 32px #0d27420f}
.ptable .row{display:flex;justify-content:space-between;gap:18px;padding:15px 22px;border-bottom:1px solid var(--line)}
.ptable .row:last-child{border-bottom:0}
.ptable .row:nth-child(even){background:var(--gray)}
.honorar{max-width:780px;margin:0 auto 26px}
.honorar .hon-lead{font-weight:600;color:var(--navy);margin-bottom:12px}
.honorar .hon-vertrag{margin-top:10px}
.honorar .hon-vertrag h3{color:var(--navy);font-size:1.08rem;margin:16px 0 6px}
.honorar .hon-vertrag p{margin-bottom:10px}
.ptable .l{color:var(--navy);font-weight:600}
.ptable .l small{display:block;color:#6a7790;font-weight:400;font-size:.85rem;margin-top:2px}
.ptable .p{color:var(--orange-d);font-weight:700;white-space:nowrap}
.pnote{max-width:820px;margin:16px auto 0;font-size:.9rem;color:#6a7790;text-align:center}
.prose{max-width:820px;margin:0 auto 40px;text-align:center}.prose p{margin:0 auto;max-width:64ch}
.prose p+p{margin-top:14px}
.banner{margin:0 auto 40px;max-width:960px;border-radius:16px;overflow:hidden;box-shadow:0 20px 46px #0d27421f}
.banner img{display:block;width:100%;height:auto}

/* Adresse & Anfahrt */
.anfahrt{background:#fff}
.anfahrt .grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:stretch}
.adr h3{color:var(--navy);font-size:1.2rem;margin-bottom:4px}
.adr .blk{padding:14px 0;border-bottom:1px solid var(--line)}
.adr .blk:last-child{border:0}
.adr .lbl{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);font-weight:700;margin-bottom:4px}
.adr p{margin:1px 0}.adr a{color:var(--orange-d);font-weight:600}
.kontakt-blk{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.kontakt-main{flex:1;min-width:210px}
.qr-box{margin:0;flex:0 0 auto;text-align:center}
.qr-box .qr{width:160px;height:160px;border:1px solid var(--line);border-radius:8px;display:block}
.qr-box figcaption{font-size:.75rem;color:#6a7790;margin-top:6px;max-width:160px}
.anf-right{display:flex;flex-direction:column;gap:18px}
.anf-foto{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:0 14px 34px #0d274212;background:#fff}
.anf-foto .ssw{position:relative;height:240px}
.anf-foto .sl{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity 1.2s ease}
.anf-foto .sl.on{opacity:1}
.anf-foto figcaption{font-size:.82rem;color:#6a7790;padding:10px 14px}
.map{flex:1;min-height:340px;border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:0 14px 34px #0d274212}
.map iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
@media(max-width:820px){.anfahrt .grid{grid-template-columns:1fr}.map{min-height:300px}.map iframe{min-height:300px}.anf-foto .ssw{height:200px}}

/* Navy CTA + Footer */
.cta-big{background:linear-gradient(120deg,var(--navy),var(--blue));color:#fff;text-align:center}
.cta-big section{padding:42px 0}
.cta-big h2{color:#fff;font-size:clamp(1.5rem,3.4vw,2.1rem)}.cta-big .num{font-size:1.9rem;font-weight:800;color:var(--orange);margin:6px 0}
.cta-big .acts{margin-top:14px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
footer{background:#fff;border-top:1px solid var(--line);padding:30px 0;text-align:center}footer p{color:#6a7790;font-size:.9rem}footer a{color:var(--blue)}

/* Klick-zu-Laden Karte (DSGVO) */
.mapwrap{position:relative}
.mapprev{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.mapload{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;background:rgba(13,39,66,.34);padding:26px}
.mapload strong{color:#fff;font-size:1.08rem;text-shadow:0 1px 4px #0d274273}
.mapload p{max-width:42ch;font-size:.9rem;color:#eaf1fb;text-shadow:0 1px 3px #0d27425e}
.mapload .btn{cursor:pointer}

/* Info-Karten (Patienteninfos, schlicht, ohne Farb-Akzent) */
.infocards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.infocard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 24px;box-shadow:0 10px 28px #0d27420a}
.infocard .kick{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#6a7790;font-weight:800;margin-bottom:10px}
.infocard h3{color:var(--navy);font-size:1.06rem;margin-bottom:8px}
.infocard p{font-size:.94rem}
@media(max-width:820px){.infocards{grid-template-columns:1fr}}

/* Patienteninfos: Blöcke, FAQ, Downloads */
.iblocks{max-width:820px;margin:0 auto;display:grid;gap:16px}
.iblk{background:#eaf2fb;border:1px solid #d6e4f5;border-radius:12px;padding:20px 22px}
.iblk h3{color:var(--navy);font-size:1.08rem;margin-bottom:6px}.iblk p{font-size:.97rem}
.faq{max-width:820px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.faq summary{cursor:pointer;padding:16px 20px;font-weight:700;color:var(--navy);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--orange);font-size:1.5rem;font-weight:700;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 20px 18px;color:var(--text);font-size:.97rem}
/* Dokumente-Leiste (kompakt, ganz oben) */
.dl-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--gray);border:1px solid var(--line);border-radius:12px;padding:12px 16px}
.dl-bar strong{color:var(--navy)}
.dl-pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:600;color:var(--navy)}
.dl-pill:hover{border-color:var(--orange);box-shadow:0 6px 14px #0d27420d}
.dl-pill span{font-size:.7rem;font-weight:800;color:var(--orange-d);text-transform:uppercase;letter-spacing:.05em}
.downloads{max-width:820px;margin:0 auto;display:grid;gap:10px}
.dl{display:flex;align-items:center;gap:12px;background:var(--gray);border:1px solid var(--line);border-radius:10px;padding:14px 18px;color:var(--navy);font-weight:600}
.dl:hover{background:#fff;box-shadow:0 8px 20px #0d27420f}
.dl .ic{color:var(--orange-d);font-size:1.15rem}
.dl .typ{margin-left:auto;font-size:.74rem;color:#6a7790;font-weight:700;text-transform:uppercase;letter-spacing:.06em}

/* Öffnungszeiten */
.hours{max-width:540px;margin:0 auto;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 14px 32px #0d27420f}
.hours .row{display:flex;justify-content:space-between;gap:14px;padding:14px 22px;border-bottom:1px solid var(--line)}
.hours .row:last-child{border:0}.hours .row:nth-child(even){background:var(--gray)}
.hours .t{color:var(--navy);font-weight:600}.hours .z{color:var(--text);white-space:nowrap}
.hours .t-day{font-weight:500}.hours .t-day::before{content:"· ";color:#9aa7bd}
@media(max-width:760px){.hours .row{align-items:flex-start}.hours .t-day{display:block}.hours .t-day::before{content:none}}

/* Fließtext mit Zwischenüberschriften (Patienteninfos) */
.infotext{max-width:820px;margin:0 auto}
.infotext h3{color:var(--navy);font-size:1.18rem;margin:30px 0 10px;display:inline-block}
.infotext h3:first-child{margin-top:0}
.infotext p{margin:0 0 14px}

/* Zurück-Link (Textbereich) */
.backlink{display:inline-block;color:var(--orange-d);font-weight:700;font-size:.95rem;margin-bottom:18px}
.backlink:hover{text-decoration:underline}

/* Rechtstexte (Impressum/Datenschutz) + Erklärung */
.legal{max-width:820px;margin:0 auto}
.legal .lead{font-size:1.12rem;color:var(--navy);font-weight:600}
.legal .sign{margin-top:28px;font-style:italic;color:var(--navy)}
.legal h2{color:var(--navy);font-size:1.2rem;margin:28px 0 10px;font-weight:700}
.legal h2:first-of-type{margin-top:0}
.legal p{margin:0 0 14px}.legal a{color:var(--orange-d);font-weight:600}
.legal ul{margin:0 0 14px 22px}.legal li{margin:6px 0}

/* Gutschein-/Promo-Band */
.promo{background:#fff7ee;border-top:1px solid #f4d9b8;border-bottom:1px solid #f4d9b8}
.promo .wrap{display:flex;gap:30px;align-items:center;flex-wrap:wrap}
.promo .ic{font-size:2.8rem;line-height:1}
.promo .tx{flex:1;min-width:280px}
.promo .tx .k{color:var(--orange-d)}
.promo .tx h2{color:var(--navy);font-size:clamp(1.4rem,3vw,2rem);margin:6px 0 8px}
.promo .tx p{max-width:64ch;color:#5b4327}
.promo .promo-cta{font-weight:700;color:var(--orange-d);margin-top:6px}
@media(max-width:700px){.promo .wrap{flex-direction:column;align-items:flex-start}}

/* Leistungen & Kompetenzen – Häkchen-Liste */
.complist{max-width:920px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;list-style:none}
.complist li{position:relative;padding:11px 0 11px 28px;border-bottom:1px solid var(--line);color:var(--navy);font-weight:600;font-size:.97rem}
.complist li::before{content:"✓";position:absolute;left:2px;top:11px;color:var(--orange);font-weight:800}
.subhead{max-width:920px;margin:40px auto 16px;color:var(--navy);font-size:1.15rem;font-weight:700;display:inline-block}
@media(max-width:680px){.complist{grid-template-columns:1fr}}

/* Animationen (dezent) */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
  .reveal.in{opacity:1;transform:none}
  .hero .inner{animation:heroIn .8s cubic-bezier(.22,.61,.36,1) both}
  @keyframes heroIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
  /* Ken-Burns: durchgehender, sehr langsamer Zoom auf ALLEN Slides
     (infinite alternate) -> kein Zurückschnappen beim Ein-/Ausblenden,
     daher ruckelfreie Überblendung. */
  .hero img.bg{animation:kenburns 28s ease-in-out infinite alternate;will-change:transform,opacity;backface-visibility:hidden;transform:translateZ(0)}
  @keyframes kenburns{from{transform:scale(1.06)}to{transform:scale(1.14)}}
  .btn{transition:transform .15s ease,background .2s ease,box-shadow .2s ease}
  .btn:hover{transform:translateY(-2px)}
  .member .ph{transition:transform .4s ease,box-shadow .4s ease}
  .member:hover .ph{transform:scale(1.05);box-shadow:0 18px 38px #0d274233}
  .gal img{transition:transform .5s ease}
  .gal img:hover{transform:scale(1.05)}
  .card,.pcard{transition:background .2s ease,box-shadow .25s ease,transform .25s ease}
  .card:hover{background:#fff;box-shadow:0 14px 32px #0d274214;transform:translateY(-4px)}
  .pcard:hover{box-shadow:0 14px 32px #0d274214;transform:translateY(-4px)}
  header{transition:box-shadow .25s ease}
  header.scrolled{box-shadow:0 8px 24px #0d27421f}
}
@media (prefers-reduced-motion: reduce){
  .card:hover{background:#fff;box-shadow:0 14px 32px #0d274214}
}

/* Abrechnungswege-Kacheln (Hub auf Leistungen) */
.abrg{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1000px;margin:0 auto}
.abr{display:flex;flex-direction:column;background:var(--gray);border:1px solid var(--line);border-radius:14px;padding:20px 22px;color:var(--navy);transition:background .2s ease,box-shadow .25s ease,transform .25s ease}
.abr:hover{background:#fff;box-shadow:0 14px 32px #0d274214;transform:translateY(-4px)}
.abr h3{color:var(--navy);font-size:1.08rem;margin:0 0 6px}
.abr p{color:#5a6a82;font-size:.95rem;margin:0 0 14px;flex:1}
.abr .more{color:var(--orange-d);font-weight:700;font-size:.92rem}
@media(max-width:900px){.abrg{grid-template-columns:1fr 1fr}}@media(max-width:560px){.abrg{grid-template-columns:1fr}}

/* zentrierte Zwischenüberschrift */
.subhead-w{text-align:center}

/* Info-Kästen für die wiederkehrenden Textpassagen der Preisseite */
.infobox{background:#eef5fc;border:1px solid #d6e6f7;border-radius:12px;padding:16px 20px;margin:0 0 18px;color:var(--text);max-width:none}
.infobox p{margin:0 0 10px}
.infobox p:last-child{margin:0}
.infobox h3{color:var(--navy);font-size:1.05rem;margin:0 0 8px}
/* kleinere, helle Variante mit dezentem Rand (Möglichkeiten-Block) */
.infobox-sm{max-width:880px;margin:0 auto 24px;padding:20px 24px;font-size:.95rem;line-height:1.7;background:#fff;border:1px solid var(--line)}
.infobox-sm h3{font-size:1rem}
.honorar.infobox-sm .hon-lead{margin-bottom:14px}
.honorar.infobox-sm .complist li{padding-top:12px;padding-bottom:12px}

/* Einleitungstext der Preisseite – schlicht, zentriert, ohne Kasten */
.pr-intro{max-width:760px;margin:6px auto 30px;text-align:center;color:var(--text);line-height:1.7}

/* Honorarvertrag-Kasten – im Stil des Philosophie-Panels, graue Hintergrundfarbe, zentriert */
.honvertrag-box{max-width:880px;margin:0 auto 30px;background:var(--gray);border:1px solid var(--line);border-radius:18px;padding:38px 44px;text-align:center;box-shadow:0 14px 32px #0d27420f}
.honvertrag-box h3{color:var(--navy);font-size:1.18rem;margin:0 0 16px}
.honvertrag-box p{margin:0 auto 14px;max-width:640px;line-height:1.7}
.honvertrag-box p:last-child{margin-bottom:0}
@media(max-width:560px){.honvertrag-box{padding:28px 22px}}
.acc .pnote{background:#f4f8fd;border:1px solid #e0ebf7;border-radius:10px;padding:12px 16px;margin:16px 0 0;text-align:left;max-width:none}
.acc .pnote a{color:var(--blue);font-weight:600}

/* Zurück-Button (Unterseiten -> Leistungen) */
.backlink{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-weight:600;font-size:.92rem;margin-bottom:22px}
.backlink:hover{border-color:var(--orange);color:var(--orange-d)}
.backlink .ar{font-size:1.15em;line-height:1}
@media(prefers-reduced-motion:no-preference){.backlink{transition:border-color .2s ease,color .2s ease,transform .15s ease}.backlink:hover{transform:translateX(-2px)}}

/* Fliegende Preis-Suche (einklappbar) */
.prfind{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:60}
.prfind-toggle{width:54px;height:54px;border-radius:50%;border:1px solid var(--line);background:#fff;box-shadow:0 12px 30px #0d274226;cursor:pointer;font-size:1.35rem;line-height:1;display:flex;align-items:center;justify-content:center;color:var(--navy);transition:border-color .2s ease,transform .15s ease}
.prfind-toggle:hover{border-color:var(--orange);transform:scale(1.05)}
/* Gelegentlicher Aufmerksamkeits-Impuls (Wackeln + oranger Glow), bis die Suche einmal genutzt wurde */
@keyframes prfindNudge{
  0%,84%,100%{transform:scale(1) rotate(0);box-shadow:0 12px 30px #0d274226}
  86%{transform:scale(1.1) rotate(-10deg)}
  89%{transform:scale(1.1) rotate(8deg)}
  92%{transform:scale(1.1) rotate(-6deg);box-shadow:0 0 0 7px #f1841b44,0 12px 30px #0d274226}
  96%{transform:scale(1.05) rotate(0);box-shadow:0 0 0 3px #f1841b22,0 12px 30px #0d274226}
}
.prfind:not(.open):not(.seen) .prfind-toggle{animation:prfindNudge 8s ease-in-out 3s infinite}
.prfind:not(.open):not(.seen) .prfind-toggle:hover{animation:none}
@media (prefers-reduced-motion: reduce){.prfind .prfind-toggle{animation:none!important}}
.prfind-panel{display:none}
/* geöffnet: breite Kompaktleiste (V1) + „Häufig gesucht"-Pillen mit Anzahl */
.prfind.open{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 46px #0d27422e;padding:12px;width:460px;max-width:calc(100vw - 32px)}
.prfind.open .prfind-panel{display:block}
.prfind.open .prfind-toggle{display:none}
.prfind-bar{display:flex;align-items:center;gap:8px}
.prfind-mag{flex:0 0 auto;font-size:1.1rem;line-height:1;color:var(--navy);padding:0 2px 0 4px}
.prfind input{flex:1;min-width:0;box-sizing:border-box;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font-size:1rem;color:var(--navy)}
.prfind input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px #f1841b22}
.prfind-nav{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.prfind-nav button{cursor:pointer;border:1px solid var(--line);background:var(--gray);color:var(--navy);border-radius:8px;width:34px;height:34px;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center}
.prfind-nav button:hover{border-color:var(--orange);color:var(--orange-d)}
.prfind-count{font-size:.82rem;color:#6a7790;font-weight:700;min-width:40px;text-align:center}
.prfind-close{flex:0 0 auto;cursor:pointer;border:1px solid var(--line);background:#fff;color:#6a7790;border-radius:8px;width:34px;height:34px;font-size:.9rem;font-weight:700}
.prfind-close:hover{border-color:var(--orange);color:var(--orange-d)}
.prfind-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.prfind-pills:empty{display:none}
.prfind-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #dfe7f1;background:#fff;color:var(--blue);border-radius:999px;padding:5px 10px;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
.prfind-pill:hover,.prfind-pill.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.prfind-pill .cnt{background:#eef3fa;color:var(--blue);border-radius:999px;font-size:.7rem;padding:1px 6px;font-weight:800}
.prfind-pill:hover .cnt,.prfind-pill.on .cnt{background:#ffffff33;color:#fff}
/* Treffer-Hervorhebung */
.pr-hit{background:#fff1de !important}
.pr-current{outline:2px solid var(--orange);outline-offset:2px;border-radius:6px;scroll-margin:90px}
/* Farbiger Streifen füllt den 10px-Spalt unter dem Header (kein Durchscheinen) */
.stickcap{position:fixed;left:0;right:0;top:138px;height:12px;background:#fff;z-index:40;opacity:0;transition:opacity .15s ease;pointer-events:none}
.stickcap.show{opacity:1}
@media(max-width:820px){
  .prfind{right:auto;left:12px;bottom:calc(64px + env(safe-area-inset-bottom));top:auto;transform:none}
  .prfind.open{left:8px;right:8px;width:auto;max-width:none;padding:12px}
  .prfind-mag{display:none}
  .prfind-nav button,.prfind-close{width:36px;height:36px}
  .stickcap{top:98px}
}

/* Accordion (Preise nach Abrechnungsweg) */
.acc{max-width:880px;margin:0 auto;--stick:150px}
.acc>details{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:18px;box-shadow:0 8px 22px #0d27420a}
.acc>details>summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:700;color:var(--navy);font-size:1.06rem;display:flex;align-items:center;justify-content:space-between;gap:14px;position:sticky;top:var(--stick);z-index:3;background:#fff;border-radius:13px 13px 0 0}
.acc>details:not([open])>summary{border-radius:13px}
.acc>details>summary::-webkit-details-marker{display:none}
.acc>details>summary::after{content:"+";color:var(--orange);font-weight:800;font-size:1.4rem;line-height:1;transition:transform .2s ease}
.acc>details[open]>summary::after{content:"–"}
.acc>details[open]>summary{border-bottom:1px solid var(--line)}
@media(max-width:820px){.acc{--stick:110px}}
.acc .acc-body{padding:20px 22px}
.acc .acc-body .ptable{box-shadow:none;margin-top:8px}
.acc .acc-body .prose{max-width:none}
.acc-sub{border:1px dashed var(--line);border-radius:12px;margin-top:18px}
.acc-sub>summary{list-style:none;cursor:pointer;padding:13px 16px;font-weight:600;color:var(--navy);display:flex;justify-content:space-between;gap:12px}
.acc-sub>summary::-webkit-details-marker{display:none}
.acc-sub>summary::after{content:"+";color:var(--orange);font-weight:800}
.acc-sub[open]>summary::after{content:"–"}
.acc-sub .acc-body{padding:6px 16px 16px}

/* Leistungsketten-Karten (GebüH-Beispiele) */
.ketten{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:6px}
.kette{border:1px solid var(--line);border-radius:12px;background:var(--gray);padding:16px 18px}
.kette h4{color:var(--navy);font-size:1rem;margin:0 0 10px}
.kette ul{list-style:none;margin:0;padding:0}
.kette li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.kette .kl{color:var(--navy)}
.kette .kl em{color:#8694a8;font-style:normal;font-size:.85em}
.kette .kp{color:#3a4a63;white-space:nowrap}
.kette .kette-sum{display:flex;justify-content:space-between;gap:12px;padding-top:10px;margin-top:4px;font-weight:800;color:var(--orange-d)}
@media(max-width:680px){.ketten{grid-template-columns:1fr}}

/* ── Kopfbild dieser Seite ────────────────────────────────────────────────
   Ergänzung gegenüber der Physio-Seite (07.08.2026).

   Das Bild trägt den Satz „Osteopathie versteht sich als Wissenschaft,
   Philosophie und Kunst" mit. Es wurde eigens so angelegt, dass Figur und
   Schriftzug dicht beieinander in der Bildmitte stehen und außen nur
   unscharfer Raum liegt — der darf beim Zuschnitt wegfallen.

   Gemessen: Das Motiv liegt zwischen 26 % und 86 % der Bildbreite, seine
   Mitte also bei 56 %. Darauf legt `object-position` den Ausschnitt.

   Warum das nötig ist: Formatfüllend wird auf die HÖHE skaliert und seitlich
   beschnitten; der sichtbare Streifen liegt symmetrisch um den gewählten
   Punkt. Bliebe er bei 50 %, müsste er bis 86 % reichen und damit 72 % der
   Breite umfassen. Auf 56 % gelegt genügen 60 % — und die sind ab 600 px
   Fensterbreite immer da. */
.hero--motiv img.bg { object-position: 56% center; }

@media (max-width: 600px) {
  /* Schmal wird gestapelt statt beschnitten: Bild oben in voller Breite,
     Textkasten darunter. Nebeneinander ist hier kein Platz, und ein Zuschnitt
     würde genau das kosten, worum es geht — die Lesbarkeit des Satzes. */
  .hero--motiv { display: block; min-height: 0; }
  .hero--motiv img.bg { position: static; width: 100%; height: auto;
                        object-fit: contain; }
  .hero--motiv::after { content: none; }
  .hero--motiv .wrap { padding: 16px 0 20px; }
  .hero--motiv .inner { max-width: none; }
}

/* Ohne Bild: Der Kopfbereich braucht dann selbst Farbe, sonst stünde weiße
   Schrift auf Weiß. Greift, solange für eine Seite kein Foto vorliegt. */
.hero--text { background: linear-gradient(135deg, #024a97, #0d2742); }
.hero--text::after { content: none; }

/* ── Verbandszeichen im Fußbereich ────────────────────────────────────────
   Eine Mitgliedschaft, keine Werbung: ruhig, klein, über der Fußzeile. Das
   Bild ist 226 px breit und wird auf 130 px gezeigt — auf einem scharfen
   Bildschirm bleibt es dadurch scharf, statt hochgezogen zu werden. */
.verband { background: var(--gray); border-top: 1px solid #e5eaf0; }
.verband .wrap { display: flex; align-items: center; justify-content: center;
                 gap: 16px; padding: 20px 0; flex-wrap: wrap; text-align: center; }
.verband img { width: 74px; height: auto; display: block; }
.verband a { display: block; line-height: 0; }
.verband p { margin: 0; font-size: .84rem; color: var(--muted, #5a6675); }
@media (max-width: 520px) {
  .verband .wrap { flex-direction: column; gap: 10px; }
}

/* ── Doppelzeichen des VOD unter dem Kopfbild ─────────────────────────────
   Nur auf der Startseite. Es sagt „auch für die Kleinsten" und gehört
   deshalb nach oben — im Fußbereich steht dafür das Verbandssiegel mit der
   Mitgliedschaft. Zwei Zeichen, zwei Aussagen, zwei Orte.

   Das Bild ist 226 px breit und wird auf 150 px gezeigt: So bleibt es auch
   auf einem scharfen Bildschirm scharf. */
.kinderband { background: var(--card, #fff); border-bottom: 1px solid #e5eaf0; }
.kinderband .wrap { display: flex; align-items: center; gap: 20px;
                    padding: 18px 0; flex-wrap: wrap; }
.kinderband img { width: 150px; height: auto; display: block; flex: none; }
.kinderband p { margin: 0; font-size: 1.12rem; font-weight: 650;
                color: var(--blau, #024a97); line-height: 1.3; }
@media (max-width: 560px) {
  .kinderband .wrap { gap: 12px; padding: 14px 0; }
  .kinderband img { width: 118px; }
  .kinderband p { font-size: .98rem; }
}
