/* Selbstgehostete Schriften (Fontsource, OFL) – keine externen Anfragen */
:root{
  --green-900:#2b1e12; --green-800:#5a3d20; --green-700:#8a5820; --green-600:#a06a22;
  --sage:#b98a34; --sage-soft:#e8ddc6; --gold:#c19a3f; --label:#85541c;
  --cream:#efe7d5; --paper:#f7f0e0; --paper-2:#f2ebd9;
  --ink:#241f17; --muted:#6b6152; --line:#e0d8c5;
  --shadow:0 10px 30px -12px rgba(45,32,20,.22);
  --radius:16px; --maxw:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; overflow-x:clip}
body{
  margin:0; background:var(--cream); color:var(--ink); overflow-x:clip;
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:17px; line-height:1.68; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-weight:500; line-height:1.15; color:var(--green-900); letter-spacing:-.01em}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem); margin:0 0 .5em}
h3{font-size:clamp(1.2rem,2.2vw,1.45rem); margin:0 0 .35em}
p{margin:0 0 1rem}
a{color:var(--green-700); text-decoration:none}
a:hover{color:var(--label)}
img{max-width:100%; height:auto; display:block}
.container{max-width:var(--maxw); margin:0 auto; padding:0 22px}
.eyebrow{font-family:'Inter',sans-serif; font-weight:600; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--label); margin:0 0 .7em}
section{padding:clamp(48px,7vw,88px) 0}
.lead{font-size:1.18rem; color:#4a4034}
/* ---------- Header ---------- */
header{position:sticky; top:0; z-index:50; background:rgba(239,231,213,.86); backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
.nav{display:flex; align-items:center; justify-content:space-between; gap:20px; height:68px}
.brand{display:flex; align-items:center; gap:11px; white-space:nowrap; font-family:'Fraunces',serif; font-size:1.18rem; color:var(--green-900); font-weight:600}
.brand svg{flex:0 0 auto}
/* Mit „Preise“ und „Krankenkasse“ sind es neun Einträge. Ohne nowrap brach
   „Aus- & Fortbildung“ in zwei Zeilen um und die Kopfleiste wurde doppelt hoch. */
.nav-links{display:flex; gap:20px; align-items:center; list-style:none; margin:0; padding:0}
.nav-links a{font-size:.95rem; color:var(--ink); font-weight:500; white-space:nowrap}
.nav-links a:hover{color:var(--green-700)}
.nav-cta{background:var(--green-700); color:#fff!important; padding:9px 18px; border-radius:999px; font-size:.9rem; font-weight:600}
.nav-cta:hover{background:var(--green-800)}
.burger{display:none; background:none; border:0; font-size:1.6rem; color:var(--green-900); cursor:pointer}
/* Bis 1080 px das aufklappbare Menü: Neun Einträge nebeneinander passen erst
   darüber, ohne dass etwas umbricht. */
@media(max-width:1080px){
  .nav-links{position:fixed; inset:68px 0 auto 0; flex-direction:column; background:var(--cream); padding:18px 22px 26px; gap:16px; border-bottom:1px solid var(--line); box-shadow:var(--shadow); transform:translateY(-140%); transition:transform .3s ease}
  .nav-links.open{transform:translateY(0)}
  .burger{display:block}
}
/* ---------- Hero ---------- */
.hero{position:relative; overflow:hidden; background:linear-gradient(160deg,#eae1cf 0%,#efe7d5 55%,#eae1cf 100%)}
.hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:center}
.hero h1{font-size:clamp(2.2rem,5vw,3.5rem); margin:0 0 .4em; font-weight:600}
.hero .lead{max-width:34ch}
.hero-cta{display:flex; flex-wrap:wrap; gap:14px; margin-top:26px}
.btn{display:inline-flex; align-items:center; gap:9px; padding:13px 24px; border-radius:999px; font-weight:600; font-size:.98rem; cursor:pointer; border:1.5px solid transparent; transition:.2s}
.btn-primary{background:var(--green-700); color:#fff}
.btn-primary:hover{background:var(--green-800); color:#fff}
.btn-ghost{background:transparent; border-color:var(--green-700); color:var(--green-700)}
.btn-ghost:hover{background:var(--green-700); color:#fff}
.hero-art{position:relative; display:flex; justify-content:center}
.enso{width:min(360px,80%); height:auto; filter:drop-shadow(0 20px 40px rgba(120,86,40,.22))}
.badges{display:flex; flex-wrap:wrap; gap:10px; margin-top:30px}
.badge{display:inline-flex; align-items:center; gap:7px; background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:7px 14px; font-size:.83rem; font-weight:600; color:var(--green-800); box-shadow:0 2px 8px -4px rgba(45,32,20,.2)}
.badge svg{color:var(--gold)}
@media(max-width:900px){ .hero-grid{grid-template-columns:1fr; text-align:left} .hero-art{order:-1} .enso{width:210px} }
/* ---------- Generic blocks ---------- */
.section-head{max-width:62ch; margin-bottom:38px}
.grid{display:grid; gap:22px}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.cols-3,.cols-4{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}}
.card{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:26px 24px; box-shadow:0 4px 16px -10px rgba(45,32,20,.18); transition:.22s}
.card:hover{transform:translateY(-3px); box-shadow:var(--shadow)}
.card .ic{width:46px; height:46px; border-radius:12px; background:var(--sage-soft); display:flex; align-items:center; justify-content:center; color:var(--green-700); margin-bottom:16px}
.card ul{margin:.4rem 0 0; padding-left:1.1em; color:var(--muted); font-size:.95rem}
.card ul li{margin:.2rem 0}
.tag{display:inline-block; font-size:.72rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--label); background:var(--sage-soft); border-radius:6px; padding:2px 8px; margin-bottom:12px}
.alt{background:var(--paper-2)}
.muted{color:var(--muted)}
.center{text-align:center}
.lst{list-style:none; padding:0; margin:1.2rem 0 0; display:grid; gap:12px}
.lst li{display:flex; gap:12px; align-items:flex-start}
.lst svg{flex:0 0 auto; color:var(--green-600); margin-top:4px}
/* ---------- Bio ---------- */
.bio{display:grid; grid-template-columns:.9fr 1.1fr; gap:44px; align-items:center}
@media(max-width:900px){.bio{grid-template-columns:1fr}}
.portrait{aspect-ratio:4/5; border-radius:var(--radius); background:linear-gradient(160deg,#d9e2c8,#b9c9a2); display:flex; align-items:flex-end; justify-content:center; color:#33421f; position:relative; overflow:hidden; box-shadow:var(--shadow)}
.portrait span{position:absolute; bottom:14px; left:0; right:0; text-align:center; font-size:.8rem; background:rgba(255,255,255,.75); padding:6px; margin:0 12px 0; border-radius:8px}
.cred{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:22px}
.cred div{background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:14px 16px}
.cred b{font-family:'Fraunces',serif; font-size:1.5rem; color:var(--green-700); display:block; line-height:1}
.cred small{color:var(--muted); font-size:.85rem}
.bio2{display:grid; grid-template-columns:1.15fr .85fr; gap:50px; align-items:start; max-width:1120px}
.bio2-text p{text-align:left}
.bio2-media{margin:0; position:sticky; top:96px}
.bio2-media img{width:100%; border-radius:var(--radius); box-shadow:var(--shadow); display:block; background:#12100e}
@media(max-width:900px){.bio2{grid-template-columns:1fr; gap:26px} .bio2-media{position:static; max-width:440px}}
/* ---------- Locations ---------- */
.loc{display:flex; gap:16px; align-items:flex-start; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:24px}
.loc h3 a{color:inherit; text-decoration:none; border-bottom:1px solid var(--sage); padding-bottom:1px}
.loc h3 a:hover,.loc h3 a:focus-visible{color:var(--green-700); border-bottom-color:var(--green-700)}
.loc .pin{flex:0 0 auto; width:44px; height:44px; border-radius:12px; background:var(--green-700); color:#fff; display:flex; align-items:center; justify-content:center}
/* ---------- Testimonials ---------- */
.quote{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:26px; position:relative}
.quote p{font-family:'Fraunces',serif; font-style:italic; font-size:1.08rem; color:#33421f}
.quote cite{display:block; margin-top:12px; font-style:normal; font-weight:600; font-size:.9rem; color:var(--green-800)}
.stars{color:var(--gold); font-size:.95rem; letter-spacing:2px; margin-bottom:8px}
/* ---------- FAQ ---------- */
.faq details{background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:2px 22px; margin-bottom:12px}
.faq summary{cursor:pointer; font-weight:600; font-size:1.05rem; color:var(--green-900); padding:16px 0; list-style:none; display:flex; justify-content:space-between; gap:16px; align-items:center; font-family:'Fraunces',serif}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font-size:1.5rem; color:var(--green-600); transition:.2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 18px; color:#4a4034; font-size:.98rem}
/* ---------- Contact ---------- */
.contact{background:var(--green-900); color:#e9efe0}
.contact h2{color:#fff}
.contact a{color:#d9e6c4}
.contact .card{background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.14); color:#e9efe0}
.contact .card h3{color:#fff}
.cbtn{background:#f1e8d4; color:var(--green-900)}
.cbtn:hover{background:var(--sage-soft); color:var(--green-900)}
/* ---------- Footer ---------- */
footer{background:var(--green-900); color:#b9c7a6; border-top:1px solid rgba(255,255,255,.1); padding:36px 0}
footer .fgrid{display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; font-size:.9rem}
footer a{color:#cdd9bb}
.finfo{max-width:38ch}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}
/* Der Sprunglink war beim Tabben unsichtbar – hier wird er sichtbar, sobald er den Fokus hat. */
.sr-only:focus,.sr-only:focus-visible{position:fixed;top:12px;left:12px;z-index:200;width:auto;height:auto;
  margin:0;padding:12px 20px;clip:auto;overflow:visible;background:#FBF6EC;color:#5C4326;
  border:2px solid #8A5820;border-radius:999px;font-weight:700;text-decoration:none;
  box-shadow:0 6px 24px -8px rgba(45,32,20,.45)}
/* ---------- Logos (Platzhalter – durch Originaldateien ersetzen) ---------- */
.logo-mark{height:36px;width:auto;display:block;mix-blend-mode:normal}
.hero-logo{width:min(320px,78%);height:auto;mix-blend-mode:multiply;filter:drop-shadow(0 16px 34px rgba(90,40,90,.18))}
.footer-logo-chip{display:inline-flex;background:#fff;border-radius:10px;padding:6px 9px;line-height:0}
.footer-logo-chip img{height:30px;width:auto;display:block}
/* ===== Redesign: Bildwelt & Motion (Platzhalter-Szenen, später gg. Fotos tauschen) ===== */
.bg1{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNjAwIDEwMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIHNsaWNlIj4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0ic2t5MSIgeDE9IjAiIHkxPSIwIiB4Mj0iMCIgeTI9IjEiPgogPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZTdlYWRkIi8+PHN0b3Agb2Zmc2V0PSIwLjQ1IiBzdG9wLWNvbG9yPSIjZjJkY2FjIi8+PHN0b3Agb2Zmc2V0PSIwLjcyIiBzdG9wLWNvbG9yPSIjZjZlN2M0Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZWZlN2NmIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxyYWRpYWxHcmFkaWVudCBpZD0ic3VuMSIgY3g9IjYyJSIgY3k9IjYwJSIgcj0iNDIlIj4KIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2ZmZjRkNiIvPjxzdG9wIG9mZnNldD0iMC4yNSIgc3RvcC1jb2xvcj0iI2Y0Yzc2ZSIvPjxzdG9wIG9mZnNldD0iMC42IiBzdG9wLWNvbG9yPSIjZTdhOTRiIiBzdG9wLW9wYWNpdHk9IjAuMzUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNlN2E5NGIiIHN0b3Atb3BhY2l0eT0iMCIvPgo8L3JhZGlhbEdyYWRpZW50PjxmaWx0ZXIgaWQ9ImciPjxmZVR1cmJ1bGVuY2UgdHlwZT0iZnJhY3RhbE5vaXNlIiBiYXNlRnJlcXVlbmN5PSIwLjkiIG51bU9jdGF2ZXM9IjIiIHN0aXRjaFRpbGVzPSJzdGl0Y2giLz48ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwICAwIDAgMCAwIDAgIDAgMCAwIDAgMCAgMCAwIDAgMC4wNSAwIi8+PC9maWx0ZXI+PGZpbHRlciBpZD0ic29mdCIgeD0iLTIwJSIgeT0iLTIwJSIgd2lkdGg9IjE0MCUiIGhlaWdodD0iMTQwJSI+PGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMTQiLz48L2ZpbHRlcj48ZmlsdGVyIGlkPSJzb2Z0MiIgeD0iLTMwJSIgeT0iLTMwJSIgd2lkdGg9IjE2MCUiIGhlaWdodD0iMTYwJSI+PGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMzAiLz48L2ZpbHRlcj48L2RlZnM+Cgo8cmVjdCB3aWR0aD0iMTYwMCIgaGVpZ2h0PSIxMDAwIiBmaWxsPSJ1cmwoI3NreTEpIi8+CjxjaXJjbGUgY3g9Ijk5MCIgY3k9IjYwMCIgcj0iNjIwIiBmaWxsPSJ1cmwoI3N1bjEpIi8+CjxjaXJjbGUgY3g9Ijk5MCIgY3k9IjYwMCIgcj0iNzAiIGZpbGw9IiNmZmY2ZGYiLz4KPCEtLSBCZXJna2V0dGVuIGhpbnRlbi0+dm9ybmUgLS0+CjxwYXRoIGQ9Ik0wIDY0MCBDIDMwMCA1NjAgNTIwIDYxMCA3NjAgNTcwIEMgMTAwMCA1MzAgMTI1MCA2MDAgMTYwMCA1NDUgTDE2MDAgMTAwMCBMMCAxMDAwWiIgZmlsbD0iI2FlYmQ5NCIgb3BhY2l0eT0iMC44NSIvPgo8cGF0aCBkPSJNMCA3MjAgQyAyNjAgNjYwIDU2MCA3MDAgODIwIDY2MCBDIDExMjAgNjE1IDEzNjAgNzAwIDE2MDAgNjUwIEwxNjAwIDEwMDAgTDAgMTAwMFoiIGZpbGw9IiM3ZDk0NjMiIG9wYWNpdHk9IjAuOSIvPgo8cGF0aCBkPSJNMCA4MTAgQyAzMDAgNzYwIDUyMCA4MDAgNzgwIDc3NSBDIDEwODAgNzQ1IDEzMzAgODE1IDE2MDAgNzgwIEwxNjAwIDEwMDAgTDAgMTAwMFoiIGZpbGw9IiM0ZjZhM2EiLz4KPHBhdGggZD0iTTAgOTAwIEMgMjYwIDg3MCA2MjAgODk1IDkwMCA4ODAgQyAxMTgwIDg2NSAxMzgwIDkwNSAxNjAwIDg5MCBMMTYwMCAxMDAwIEwwIDEwMDBaIiBmaWxsPSIjMzM0NzFmIi8+CjwhLS0gTmViZWxiw6RuZGVyIC0tPgo8ZWxsaXBzZSBjeD0iNzAwIiBjeT0iNzEwIiByeD0iNjIwIiByeT0iMzQiIGZpbGw9IiNmZmZmZmYiIG9wYWNpdHk9IjAuMjgiIGZpbHRlcj0idXJsKCNzb2Z0KSIvPgo8ZWxsaXBzZSBjeD0iMTA1MCIgY3k9IjgwMCIgcng9IjcyMCIgcnk9IjMwIiBmaWxsPSIjZmZmN2U2IiBvcGFjaXR5PSIwLjI1IiBmaWx0ZXI9InVybCgjc29mdCkiLz4KCjxyZWN0IHdpZHRoPSIxNjAwIiBoZWlnaHQ9IjEwMDAiIGZpbHRlcj0idXJsKCNnKSIgb3BhY2l0eT0iMC42Ii8+Cjwvc3ZnPg==)}
.bg3{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNjAwIDEwMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIHNsaWNlIj4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0ic2t5MyIgeDE9IjAiIHkxPSIwIiB4Mj0iMCIgeTI9IjEiPgogPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZjRlM2MwIi8+PHN0b3Agb2Zmc2V0PSIwLjM1IiBzdG9wLWNvbG9yPSIjZjBkM2EwIi8+PHN0b3Agb2Zmc2V0PSIwLjUiIHN0b3AtY29sb3I9IiNlOWM5OGYiLz4KPC9saW5lYXJHcmFkaWVudD4KPGxpbmVhckdyYWRpZW50IGlkPSJ3YXRlcjMiIHgxPSIwIiB5MT0iMCIgeDI9IjAiIHkyPSIxIj4KIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzhmYWU4NiIvPjxzdG9wIG9mZnNldD0iMC41IiBzdG9wLWNvbG9yPSIjNWM3ZDVmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMzM1MTNmIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxyYWRpYWxHcmFkaWVudCBpZD0ic3VuMyIgY3g9IjUwJSIgY3k9IjAlIiByPSI2MCUiPgogPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZmZmM2Q0Ii8+PHN0b3Agb2Zmc2V0PSIwLjQiIHN0b3AtY29sb3I9IiNmM2M4NzciIHN0b3Atb3BhY2l0eT0iMC41Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZjNjODc3IiBzdG9wLW9wYWNpdHk9IjAiLz4KPC9yYWRpYWxHcmFkaWVudD48ZmlsdGVyIGlkPSJnIj48ZmVUdXJidWxlbmNlIHR5cGU9ImZyYWN0YWxOb2lzZSIgYmFzZUZyZXF1ZW5jeT0iMC45IiBudW1PY3RhdmVzPSIyIiBzdGl0Y2hUaWxlcz0ic3RpdGNoIi8+PGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAgMCAwIDAgMCAwICAwIDAgMCAwIDAgIDAgMCAwIDAuMDUgMCIvPjwvZmlsdGVyPjxmaWx0ZXIgaWQ9InNvZnQiIHg9Ii0yMCUiIHk9Ii0yMCUiIHdpZHRoPSIxNDAlIiBoZWlnaHQ9IjE0MCUiPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjE0Ii8+PC9maWx0ZXI+PGZpbHRlciBpZD0ic29mdDIiIHg9Ii0zMCUiIHk9Ii0zMCUiIHdpZHRoPSIxNjAlIiBoZWlnaHQ9IjE2MCUiPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMwIi8+PC9maWx0ZXI+PC9kZWZzPgoKPHJlY3Qgd2lkdGg9IjE2MDAiIGhlaWdodD0iNDgwIiBmaWxsPSJ1cmwoI3NreTMpIi8+CjxyZWN0IHk9IjQ4MCIgd2lkdGg9IjE2MDAiIGhlaWdodD0iNTIwIiBmaWxsPSJ1cmwoI3dhdGVyMykiLz4KPHJlY3Qgd2lkdGg9IjE2MDAiIGhlaWdodD0iNDgwIiBmaWxsPSJ1cmwoI3N1bjMpIi8+CjxjaXJjbGUgY3g9IjgwMCIgY3k9IjE1MCIgcj0iNjAiIGZpbGw9IiNmZmY2ZGYiLz4KPCEtLSBTb25uZW5yZWZsZXhpb24gLS0+Cjxwb2x5Z29uIHBvaW50cz0iNzYwLDQ4MCA4NDAsNDgwIDkwMCwxMDAwIDcwMCwxMDAwIiBmaWxsPSIjZmZlOWI4IiBvcGFjaXR5PSIwLjM1IiBmaWx0ZXI9InVybCgjc29mdCkiLz4KPGc+PGVsbGlwc2UgY3g9IjgwMCIgY3k9IjU2MCIgcng9IjEwMi4wIiByeT0iMTYuOCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjIiIG9wYWNpdHk9IjAuMjgiLz48ZWxsaXBzZSBjeD0iODAwIiBjeT0iNTYwIiByeD0iMjIxLjAiIHJ5PSIzNi40MDAwMDAwMDAwMDAwMDYiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBvcGFjaXR5PSIwLjI1Ii8+PGVsbGlwc2UgY3g9IjgwMCIgY3k9IjU2MCIgcng9IjM0MC4wIiByeT0iNTYuMDAwMDAwMDAwMDAwMDEiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBvcGFjaXR5PSIwLjIyMDAwMDAwMDAwMDAwMDAzIi8+PGVsbGlwc2UgY3g9IjgwMCIgY3k9IjU2MCIgcng9IjQ1OS4wIiByeT0iNzUuNjAwMDAwMDAwMDAwMDEiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBvcGFjaXR5PSIwLjE5MDAwMDAwMDAwMDAwMDAzIi8+PGVsbGlwc2UgY3g9IjgwMCIgY3k9IjU2MCIgcng9IjU3OC4wIiByeT0iOTUuMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjIiIG9wYWNpdHk9IjAuMTYwMDAwMDAwMDAwMDAwMDMiLz48ZWxsaXBzZSBjeD0iODAwIiBjeT0iNTYwIiByeD0iNjk3LjAiIHJ5PSIxMTQuODAwMDAwMDAwMDAwMDEiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBvcGFjaXR5PSIwLjEzMDAwMDAwMDAwMDAwMDAzIi8+PGVsbGlwc2UgY3g9IjgwMCIgY3k9IjU2MCIgcng9IjgxNi4wIiByeT0iMTM0LjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBvcGFjaXR5PSIwLjEwMDAwMDAwMDAwMDAwMDAzIi8+PGVsbGlwc2UgY3g9IjgwMCIgY3k9IjU2MCIgcng9IjkzNS4wIiByeT0iMTU0LjAwMDAwMDAwMDAwMDAzIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMiIgb3BhY2l0eT0iMC4wNzAwMDAwMDAwMDAwMDAwMyIvPjxlbGxpcHNlIGN4PSI4MDAiIGN5PSI1NjAiIHJ4PSIxMDU0LjAiIHJ5PSIxNzMuNjAwMDAwMDAwMDAwMDIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBvcGFjaXR5PSIwLjA0MDAwMDAwMDAwMDAwMDAzNiIvPjxlbGxpcHNlIGN4PSI4MDAiIGN5PSI1NjAiIHJ4PSIxMTczLjAiIHJ5PSIxOTMuMjAwMDAwMDAwMDAwMDIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBvcGFjaXR5PSIwLjAzIi8+PGVsbGlwc2UgY3g9IjgwMCIgY3k9IjU2MCIgcng9IjEyOTIuMCIgcnk9IjIxMi44IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMiIgb3BhY2l0eT0iMC4wMyIvPjwvZz4KPCEtLSBVZmVyc2NoYXR0ZW4gLS0+CjxwYXRoIGQ9Ik0wIDQ3MCBDIDMwMCA0NjAgNTAwIDQ4MCA4MDAgNDcyIEMgMTEwMCA0NjQgMTM1MCA0ODIgMTYwMCA0NzAgTDE2MDAgNTAwIEwwIDUwMFoiIGZpbGw9IiMzZjVhMmEiIG9wYWNpdHk9IjAuMjUiIGZpbHRlcj0idXJsKCNzb2Z0KSIvPgoKPHJlY3Qgd2lkdGg9IjE2MDAiIGhlaWdodD0iMTAwMCIgZmlsdGVyPSJ1cmwoI2cpIiBvcGFjaXR5PSIwLjYiLz4KPC9zdmc+)}
.bg4{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNjAwIDEwMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIHNsaWNlIj4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0iYmc0IiB4MT0iMCIgeTE9IjAiIHgyPSIxIiB5Mj0iMSI+CiA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNlZWYyZTYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNkNmUwYzQiLz4KPC9saW5lYXJHcmFkaWVudD4KPGxpbmVhckdyYWRpZW50IGlkPSJyaWIiIHgxPSIwIiB5MT0iMCIgeDI9IjEiIHkyPSIwIj4KIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2U3YTk0YiIvPjxzdG9wIG9mZnNldD0iMC42IiBzdG9wLWNvbG9yPSIjYzk4YTNmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjN2EzZDYzIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxsaW5lYXJHcmFkaWVudCBpZD0icmliMiIgeDE9IjAiIHkxPSIwIiB4Mj0iMSIgeTI9IjAiPgogPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjOGNhMDZmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjM2Y1YTJhIi8+CjwvbGluZWFyR3JhZGllbnQ+PGZpbHRlciBpZD0iZyI+PGZlVHVyYnVsZW5jZSB0eXBlPSJmcmFjdGFsTm9pc2UiIGJhc2VGcmVxdWVuY3k9IjAuOSIgbnVtT2N0YXZlcz0iMiIgc3RpdGNoVGlsZXM9InN0aXRjaCIvPjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgIDAgMCAwIDAgMCAgMCAwIDAgMCAwICAwIDAgMCAwLjA1IDAiLz48L2ZpbHRlcj48ZmlsdGVyIGlkPSJzb2Z0IiB4PSItMjAlIiB5PSItMjAlIiB3aWR0aD0iMTQwJSIgaGVpZ2h0PSIxNDAlIj48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIxNCIvPjwvZmlsdGVyPjxmaWx0ZXIgaWQ9InNvZnQyIiB4PSItMzAlIiB5PSItMzAlIiB3aWR0aD0iMTYwJSIgaGVpZ2h0PSIxNjAlIj48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzMCIvPjwvZmlsdGVyPjwvZGVmcz4KCjxyZWN0IHdpZHRoPSIxNjAwIiBoZWlnaHQ9IjEwMDAiIGZpbGw9InVybCgjYmc0KSIvPgo8ZyBmaWx0ZXI9InVybCgjc29mdDIpIiBvcGFjaXR5PSIwLjU1Ij4KIDxwYXRoIGQ9Ik0tMTAwIDYyMCBDIDMwMCA0MjAgNTIwIDc4MCA5MDAgNTYwIEMgMTIwMCAzOTAgMTQwMCA2NDAgMTc1MCA0NzAiIGZpbGw9Im5vbmUiIHN0cm9rZT0idXJsKCNyaWIpIiBzdHJva2Utd2lkdGg9IjQ2IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KIDxwYXRoIGQ9Ik0tMTAwIDcyMCBDIDM0MCA1NjAgNTYwIDg2MCA5ODAgNjYwIEMgMTI2MCA1MjAgMTQ2MCA3NDAgMTc1MCA2MDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0idXJsKCNyaWIyKSIgc3Ryb2tlLXdpZHRoPSIzMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBvcGFjaXR5PSIwLjgiLz4KPC9nPgo8ZyBvcGFjaXR5PSIwLjUiIGZpbHRlcj0idXJsKCNzb2Z0KSI+CiA8cGF0aCBkPSJNLTEwMCA1MDAgQyAzODAgMzYwIDYyMCA2NDAgMTAwMCA0NzAgQyAxMjgwIDM1MCAxNTAwIDU2MCAxNzUwIDQyMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZjRjNzZlIiBzdHJva2Utd2lkdGg9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPC9nPgo8Y2lyY2xlIGN4PSIxMjQwIiBjeT0iNDcwIiByPSIxNTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzdhM2Q2MyIgc3Ryb2tlLXdpZHRoPSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iNzAwIDkwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIG9wYWNpdHk9IjAuMzUiLz4KCjxyZWN0IHdpZHRoPSIxNjAwIiBoZWlnaHQ9IjEwMDAiIGZpbHRlcj0idXJsKCNnKSIgb3BhY2l0eT0iMC42Ii8+Cjwvc3ZnPg==)}
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;padding:0;background:#eae1cf}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:heroFade 27s cubic-bezier(.4,0,.2,1) infinite;will-change:opacity,transform}
.hero-bg .slide:nth-child(1){animation-delay:0s}
.hero-bg .slide:nth-child(2){animation-delay:9s}
.hero-bg .slide:nth-child(3){animation-delay:18s}
@keyframes heroFade{0%{opacity:0;transform:scale(1.05)}5%{opacity:1}30%{opacity:1}37%{opacity:0}100%{opacity:0;transform:scale(1.17)}}
.hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(239,231,213,.96) 0%,rgba(239,231,213,.82) 34%,rgba(239,231,213,.28) 64%,rgba(239,231,213,0) 100%)}
.hero-inner{position:relative;z-index:2;width:100%;padding-top:48px;padding-bottom:48px}
.hero-copy{max-width:660px}
.hero-crest{width:84px;height:auto;margin:0 0 16px;mix-blend-mode:normal;filter:drop-shadow(0 8px 18px rgba(90,40,90,.16))}
.hero .lead{max-width:40ch}
@media(max-width:700px){.hero-scrim{background:linear-gradient(180deg,rgba(239,231,213,.72),rgba(239,231,213,.92) 58%)}.hero{min-height:88vh}}
.reveal{opacity:0;transform:translateY(26px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.band{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--paper);overflow:hidden}
.band .media{position:relative;min-height:clamp(340px,44vw,560px);background-size:cover;background-position:center}
.band .media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(30,42,23,.14),transparent 45%)}
.band .body{padding:clamp(34px,5.5vw,78px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.band.reverse .media{order:2}
.band .cap{position:absolute;left:16px;bottom:14px;z-index:2;font-size:.72rem;color:#fff;background:rgba(30,42,23,.5);backdrop-filter:blur(3px);padding:4px 11px;border-radius:999px}
@media(max-width:900px){.band{grid-template-columns:1fr}.band.reverse .media{order:0}}
.divider{position:relative;width:100%;overflow:hidden;background:var(--cream);line-height:0}
.divider .slot-img{position:static;width:100%;height:auto;object-fit:fill;transform:none!important}
.divider .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(239,231,213,.62),rgba(239,231,213,.4))}
.divider .d-in{position:relative;z-index:2;max-width:760px;padding:48px 24px}
.divider blockquote{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(1.5rem,3.4vw,2.3rem);color:var(--green-900);margin:0;line-height:1.28}
.divider .who{margin-top:14px;font-weight:600;color:var(--green-700);font-size:.95rem}
.quote-band{background:var(--cream);text-align:center;padding:clamp(62px,10vw,124px) 24px}
.quote-band .qb-in{max-width:720px;margin:0 auto}
.quote-band .qb-mark{width:46px;height:2px;background:var(--gold);margin:0 auto 28px;border-radius:2px}
.quote-band blockquote{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(1.55rem,3.6vw,2.4rem);color:var(--green-900);margin:0;line-height:1.3}
.quote-band .who{margin-top:16px;font-weight:600;color:var(--green-700);font-size:.95rem;letter-spacing:.02em}
.eyebrow::after{content:"";display:block;width:40px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);margin-top:9px;border-radius:2px}
.center .eyebrow::after{margin-left:auto;margin-right:auto}
.contact .eyebrow::after{background:linear-gradient(90deg,var(--gold),transparent)}
@media(prefers-reduced-motion:reduce){
 .hero-bg .slide{animation:none}
 .hero-bg .slide:nth-child(1){opacity:1}
 .reveal{opacity:1;transform:none;transition:none}
}
/* Porträt-/Praxis-Platzhalter */
/* Hero: Flaggschiff-Porträt Rust */
.hero-bg.solo .slide{opacity:1;animation:kbzoom 24s ease-in-out infinite alternate}
@keyframes kbzoom{from{transform:scale(1.04)}to{transform:scale(1.14)}}
.hero-split{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(26px,4vw,58px);align-items:center}
@media(max-width:900px){.hero-split{grid-template-columns:1fr}.hero-portrait{order:-1;max-height:64vh}}
.hero-portrait{position:relative;margin:0;border-radius:22px;overflow:hidden;aspect-ratio:4/5;max-height:76vh;box-shadow:0 34px 66px -26px rgba(30,42,23,.55)}
.hero-portrait .pslide{position:absolute;inset:0;background-size:cover;background-position:center top;opacity:0;animation:pfade 16s ease-in-out infinite;will-change:opacity}
.hero-portrait .pslide:nth-child(1){animation-delay:0s}
.hero-portrait .pslide:nth-child(2){animation-delay:8s}
@keyframes pfade{0%{opacity:0}7%{opacity:1}43%{opacity:1}50%{opacity:0}100%{opacity:0}}
.hero-portrait figcaption{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:34px 22px 18px;background:linear-gradient(0deg,rgba(18,26,12,.82),rgba(18,26,12,.2) 70%,transparent);color:#fff}
.hero-portrait figcaption b{display:block;font-family:'Fraunces',serif;font-size:1.25rem;font-weight:600}
.hero-portrait figcaption span{font-size:.85rem;color:#e6efd6}
.hero-portrait .ph-note{position:absolute;top:12px;right:12px;z-index:3;font-size:.68rem;color:#fff;background:rgba(30,42,23,.55);backdrop-filter:blur(3px);padding:4px 10px;border-radius:999px}
/* Galerie: viele Bilder */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:14px}
.gtile{position:relative;margin:0;border-radius:16px;overflow:hidden;background-size:cover;background-position:center;box-shadow:0 10px 24px -14px rgba(30,42,23,.35)}
.gtile.big{grid-column:span 2;grid-row:span 2}
.gtile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(30,42,23,.34),transparent 52%)}
.gtile figcaption{position:absolute;left:13px;bottom:11px;z-index:2;color:#fff;font-size:.82rem;font-family:'Fraunces',serif}
@media(max-width:900px){.gallery{grid-template-columns:repeat(2,1fr)}.gtile.big{grid-column:span 2;grid-row:span 1}}
@media(max-width:600px){.gallery{grid-template-columns:1fr;grid-auto-rows:200px}.gtile.big{grid-row:span 1}}
/* Bild-Header in Angebots-Karten */
.cardmedia{height:158px;margin:-26px -24px 18px;background-size:cover;background-position:center;border-radius:16px 16px 0 0}
.portrait{background-size:cover;background-position:center top}
/* Vollbreiten-Bildbänder & Impression (randlos) */
.hero-note{position:absolute;right:16px;bottom:14px;z-index:3;font-size:.72rem;color:#fff;background:rgba(30,42,23,.5);backdrop-filter:blur(3px);padding:5px 12px;border-radius:999px}
.bandfull{position:relative;min-height:clamp(440px,62vh,640px);display:flex;align-items:center;background-size:cover;background-position:center;overflow:hidden}
.bandfull:not(.reverse){min-height:clamp(400px,50vh,540px)}
.bandfull:not(.reverse) .slot-img{object-position:50% 100%!important;transform-origin:50% 100%!important}
.bandfull .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(239,231,213,.95),rgba(239,231,213,.62) 46%,rgba(239,231,213,.1) 82%)}
.bandfull.reverse .veil{background:linear-gradient(270deg,rgba(239,231,213,.95),rgba(239,231,213,.62) 46%,rgba(239,231,213,.1) 82%)}
.bandfull .bf-in{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:0 22px;width:100%}
.bandfull .bf-copy{max-width:520px}
.bandfull.reverse .bf-copy{margin-left:auto;text-align:right}
.bandfull .cap{position:absolute;left:16px;bottom:14px;z-index:2;font-size:.72rem;color:#fff;background:rgba(30,42,23,.5);backdrop-filter:blur(3px);padding:4px 11px;border-radius:999px}
.bandfull.reverse .cap{left:auto;right:16px}
@media(max-width:900px){.bandfull .veil,.bandfull.reverse .veil{background:linear-gradient(180deg,rgba(239,231,213,.88),rgba(239,231,213,.72))}.bandfull.reverse .bf-copy{text-align:left;margin-left:0}}
.impress{position:relative;overflow:hidden;min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:0}
.impress-bg{position:absolute;inset:0}
.impress-bg .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:heroFade 27s cubic-bezier(.4,0,.2,1) infinite;will-change:opacity,transform}
.impress-bg .slide:nth-child(1){animation-delay:0s}
.impress-bg .slide:nth-child(2){animation-delay:9s}
.impress-bg .slide:nth-child(3){animation-delay:18s}
.impress-veil{position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,28,14,.6),rgba(20,28,14,.32))}
.impress-in{position:relative;z-index:2;max-width:760px;padding:48px 24px;color:#fff}
.impress-in h2{color:#fff}
.impress-in .eyebrow{color:#dfe9c8}
.impress-in p{color:#e9efdb}
.impress .cap{position:absolute;left:16px;bottom:14px;z-index:3;font-size:.72rem;color:#fff;background:rgba(20,28,14,.5);backdrop-filter:blur(3px);padding:4px 11px;border-radius:999px}
@media(prefers-reduced-motion:reduce){.impress-bg .slide{animation:none}.impress-bg .slide:nth-child(1){opacity:1}}
/* Echte Kundenfotos */
/* Kundenfotos (freigegebene Auswahl) */
.impress-bg .slide{animation:impFade5 35s ease-in-out infinite}
.impress-bg .slide:nth-child(1){animation-delay:0s}
.impress-bg .slide:nth-child(2){animation-delay:7s}
.impress-bg .slide:nth-child(3){animation-delay:14s}
.impress-bg .slide:nth-child(4){animation-delay:21s}
.impress-bg .slide:nth-child(5){animation-delay:28s}
@keyframes impFade5{0%{opacity:0}2%{opacity:1}18%{opacity:1}20%{opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.impress-bg .slide{animation:none}.impress-bg .slide:nth-child(1){opacity:1}}
/* Bild-Slots als echte <img> (editierbar) */
.hero-bg .slide,.impress-bg .slide{width:100%;height:100%;object-fit:cover}
.slot-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.divider{overflow:hidden}
.divider .veil{z-index:1}
.bandfull .veil{z-index:1}
.portrait{position:relative;overflow:hidden}
/* ============ Unterseiten (Subpages) ============ */
.subhero{position:relative; background:linear-gradient(160deg,var(--green-900),var(--green-800)); color:#eef3e4; overflow:hidden}
.subhero::after{content:""; position:absolute; inset:0; background:radial-gradient(120% 90% at 85% 0%,rgba(193,154,63,.20),transparent 60%); pointer-events:none}
.subhero .container{position:relative; z-index:1; padding:clamp(30px,6vw,70px) 22px clamp(34px,6vw,64px)}
.crumb{font-size:.82rem; color:#bcd0a6; margin-bottom:14px}
.crumb a{color:#bcd0a6; text-decoration:underline; text-underline-offset:2px}
.crumb a:hover{color:#fff}
.subhero h1{color:#fff; font-size:clamp(2rem,4.6vw,3.1rem); max-width:20ch; margin:.1em 0 .35em}
.subhero .sub-lead{font-size:1.12rem; color:#e6efd6; max-width:60ch; line-height:1.6}
.subhero .eyebrow{color:var(--gold)}
.subhero .btn-primary{background:var(--gold); color:#241c05}
.subhero .btn-primary:hover{background:#d3ac4e}
.subhero .btn-ghost{border-color:#cde0b5; color:#eef3e4}
.subhero .btn-ghost:hover{background:rgba(255,255,255,.12); color:#fff}
.prose{max-width:70ch}
.prose h2{font-size:clamp(1.5rem,3vw,2rem); margin:1.6em 0 .5em}
.prose h3{font-size:1.22rem; margin:1.4em 0 .35em; color:var(--green-800)}
.prose p{margin:.55em 0 .9em}
.prose ul{margin:.4em 0 1.1em; padding-left:1.15em}
.prose li{margin:.34em 0}
.prose a{text-decoration:underline; text-underline-offset:2px}
.prose blockquote{margin:1.2em 0; padding:.2em 0 .2em 20px; border-left:3px solid var(--gold); font-family:'Fraunces',serif; font-style:italic; font-size:1.2rem; color:var(--green-800)}
.two-col{display:grid; grid-template-columns:1fr .82fr; gap:clamp(28px,5vw,60px); align-items:start}
.two-col .aside{position:sticky; top:96px}
@media(max-width:999px){.two-col{grid-template-columns:1fr} .two-col .aside{position:static}}
.factbox{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:22px 24px; box-shadow:var(--shadow)}
.factbox h3{margin:0 0 12px; font-size:1.05rem; font-family:'Fraunces',serif; color:var(--green-900)}
.factbox dl{margin:0; display:grid; grid-template-columns:auto 1fr; gap:7px 14px; font-size:.92rem}
.factbox dt{color:var(--muted)}
.factbox dd{margin:0; font-weight:600; color:var(--green-800)}
.cta-band{background:var(--sage-soft); border-radius:var(--radius); padding:clamp(26px,4vw,44px); text-align:center; margin-top:20px}
.cta-band h2{margin:0 0 .3em}
.cta-band p{margin:0 auto 1.1em; max-width:52ch; color:var(--muted)}
.rel-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px; margin-top:20px}
.rel-card{display:block; background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:18px 20px; transition:transform .16s ease,box-shadow .16s ease}
.rel-card:hover{transform:translateY(-3px); box-shadow:var(--shadow)}
.rel-card b{display:block; font-family:'Fraunces',serif; color:var(--green-900); font-size:1.05rem; margin-bottom:4px}
.rel-card span{font-size:.9rem; color:var(--muted)}
.note-box{background:#fbf6e9; border:1px solid #ecdcb3; border-radius:12px; padding:14px 18px; font-size:.9rem; color:#6a5a2e; margin:1em 0}
/* Foto-Kopf für Unterseiten */
.subhero.has-photo{background:#141c0e}
.subhero .sh-bg{position:absolute; inset:0; z-index:0; background-size:cover; background-position:center}
.subhero .sh-bg::after{content:""; position:absolute; inset:0; background:linear-gradient(115deg,rgba(18,26,12,.94),rgba(18,26,12,.66) 52%,rgba(18,26,12,.34))}
.subhero.has-photo::after{display:none}
.subhero.has-photo .container{position:relative; z-index:1}
@media(max-width:700px){.subhero .sh-bg::after{background:linear-gradient(180deg,rgba(18,26,12,.86),rgba(18,26,12,.72))}}
/* Foto-Kopf NEU: helle Bilder, Schrift daneben (kein Overlay, kein Beschnitt) */
.subhero-split{display:grid; grid-template-columns:1.05fr .95fr; background:var(--cream); align-items:center; overflow:hidden; border-bottom:1px solid var(--line)}
.subhero-split .ss-text{padding:clamp(30px,4.6vw,64px) clamp(24px,4vw,58px)}
.subhero-split .crumb{color:var(--muted); margin-bottom:12px}
.subhero-split .crumb a{color:var(--green-700); text-decoration:underline; text-underline-offset:2px}
.subhero-split .eyebrow{color:var(--gold)}
.subhero-split h1{color:var(--green-900); font-size:clamp(1.9rem,3.8vw,3rem); line-height:1.12; max-width:16ch; margin:.1em 0 .34em}
.subhero-split .sub-lead{color:var(--muted); font-size:1.1rem; max-width:48ch; line-height:1.6}
.subhero-split .hero-cta{margin-top:24px}
.subhero-split .ss-media{align-self:stretch; display:flex; align-items:center; justify-content:center; background:var(--cream)}
.subhero-split .ss-media img{max-width:100%; max-height:clamp(300px,46vh,470px); width:auto; height:auto; display:block}
@media(max-width:860px), (horizontal-viewport-segments:2){
  .subhero-split{grid-template-columns:1fr}
  .subhero-split .ss-media{order:-1}
  .subhero-split .ss-text{padding-top:28px}
}
/* Flip-Variante: Foto links, Text rechts (z. B. „Was ist Qi Gong?") */
.subhero-split.flip{grid-template-columns:.95fr 1.05fr}
/* sehr hohe (quadratische) Motive begrenzen, damit der Kopfbereich nicht riesig wird */
/* ===== Dunkler Kopf (Unterseiten) – warmes Braun, helle Schrift ===== */
header{background:rgba(26,18,11,.9); border-bottom:1px solid rgba(245,237,220,.1)}
.brand{color:#F1E7D3}
.nav-links a{color:#E7DCC7}
.nav-links a:hover{color:#fff}
.nav-cta{background:#EFE4CB; color:#241C15!important}
.nav-cta:hover{background:#fff}
.burger{color:#EADFC9}
@media(max-width:860px){ .nav-links{background:#1A130C; border-bottom:1px solid rgba(245,237,220,.1)} }
.subhero-split{background:#1E160F; border-bottom:1px solid rgba(245,237,220,.08); min-height:clamp(340px,52svh,520px)}
.subhero-split .crumb{color:#b9ad97}
.subhero-split .crumb a{color:#E3CF92}
.subhero-split .eyebrow{color:#E3CF92}
.subhero-split h1{color:#F5EDDC}
.subhero-split .sub-lead{color:#E7DECB}
.subhero-split .ss-media{background:#1E160F}
.subhero-split .ss-media img{width:100%; height:100%; max-height:none; object-fit:cover; object-position:55% 50%}
.subhero-split .btn-primary{background:#EFE4CB; color:#241C15}
.subhero-split .btn-primary:hover{background:#fff; color:#241C15}
.subhero-split .btn-ghost{background:transparent; border-color:rgba(245,237,220,.5); color:#F5EDDC}
.subhero-split .btn-ghost:hover{background:rgba(245,237,220,.12); border-color:#F5EDDC; color:#fff}
/* ===== Vollbild-Kopf (Bild als Hintergrund, Text links überlagert) ===== */
.subhero-split.imgfull{position:relative; display:flex; align-items:center; grid-template-columns:none; min-height:clamp(430px,54svh,560px); overflow:hidden}
.subhero-split.imgfull .ss-media{position:absolute; inset:0; z-index:0; display:block; background:#1E160F}
.subhero-split.imgfull .ss-media img{width:100%; height:100%; max-height:none; object-fit:cover; object-position:88% 82%}
.subhero-split.imgfull .ss-scrim{position:absolute; inset:0; z-index:1; background:linear-gradient(100deg,rgba(26,18,11,.95) 0%,rgba(26,18,11,.82) 34%,rgba(26,18,11,.5) 54%,rgba(26,18,11,.12) 72%,rgba(26,18,11,0) 88%)}
.subhero-split.imgfull .ss-text .crumb,.subhero-split.imgfull .ss-text .eyebrow,.subhero-split.imgfull .ss-text h1,.subhero-split.imgfull .ss-text .sub-lead{text-shadow:0 1px 12px rgba(18,12,7,.55)}
.subhero-split.imgfull .ss-text{position:relative; z-index:2; max-width:min(560px,54%); margin:0 auto; width:100%; padding:clamp(24px,4vw,40px) clamp(24px,4vw,58px)}
.subhero-split.imgfull .ss-in{max-width:var(--maxw,1120px); margin:0 auto; width:100%}
@media(max-width:860px), (horizontal-viewport-segments:2){
  .subhero-split.imgfull{display:flex; flex-direction:column; min-height:0}
  .subhero-split.imgfull .ss-media{position:relative; inset:auto; order:-1; width:100%; aspect-ratio:4/5}
  .subhero-split.imgfull .ss-media img{object-position:78% 50%}
  .subhero-split.imgfull .ss-scrim{display:none}
  .subhero-split.imgfull .ss-text{max-width:none; padding:22px 22px 34px}
}
.subhero-split.imgfull .ss-text{max-width:var(--maxw,1120px); margin:0 auto; width:100%; padding:clamp(24px,4vw,40px) clamp(24px,4vw,58px)}
.subhero-split.imgfull .ss-text > *{max-width:560px}
/* ===== Kopf mit breitem Bild am Desktop + Hochformat mobil (.pmob) ===== */
/* Desktop-object-position pro Seite per Inline-Style am <img>. */
/* .tright: Figur links im Bild -> Text/Scrim rechts (gespiegeltes imgfull) */
.subhero-split.imgfull.tright .ss-scrim{background:linear-gradient(260deg,rgba(26,18,11,.95) 0%,rgba(26,18,11,.82) 34%,rgba(26,18,11,.5) 54%,rgba(26,18,11,.12) 72%,rgba(26,18,11,0) 88%)}
.subhero-split.imgfull.tright .ss-text{text-align:right}
.subhero-split.imgfull.tright .ss-text > *{margin-left:auto}
.subhero-split.imgfull.tright .hero-cta{justify-content:flex-end}
/* ===== Mobil: Überschrift ÜBER dem Bild (Unterseiten-Kopf) ===== */
@media(max-width:860px), (horizontal-viewport-segments:2){
  .subhero-split, .subhero-split.imgfull{display:flex; flex-direction:column; min-height:0; align-items:stretch}
  .subhero-split .ss-text, .subhero-split.imgfull .ss-text{display:contents}
  .subhero-split .crumb{order:1; padding:20px 22px 0; margin:0}
  .subhero-split .eyebrow{order:2; padding:8px 22px 0; margin:0}
  .subhero-split h1{order:3; padding:2px 22px 24px; margin:0}
  .subhero-split .ss-media, .subhero-split.imgfull .ss-media{order:4; position:relative; inset:auto; width:100%; aspect-ratio:3/2}
  .subhero-split .ss-media img, .subhero-split.imgfull .ss-media img{width:100%; height:100%; object-fit:cover; object-position:50% 45%; max-height:none}
  .subhero-split .sub-lead{order:5; padding:16px 22px 0; margin:0}
  .subhero-split .hero-cta{order:6; padding:18px 22px 34px; margin:0}
  .subhero-split .ss-scrim, .subhero-split.imgfull .ss-scrim{display:none}
}
@media(max-width:860px), (horizontal-viewport-segments:2){
  /* Hochformat mobil unter der Überschrift: ganze Figur in natürlicher Höhe, kein Beschnitt */
  .subhero-split.imgfull.pmob .ss-media{aspect-ratio:auto; height:auto; background:#16120c}
  .subhero-split.imgfull.pmob .ss-media img{position:static; width:100%; height:auto; max-height:none; object-fit:contain; object-position:center; padding:0}
  /* Text bei .tright mobil wieder linksbündig (liest sich unter der Überschrift besser) */
  .subhero-split.imgfull.tright .ss-text{text-align:left}
  .subhero-split.imgfull.tright .hero-cta{justify-content:flex-start}
}
/* ===== Breite, flache Ansichten (Foldable aufgeklappt, Tablet/Handy quer) =====
   Unterseiten-Kopf nicht stapeln: Text und Bild nebeneinander, damit auf
   kurzen Querformat-Schirmen nichts untereinander rutscht. */
@media (min-width:700px) and (max-width:859px) and (orientation:landscape){
  .subhero-split{display:grid; grid-template-columns:1.05fr .95fr; align-items:center;
                 min-height:clamp(300px,78svh,460px)}
  .subhero-split.flip{grid-template-columns:.95fr 1.05fr}
  .subhero-split .ss-text{display:block; padding:clamp(18px,3vw,32px) clamp(20px,3.2vw,36px)}
  .subhero-split .crumb,.subhero-split .eyebrow,.subhero-split h1,
  .subhero-split .sub-lead,.subhero-split .hero-cta{padding:0; margin:0}
  .subhero-split .crumb{margin-bottom:8px}
  .subhero-split h1{font-size:clamp(1.5rem,3.1vw,2rem); margin:.1em 0 .3em; max-width:18ch}
  .subhero-split .sub-lead{font-size:1rem; max-width:42ch}
  .subhero-split .hero-cta{margin-top:16px}
  .subhero-split .ss-media{order:0; align-self:stretch; position:relative; inset:auto;
                           width:auto; aspect-ratio:auto}
  .subhero-split .ss-media img{width:100%; height:100%; object-fit:cover;
                               object-position:55% 50%; max-height:none}
  /* Vollbild-Varianten: Overlay-Layout wiederherstellen */
  .subhero-split.imgfull{display:flex; align-items:center; grid-template-columns:none;
                         position:relative; min-height:clamp(320px,88svh,470px)}
  .subhero-split.imgfull .ss-media{position:absolute; inset:0; z-index:0; width:auto; aspect-ratio:auto}
  .subhero-split.imgfull .ss-media img{object-position:88% 60%}
  .subhero-split.imgfull .ss-scrim{display:block}
  .subhero-split.imgfull .ss-text{display:block; position:relative; z-index:2;
                                  max-width:min(520px,56%); margin:0 auto; width:100%;
                                  padding:clamp(18px,3vw,32px) clamp(20px,3.2vw,36px)}
  .subhero-split.imgfull .ss-text .crumb,.subhero-split.imgfull .ss-text .eyebrow,
  .subhero-split.imgfull .ss-text h1,.subhero-split.imgfull .ss-text .sub-lead,
  .subhero-split.imgfull .ss-text .hero-cta{padding:0; margin:0}
  .subhero-split.imgfull .ss-text .crumb{margin-bottom:8px}
  .subhero-split.imgfull .ss-text h1{margin:.1em 0 .3em}
  .subhero-split.imgfull .ss-text .hero-cta{margin-top:16px}
  .subhero-split.imgfull.tright .ss-text{text-align:right; margin-left:auto}
  .subhero-split.imgfull.tright .hero-cta{justify-content:flex-end}
  /* pmob-Varianten (sonst 'contain' aus der Handy-Regel, höhere Spezifität) */
  .subhero-split.imgfull.pmob .ss-media{aspect-ratio:auto; height:auto; background:#1E160F}
  .subhero-split.imgfull.pmob .ss-media img{position:absolute; inset:0; width:100%; height:100%;
                                            object-fit:cover; object-position:70% 45%}
}
/* ===== Bild im Lesetext (.prose figure.fig) ===== */
.prose figure.fig{margin:1.9em 0 1.7em; max-width:100%}
.prose figure.fig img{display:block; width:100%; height:auto; border-radius:var(--radius); box-shadow:var(--shadow); background:#1E160F}
.prose figure.fig figcaption{margin-top:.6em; font-size:.88rem; line-height:1.5; color:var(--muted)}
@media (max-width:700px){
  .prose figure.fig{margin:1.5em 0 1.3em}
  .prose figure.fig img{border-radius:12px}
  .prose figure.fig figcaption{font-size:.84rem}
}
/* ===== Nummerierte Übungsliste (z. B. die 8 Brokate) ===== */
.prose ol{margin:.5em 0 1.2em; padding-left:1.35em}
.prose ol li{margin:.34em 0}
.prose ol.uebungen li{margin:.7em 0; padding-left:.15em}
.prose ol.uebungen .wirkung{display:block; color:var(--muted); margin-top:.12em}
.prose ol.uebungen .cn{display:block; font-size:.86rem; color:var(--muted); margin-top:.15em; line-height:1.45}
.prose ol.uebungen .cn .han{font-size:1.02em; letter-spacing:.04em}
@media (max-width:700px){ .prose ol.uebungen .cn{font-size:.82rem} }
/* ===== Wortherkunft (z. B. Ba Duan Jin) ===== */
.prose ul.wortherkunft{list-style:none; padding-left:0; margin:.5em 0 1em}
.prose ul.wortherkunft li{margin:.3em 0}
.prose ul.wortherkunft .han{font-size:1.15em; color:var(--green-700); margin:0 .35em 0 .15em}
/* ===== Mitlaufender Kontaktkasten (Rail) – nur Desktop ===== */
:root{--railw:340px; --railgap:56px}
.railpage{position:relative}
@media(min-width:1000px){
  .railpage > section > .container{padding-right:calc(var(--railw) + var(--railgap) + 22px)}
  .railpage .faq-col{max-width:var(--maxw)}
  .rail{position:absolute; top:0; bottom:0; left:50%; transform:translateX(-50%);
        width:min(100%, var(--maxw)); padding:0 22px; box-sizing:border-box;
        display:flex; justify-content:flex-end; pointer-events:none; z-index:2}
  .rail .factbox{position:sticky; top:96px; align-self:flex-start;
                 width:var(--railw); pointer-events:auto}
  .railpage .two-col{grid-template-columns:1fr}
}
@media(max-width:999px){
  .rail{display:block; padding:0 22px; margin:0 auto 8px}
  .rail .factbox{max-width:560px; margin:0 auto}
  .railpage .faq-col{max-width:760px}
}
/* WhatsApp-Knopf im Kontaktkasten – Symbol fest in der linken Ecke */
.btn-wa{position:relative; width:100%; justify-content:center; margin-top:9px;
        padding-left:60px; padding-right:18px}
.btn-wa svg{width:38px; height:38px; flex:none;
            position:absolute; left:13px; top:50%; transform:translateY(-50%)}
@media(max-width:640px){ .btn-wa{padding-left:56px; padding-right:16px; font-size:.94rem}
                         .btn-wa svg{width:35px; height:35px; left:12px} }
.factbox .btn{width:100%; justify-content:center}
.factbox .btn-primary{margin-top:6px}
/* ===== Feine cremefarbene Kante am Kopfbild (oben, unten, links) ===== */
/* Das Foto hat einen anderen Braunton als der dunkle Balken; eine Haarlinie
   trennt beides sauber. Rechts bewusst offen – dort läuft das Bild aus dem Bild. */
:root{--bildkante:#EFE4CB}
@media (min-width:1000px){
  /* etwas Luft zwischen Schriftblock und Bildkante */
  .subhero-split:not(.imgfull){column-gap:clamp(26px,2.6vw,40px)}
  .subhero-split:not(.imgfull) .ss-media{
    border-top:1px solid var(--bildkante);
    border-bottom:1px solid var(--bildkante);
    border-left:1px solid var(--bildkante);
  }
  /* .flip: Bild steht links und läuft nach links aus – dort bleibt die Kante offen */
  .subhero-split.flip:not(.imgfull) .ss-media{
    border-left:0; border-right:1px solid var(--bildkante);
  }
}
@media (min-width:700px) and (max-width:859px) and (orientation:landscape){
  .subhero-split:not(.imgfull){column-gap:24px}
  .subhero-split:not(.imgfull) .ss-media{
    border-top:1px solid var(--bildkante);
    border-bottom:1px solid var(--bildkante);
    border-left:1px solid var(--bildkante);
  }
  .subhero-split.flip:not(.imgfull) .ss-media{
    border-left:0; border-right:1px solid var(--bildkante);
  }
}
/* Hochformat-Bild im Lesetext – schmaler und mittig gesetzt */
.prose figure.fig.hoch{max-width:420px; margin-left:auto; margin-right:auto}
@media(max-width:700px){ .prose figure.fig.hoch{max-width:100%} }
/* „Weiterlesen“-Karten neben dem mitlaufenden Kontaktkasten –
   schmaler, damit die drei Karten wieder in eine Reihe passen. */
@media(min-width:1060px){
  .railpage .rel-grid{grid-template-columns:repeat(auto-fit,minmax(188px,1fr))}
  .railpage .rel-card{padding:16px 16px 15px}
  .railpage .rel-card b{font-size:1rem; line-height:1.25}
  .railpage .rel-card span{font-size:.86rem}
}
/* ===== Teilnehmerstimmen ===== */
.stimmen-liste{display:grid; gap:22px; margin:26px 0 0}
figure.stimme{margin:0; background:var(--paper); border:1px solid var(--line);
  border-radius:16px; padding:26px 28px 22px; position:relative;
  box-shadow:0 4px 18px -14px rgba(45,32,20,.35)}
figure.stimme::before{content:"\201C"; position:absolute; top:6px; left:16px;
  font-family:'Fraunces',Georgia,serif; font-size:3.4rem; line-height:1;
  color:var(--gold); opacity:.5}
figure.stimme blockquote{margin:0; padding-left:22px}
figure.stimme blockquote p{margin:0 0 12px; color:var(--ink); line-height:1.72}
figure.stimme blockquote p:last-child{margin-bottom:0}
figure.stimme figcaption{margin:16px 0 0; padding-left:22px; display:flex;
  flex-wrap:wrap; align-items:baseline; gap:6px 12px; font-size:.92rem}
.st-name{font-family:'Fraunces',Georgia,serif; font-weight:600; color:var(--green-900); font-size:1.02rem}
.st-rolle{color:var(--muted)}
.st-datum{color:var(--muted)}
.st-verif{display:inline-flex; align-items:center; gap:5px; margin-left:auto;
  background:rgba(138,88,32,.10); color:var(--green-700);
  font-size:.74rem; font-weight:700; letter-spacing:.02em;
  padding:4px 10px 4px 8px; border-radius:999px; white-space:nowrap}
.st-verif svg{width:13px; height:13px; flex:none}
@media(max-width:640px){
  figure.stimme{padding:22px 20px 18px}
  figure.stimme blockquote, figure.stimme figcaption{padding-left:14px}
  .st-verif{margin-left:0}
}
/* Kurzfassung auf der Startseite */
.stimmen-kurz{display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:20px; margin-top:22px}
.stimmen-kurz figure.stimme blockquote p{font-size:.98rem}
.stimmen-mehr{margin:26px 0 0; text-align:center}
.st-zeile{display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px}
@media(min-width:900px){ .stimmen-kurz{grid-template-columns:1fr 1fr} }
/* ---------- Social-Links im Footer ---------- */
.fsocial{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 20px}
.fs-links{display:flex; flex-wrap:wrap; align-items:center; gap:6px 16px}
.fs-links a{display:inline-flex; align-items:center; gap:6px; color:#cdd9bb; text-decoration:none}
.fs-links a:hover,.fs-links a:focus-visible{color:#fff; text-decoration:underline}
.fs-links svg{width:16px; height:16px; flex:none}
/* ---------- Sichtbarer Tastatur-Fokus ---------- */
:focus-visible{outline:3px solid #8a5820; outline-offset:2px; border-radius:3px}
.subhero-split :focus-visible,
.impress :focus-visible,
.contact :focus-visible,
footer :focus-visible,
.hero :focus-visible{outline-color:#F5EDDC}
/* ---- Anmeldeformular ---- */
.anm{display:flex;flex-direction:column;gap:16px;margin:8px 0 6px;padding:26px 26px 28px;background:#FBF6EC;border:1px solid var(--line,#D9CCB4);border-radius:18px}
.anm-zeile{display:flex;gap:16px;flex-wrap:wrap}
.anm-feld{flex:1 1 220px;display:block;font-size:.95rem;font-weight:600;color:#5C4326}
.anm-feld.anm-voll{flex:1 1 100%}
.anm input[type=text],.anm input[type=email],.anm input[type=tel],.anm select,.anm textarea{
  font:inherit;font-weight:400;color:#2b2119;background:#fff;border:1px solid #D9CCB4;border-radius:10px;padding:11px 13px;width:100%;margin-top:6px;font-size:max(16px,1rem)}
.anm textarea{resize:vertical;min-height:84px}
.anm input:focus-visible,.anm select:focus-visible,.anm textarea:focus-visible{outline:3px solid #8A5820;outline-offset:2px;border-color:#8A5820}
.anm-pflicht{color:#933f31}
/* Die WhatsApp-Nummer ist eine andere als die Telefonnummer – deshalb steht sie im Klartext daneben. */
.wa-nr{margin:8px 0 0;font-size:.86rem;color:#6B6154;line-height:1.5}
.anm-vorwort{margin:0 0 18px;color:#4a3f31;font-size:.97rem;line-height:1.6}
.naechste-fuss{margin:14px 0 0;font-size:.95rem;color:#6B6154}
.anm-dsinfo{font-size:.95rem;color:#4a3f31;margin:4px 0 0}
.anm-check{display:flex;gap:11px;align-items:flex-start;font-size:.95rem;color:#4a3f31;font-weight:400}
.anm-check input{margin-top:2px;width:24px;height:24px;accent-color:#8A5820;flex:0 0 auto}
.anm-senden{align-self:flex-start;margin-top:2px}
.anm-hinweis{margin:0;font-size:.93rem;color:#6B6154}
.anm-hinweis.anm-ok{color:#3f5c2f;font-weight:600}
.anm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:640px){.anm{padding:20px 18px 22px}.anm-senden{align-self:stretch;text-align:center}}
/* ---- Sprungziele nicht unter der Kopfzeile verstecken ---- */
:target{scroll-margin-top:96px}
h1[id],h2[id],h3[id],section[id],div[id],form[id]{scroll-margin-top:96px}
/* ---- Menü: bequemere Tippflächen ---- */
@media(max-width:860px){
  .nav-links a{display:block; padding:10px 4px}
}
/* ---- Mobiles Menü: geschlossen ist es wirklich weg (Tastatur, Vorlesehilfen) ---- */
@media(max-width:860px){
  .nav-links{visibility:hidden; transition:transform .3s ease, visibility 0s .3s}
  .nav-links.open{visibility:visible; transition:transform .3s ease}
}


/* ---- Rückmeldung nach dem Absenden der Anmeldung ---- */
.anm-hinweis.anm-offen{margin-top:4px;padding:16px 18px;background:#FBF3DF;border:1px solid #D9CCB4;
  border-left:4px solid #8A5820;border-radius:12px;color:#4a3f31;font-size:1rem;line-height:1.55}
.anm-hinweis.anm-offen strong{color:#5C4326}
.anm-kopie{display:block;width:100%;margin-top:12px;font:inherit;font-size:.92rem;color:#2b2119;
  background:#fff;border:1px solid #D9CCB4;border-radius:10px;padding:10px 12px;resize:vertical}
.anm-kopieren{margin-top:10px}

/* Responsive Bilder (WebP mit JPG-Rückfall), 25.09.2026 */
picture.pw{display:contents}
.impress-bg picture.slide{display:block}
.impress-bg picture.slide img{width:100%;height:100%;object-fit:cover;display:block;object-position:inherit}
.ueber-intro>picture>img,.ueber-split .us-photo>picture>img{display:block;width:100%;height:auto}
.kk-wbody .kk-wzeit{display:block}

/* Barrierefreiheit (25.09.2026): Links im Fließtext unterstrichen, größere Klickflächen im Fuß */
main :is(p,li,dd,td,figcaption,.faq,.note-box) a:not(.btn):not(.nav-cta):not(.rel-card):not(.card){text-decoration:underline;text-underline-offset:2px}
footer .fgrid a{display:inline-block;padding-block:5px;line-height:1.45}
.imp-pause{margin-top:18px;display:inline-flex;align-items:center;gap:8px;background:rgba(20,14,8,.55);color:#fff;border:1px solid rgba(255,255,255,.6);border-radius:999px;padding:9px 18px;font:inherit;font-size:.92rem;font-weight:600;cursor:pointer;min-height:40px}
.imp-pause:hover,.imp-pause:focus-visible{background:rgba(20,14,8,.8);border-color:#fff}
.imp-pause:focus-visible{outline:3px solid #fff;outline-offset:3px}
.impress.paused .impress-bg .slide,.impress:hover .impress-bg .slide,.impress:focus-within .impress-bg .slide{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.imp-pause{display:none}}
/* Pause-Knopf für den Bildwechsel im Kopf der Startseite (WCAG 2.2.2), 25.09.2026 */
.hero-pause{position:absolute;right:22px;bottom:22px;z-index:3;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(20,14,8,.55);color:#fff;border:1px solid rgba(255,255,255,.6);font:600 .9rem/1 Inter,sans-serif;cursor:pointer}
.hero-pause:hover,.hero-pause:focus-visible{background:rgba(20,14,8,.85);border-color:#fff}
.hero-pause:focus-visible{outline:3px solid #fff;outline-offset:3px}
.hero.paused .hero-bg .slide{animation-play-state:paused}
@media(max-width:860px){.hero-pause{position:relative;right:auto;bottom:auto;order:2;align-self:flex-end;margin:-56px 12px 12px 0}}
@media (min-width:700px) and (max-width:859px) and (orientation:landscape){.hero-pause{position:absolute;right:16px;bottom:16px;margin:0}}
@media(prefers-reduced-motion:reduce){.hero-pause{display:none}}

/* Seitenleiste mit „Nächste Termine“ (F2, 25.09.2026) */
@media(min-width:1000px){
  .rail{flex-direction:column;align-items:flex-end;justify-content:flex-start}
  .rail .factbox{position:static}
  .rail .rail-stack{position:sticky;top:84px;width:var(--railw);pointer-events:auto;display:grid;gap:14px}
}
@media(min-width:1000px){.rail .rail-stack.rail-fest{position:static;display:block;flex:1 1 auto}.rail .rail-fest .rail-termine{position:sticky;top:84px;margin-top:14px}}
.rail-termine{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}
.rail-termine h3{margin:0 0 10px;font-size:1.05rem;font-family:'Fraunces',serif;color:var(--green-900)}
.rail-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.rail-item{display:flex;gap:12px;align-items:flex-start}
.rail-item .kk-date{width:46px;height:46px;flex:0 0 auto}
.rail-item .kk-date .kk-d{font-size:1.15rem}
.rail-info{min-width:0}
.rail-t{margin:0;font-weight:600;color:var(--green-900);font-size:.95rem;line-height:1.3}
.rail-m{margin:2px 0 4px;font-size:.84rem;color:var(--muted);line-height:1.35}
.rail-go{font-size:.88rem;font-weight:600;text-decoration:underline;text-underline-offset:2px;display:inline-block;padding-block:3px}
.rail-termine > .btn{width:100%;justify-content:center;text-align:center;margin-top:14px}
.rail-alle{margin:10px 0 0;font-size:.88rem;text-align:center}
.rail-alle a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:999px){.rail .rail-stack{max-width:560px;margin:0 auto;display:grid;gap:14px}}
.rail-hinweis{font-size:.84rem;color:var(--muted);line-height:1.4}
/* Bild mit eigenem cremefarbenen Rand (Radebeul-Eingang): nie beschneiden, sonst fehlt der Rand */
.subhero-split .ss-media img.mit-rand{height:auto!important;max-height:none!important;object-fit:contain!important}
.subhero-split .ss-media:has(img.mit-rand){border:0!important;align-self:center!important;aspect-ratio:auto!important;background:transparent!important}
.rail-woche{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:.88rem;line-height:1.45;color:#5b4f40}
.rail-woche span{white-space:nowrap}
/* Formular: gesperrter Knopf sichtbar als gesperrt; Hinweise */
.anm-senden:disabled{opacity:.55;cursor:default;filter:saturate(.4)}
.anm-feldhinweis{display:block;font-size:.88rem;color:#5b4f40;font-weight:400;margin-top:4px}
.anm-check-frei{display:flex;gap:11px;align-items:flex-start;font-size:.95rem;color:#4a3f31;margin:6px 0 0}
.anm-check-frei input{margin-top:2px;width:24px;height:24px;accent-color:#8A5820;flex:0 0 auto}
.anm-anfrageinfo{font-size:.98rem}
/* Menüknopf und Kartenknopf: Klickfläche mindestens 44 px */
.burger{min-width:44px;min-height:44px}
[data-map-load]{min-height:44px}
[hidden]{display:none!important}

/* Pressekasten Über uns (25.09.2026) */
.presse{margin:18px 0 28px;padding:20px 22px;border:1px solid #e6dccb;border-left:4px solid #b08a4a;border-radius:10px;background:#fbf7f0}
.presse p{margin:0 0 8px}
.presse .presse-quelle{font-size:.9rem;letter-spacing:.02em;text-transform:uppercase;color:#5b4f40}
.presse .presse-titel{font-family:Fraunces,Georgia,serif;font-size:1.3rem;line-height:1.3;color:#2d2418}
.presse blockquote{margin:10px 0 8px}
.presse figcaption{font-size:.9rem;color:#5b4f40}

/* Lesbarkeit (Prüfung 25.09.2026): kleine Hinweise größer */
.eyebrow{font-size:.86rem}
.rail-m{font-size:.94rem}
.rail-woche{font-size:.96rem}
.anm-check-frei{font-size:1rem}
.anm-feldhinweis{font-size:.95rem}
.anm-hinweis.anm-offen .anm-tel{font-size:1.25rem;font-weight:700;white-space:nowrap}
/* Kasten direkt in der Seitenleiste (ohne rail-stack, z. B. Anmeldung): rechts halten und mitlaufen lassen (27.09.2026) */
@media(min-width:1000px){.rail > .factbox{align-self:flex-end;position:sticky;top:84px}}
/* Probestunde ohne Anmeldung – Hinweis (27.09.2026) */
.probe-hinweis{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;padding:12px 16px;margin:14px 0 0;max-width:62ch}
.section-head .probe-hinweis{font-size:1rem}

@media print{.reveal{opacity:1!important;transform:none!important}header,.burger,.rail,.btn-wa{box-shadow:none}}
main:focus{outline:none}

/* ===== Bildrahmen „ganzes Bild" (Kursseite) =====
   Der Rahmen des Kopfbildes ist je nach Fensterbreite fast quadratisch bis
   hochkant. Ein Querformat wurde darin seitlich beschnitten – zuletzt mitten
   durch einen Menschen. Mit „bild-ganz" wird nichts mehr beschnitten.

   Dreierlei gehört dazu, sonst stimmt das Bild nicht:
   1. Der Kasten ist nur so hoch wie das Bild (kein align-self:stretch) –
      sonst stünden oben und unten dunkle Balken.
   2. Der Kasten sitzt mittig neben dem Schriftblock, nicht an dessen Oberkante –
      sonst hinge das Bild zu tief.
   3. Die cremefarbene Haarlinie sitzt am Bild, nicht am Kasten – sonst
      umrandete sie Leerraum. Rechts bleibt sie offen, wie im übrigen Entwurf:
      dort läuft das Bild aus dem Bild. */
.subhero-split.bild-ganz .ss-media{
  align-self:center; display:block; background:transparent;
  border:0; aspect-ratio:auto; height:auto;
}
.subhero-split.bild-ganz .ss-media img{
  width:100%; height:auto; max-height:none;
  object-fit:fill; object-position:50% 50%; display:block;
}
@media (min-width:1000px){
  .subhero-split.bild-ganz:not(.imgfull) .ss-media{ border:0; }
  .subhero-split.bild-ganz:not(.imgfull) .ss-media img{
    border-top:1px solid var(--bildkante);
    border-bottom:1px solid var(--bildkante);
    border-left:1px solid var(--bildkante);
  }
  .subhero-split.bild-ganz.flip:not(.imgfull) .ss-media img{
    border-left:0; border-right:1px solid var(--bildkante);
  }
}
@media (min-width:700px) and (max-width:859px) and (orientation:landscape){
  .subhero-split.bild-ganz:not(.imgfull) .ss-media{
    align-self:center; width:auto; height:auto; aspect-ratio:auto; border:0;
  }
  .subhero-split.bild-ganz:not(.imgfull) .ss-media img{
    width:100%; height:auto; object-fit:fill;
    border-top:1px solid var(--bildkante);
    border-bottom:1px solid var(--bildkante);
    border-left:1px solid var(--bildkante);
  }
}
@media(max-width:860px), (horizontal-viewport-segments:2){
  /* Mobil steht das Bild ohnehin unter der Überschrift – ganze Breite, volle Höhe. */
  .subhero-split.bild-ganz .ss-media{ aspect-ratio:auto; height:auto; }
  .subhero-split.bild-ganz .ss-media img{ position:static; height:auto; object-fit:fill; }
}

/* ---------------------------------------------------------------- Teilnehmervideos
   Der Block „Das sagen Teilnehmer“ hatte als einziger keine eigene Gestaltung.
   Folgen: Die hochkant aufgenommenen Dateien standen in ihrer vollen Breite da
   (464 und 480 Pixel) und ragten auf dem Telefon rechts aus dem Bild; auf
   /stimmen.html zogen sie die ganze Seite auf 582 Pixel, so dass jede Textzeile
   am Rand abgeschnitten war. Name und Rolle standen ohne Trennung aneinander
   („Dennis AlterAchtsamkeitslehrer“). */
.sv-intro{ max-width:62ch; }
.stimmen-video{ display:flex; flex-wrap:wrap; gap:24px; margin-top:18px; align-items:flex-start; }
.sv{ flex:1 1 260px; max-width:340px; margin:0; }
.sv-film{ display:block; width:100%; height:auto; border-radius:14px; background:#000; }
.sv figcaption{ margin-top:10px; }
.sv-name{ display:block; font-family:'Fraunces',Georgia,serif; font-size:1.05rem;
  color:var(--green-900); line-height:1.3; }
.sv-rolle{ display:block; font-size:.9rem; color:var(--muted); margin-top:2px; }
.sv-mehr{ margin-top:8px; }
.sv-mehr summary{ cursor:pointer; font-size:.92rem; font-weight:600; color:var(--green-700); }
.sv-mehr summary:hover{ color:var(--green-800); }
.sv-text{ margin:7px 0 0; font-size:.95rem; line-height:1.5; color:#5b4f40; }
@media(max-width:560px){
  .stimmen-video{ gap:20px; }
  .sv{ flex:1 1 100%; max-width:100%; }
}
