/* Schriften lokal (Mukta, Lora – SIL Open Font License) */
@font-face{font-family:"Mukta";font-style:normal;font-weight:300;font-display:swap;src:url("/fonts/mukta-latin-300-normal.woff2") format("woff2")}
@font-face{font-family:"Mukta";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/mukta-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Mukta";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/mukta-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Mukta";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/mukta-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Lora";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/lora-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Lora";font-style:italic;font-weight:500;font-display:swap;src:url("/fonts/lora-latin-500-italic.woff2") format("woff2")}

/* Layout: ruhige One-Page-Praxisseite im bisherigen Stil – weiß / Steingrau im Wechsel, Pusteblumen-Teal als Akzent, Magnolien-Bild als Auftakt */
:root{
  --bg:#ffffff;
  --bg-soft:#f6f5f3;
  --ink:#33393b;
  --text:#5f6669;
  --muted:#868d90;
  --teal:#acd8e0;
  --teal-ink:#33808d;
  --line:#e5e2dd;
  --on-ink:#ffffff;
  --hero-shade:rgba(30,36,38,.30);
  --logo-filter:none;
  --footer-bg:#acd8e0;
  --footer-ink:#1c3a40;
  --footer-muted:#35626b;
  --footer-line:rgba(28,58,64,.18);
  --flower-filter:none;
  --font-body:"Mukta",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-display:"Lora",Georgia,"Times New Roman",serif;
  --wrap:68rem;
  --radius:4px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#151a1b;--bg-soft:#1c2224;--ink:#eef2f2;--text:#b7c0c2;--muted:#8d989b;--teal:#7fbfcb;--teal-ink:#8fd2de;--line:#2b3436;--on-ink:#151a1b;--hero-shade:rgba(10,14,15,.45);--logo-filter:brightness(1.9);--footer-bg:#1c383e;--footer-ink:#e4f1f3;--footer-muted:#a6cbd2;--footer-line:rgba(228,241,243,.16);--flower-filter:none;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#151a1b;--bg-soft:#1c2224;--ink:#eef2f2;--text:#b7c0c2;--muted:#8d989b;--teal:#7fbfcb;--teal-ink:#8fd2de;--line:#2b3436;--on-ink:#151a1b;--hero-shade:rgba(10,14,15,.45);--logo-filter:brightness(1.9);--footer-bg:#1c383e;--footer-ink:#e4f1f3;--footer-muted:#a6cbd2;--footer-line:rgba(228,241,243,.16);--flower-filter:none;color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:1.0625rem;line-height:1.7;font-weight:400}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
h1,h2,h3{color:var(--ink);line-height:1.25;text-wrap:balance;margin:0}
h2{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.1rem);font-weight:600}
h3{font-size:1.15rem;font-weight:600}
p{margin:0}
sup{font-size:.6em;line-height:0;vertical-align:super}
a{color:var(--teal-ink);text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--teal-ink);outline-offset:3px}
img{display:block;max-width:100%;height:auto}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-ink)}
.prose{display:grid;gap:1rem;max-width:40rem}
.section{padding-block:clamp(3.5rem,8vw,6rem)}
.section.soft{background:var(--bg-soft)}
.section-head{display:grid;gap:.6rem;margin-bottom:2rem}

/* Header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.7rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;min-width:0}
.brand .flower{width:30px;filter:var(--logo-filter)}
.brand .wordmark{width:clamp(190px,32vw,260px);filter:var(--logo-filter)}
.nav{display:flex;gap:1.6rem}
.nav a{color:var(--ink);text-decoration:none;font-weight:400;font-size:.98rem;padding-block:.3rem;border-bottom:2px solid transparent}
.nav a:hover{border-bottom-color:var(--teal)}
.menu{display:none}
@media (max-width:860px){
  .nav{display:none}
  .menu{display:block;position:relative}
  .menu summary{list-style:none;cursor:pointer;color:var(--ink);font-weight:600;font-size:.95rem;padding:.4rem .8rem;border:1px solid var(--line);border-radius:var(--radius)}
  .menu summary::-webkit-details-marker{display:none}
  .menu[open] .menu-list{display:grid}
  .menu-list{display:none;position:absolute;right:0;top:calc(100% + .5rem);min-width:min(20rem,calc(100vw - 32px));background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem;box-shadow:0 10px 30px rgba(0,0,0,.08)}
  .menu-list a{color:var(--ink);text-decoration:none;padding:.55rem .8rem;border-radius:var(--radius)}
  .menu-list a:hover{background:var(--bg-soft)}
}

/* Hero */
.hero{position:relative;color:#fff;overflow:hidden}
.hero img{width:100%;height:clamp(300px,46vw,560px);object-fit:cover;object-position:center 40%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,var(--hero-shade) 100%)}
.hero-text{position:absolute;inset:auto 0 0;z-index:1;padding-block:clamp(1.5rem,4vw,3rem)}
.hero-text .wrap{display:grid;gap:.5rem;justify-items:start}
.hero h1{color:#fff;font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,1.3rem + 3vw,3.4rem);text-shadow:0 1px 18px rgba(0,0,0,.35)}
.hero p{font-size:clamp(1.02rem,.95rem + .4vw,1.25rem);text-shadow:0 1px 12px rgba(0,0,0,.45);max-width:34rem}

/* Intro band */
.intro{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
.intro > div{background:var(--bg);padding:1.6rem 1.4rem;display:grid;gap:.25rem;align-content:start}
.intro .label{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-ink);font-weight:600}
.intro .value{color:var(--ink);font-size:1.08rem}

/* Buttons */
.btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.6rem}
.btn{display:inline-flex;align-items:center;gap:.5rem;font:inherit;font-weight:600;font-size:.95rem;padding:.75rem 1.4rem;border-radius:var(--radius);text-decoration:none;cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:var(--on-ink)}
.btn:hover{opacity:.88}
.btn.ghost{background:transparent;color:var(--ink)}
.btn svg{width:18px;height:18px}

/* Two column with image */
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split > *{min-width:0}
.split figure{margin:0}
.split figure img{border-radius:var(--radius);width:100%;aspect-ratio:16/10;object-fit:cover}
.split.reverse{grid-template-columns:1fr 1.1fr}
.split.reverse > .media{order:-1}
@media (max-width:820px){.split,.split.reverse{grid-template-columns:1fr}.split.reverse > .media{order:0}}

/* Focus areas */
.areas{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:0 2.5rem}
.areas li{padding:.85rem 0 .85rem 1.6rem;border-bottom:1px solid var(--line);color:var(--ink);position:relative}
.areas li::before{content:"";position:absolute;left:0;top:1.35rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--teal)}

/* Fees */
.fees{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:820px){.fees{grid-template-columns:1fr}}
.fee-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.fee-table th,.fee-table td{padding:1rem 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:baseline}
.fee-table th{font-weight:400;color:var(--ink)}
.fee-table th small{display:block;color:var(--muted);font-size:.88rem}
.fee-table td{text-align:right;color:var(--ink);font-weight:600;font-size:1.2rem;white-space:nowrap}
.note{border-left:3px solid var(--teal);padding:.2rem 0 .2rem 1.1rem;display:grid;gap:.8rem}
.note .refund{color:var(--ink);font-weight:600}

/* Person */
.person{display:grid;grid-template-columns:minmax(0,18rem) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.person figure{margin:0;display:grid;gap:.8rem}
.person figure img{width:100%;border-radius:var(--radius)}
.person figcaption{color:var(--ink);font-weight:600;line-height:1.35}
.person figcaption span{display:block;color:var(--muted);font-weight:400;font-size:.95rem}
@media (max-width:760px){.person{grid-template-columns:1fr}.person figure{max-width:16rem}}
.cv{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:2rem 3rem;margin-top:2.2rem}
.cv h3{margin-bottom:.6rem}
.cv ul{margin:0;padding-left:1.1rem;display:grid;gap:.45rem}
.cv ul ul{margin-top:.35rem;gap:.2rem}

/* Contact */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (max-width:820px){.contact{grid-template-columns:1fr}}
.contact-info{display:grid;gap:1.4rem}
.contact-info dl{margin:0;display:grid;gap:1rem}
.contact-info dt{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-ink);font-weight:600}
.contact-info dd{margin:0;color:var(--ink)}
.contact-info dd a{color:var(--ink)}
form{display:grid;gap:1.1rem;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.2rem,3vw,2rem)}
.section.soft form{background:var(--bg)}
.field{display:grid;gap:.35rem}
.field label{color:var(--ink);font-weight:600;font-size:.95rem}
.field input,.field textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .85rem;width:100%}
.field textarea{min-height:9rem;resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--teal-ink)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
.consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem;line-height:1.5}
.consent input{margin-top:.25rem;width:1.05rem;height:1.05rem;accent-color:var(--teal-ink);flex:none}
.hp{position:absolute;left:-9999px}
.hint{font-size:.88rem;color:var(--muted)}
.form-status{font-size:.95rem;color:var(--ink);background:var(--bg-soft);border-radius:var(--radius);padding:.8rem 1rem}

/* Footer – Pusteblume auf Teal wie auf der bisherigen Seite */
.site-footer{background:var(--footer-bg);color:var(--footer-ink);padding-block:3.5rem 2rem;font-size:.97rem}
.site-footer h3{color:var(--footer-ink);font-size:1rem;margin-bottom:.3rem}
.site-footer a{color:var(--footer-ink)}
.footer-main{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.footer-flower img{width:100%;max-width:13rem;filter:var(--flower-filter)}
.footer-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1.6rem 2.5rem}
.quote{grid-column:1/-1;font-family:var(--font-display);font-style:italic;font-size:1.15rem;line-height:1.5;color:var(--footer-ink);border-top:1px solid var(--footer-line);padding-top:1.4rem}
.quote span{display:block;font-family:var(--font-body);font-style:normal;color:var(--footer-muted);font-size:.9rem;margin-top:.3rem}
.legal-links{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-top:2.4rem;padding-top:1.2rem;border-top:1px solid var(--footer-line);color:var(--footer-muted)}
.legal-links a{color:var(--footer-muted)}
@media (max-width:640px){.footer-main{grid-template-columns:1fr}.footer-flower img{max-width:8rem}}

/* Einblick: Bild + Zitat */
.einblick{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.einblick figure{margin:0}
.einblick img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.einblick blockquote{margin:0;display:grid;gap:1rem;border-left:3px solid var(--teal);padding-left:1.4rem}
.einblick blockquote p{font-family:var(--font-display);font-style:italic;color:var(--ink);font-size:clamp(1.25rem,1rem + 1vw,1.6rem);line-height:1.45}
.einblick blockquote footer{color:var(--muted);font-size:.95rem}
@media (max-width:820px){.einblick{grid-template-columns:1fr}}

/* Legal pages */
.legal{display:grid;gap:1.6rem;max-width:44rem}
.legal h3{margin-bottom:.3rem}
.legal .prose{gap:.7rem}
.facts{margin:0;display:grid;border-top:1px solid var(--line)}
.facts > div{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:.2rem 1.5rem;padding-block:.8rem;border-bottom:1px solid var(--line)}
.facts dt{color:var(--ink);font-weight:600}
.facts dd{margin:0}
@media (max-width:640px){.facts > div{grid-template-columns:1fr}}
.todo{background:var(--teal);color:#1d3a40;padding:0 .3rem;border-radius:2px;font-weight:600}

/* Seitenbasis (Unterseiten werden ohne Gerüst ausgeliefert) */
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
[hidden]{display:none!important}
.page-h1{font-size:clamp(1.9rem,1.3rem + 1.8vw,2.6rem);font-weight:600}
.page-top{padding-block:clamp(2.5rem,6vw,4rem) 0}
.nav a[aria-current="page"]{border-bottom-color:var(--teal-ink)}
.menu-list a[aria-current="page"]{background:var(--bg-soft)}
.teaser{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.teaser img{width:100%;border-radius:var(--radius)}
@media (max-width:700px){.teaser{grid-template-columns:1fr}.teaser img{max-width:14rem}}
.cta-band{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between}
.cta-band p{color:var(--ink);font-size:1.15rem;max-width:36rem}
.page-banner{margin:0;line-height:0}
.page-banner img{width:100%;height:clamp(170px,26vw,380px);object-fit:cover}
.page-banner.butterfly img{object-position:70% 45%}
.page-banner.anfahrt img{object-position:40% 55%}
