@font-face{font-family:"Jost";src:url(../fonts/jost-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Jost";src:url(../fonts/jost-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Jost";src:url(../fonts/jost-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant-garamond-latin-600-italic.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}

:root{
  --oliv:#3F4636; --oliv-dunkel:#30362A; --creme:#F7F5F0; --sand:#ECE8DF;
  --salbei:#A2AA92; --text:#2B2B2B; --text-weich:#5B5E55; --linie:#D9D5CB;
  --max:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:"Jost",system-ui,sans-serif;font-size:17px;line-height:1.65;color:var(--text);background:var(--creme)}
img{display:block;max-width:100%;height:auto}
a{color:var(--oliv)}
h1,h2,h3{font-family:"Cormorant",Georgia,serif;font-weight:500;line-height:1.12;color:var(--oliv)}
h1{font-size:clamp(2.4rem,6vw,4rem)}
h2{font-size:clamp(2rem,4.4vw,2.9rem);margin-bottom:.6em}
h3{font-size:1.6rem;margin-bottom:.3em}
em.kursiv,.kursiv{font-family:"Cormorant",Georgia,serif;font-style:italic;font-weight:600}
p+p{margin-top:.9em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
section{padding:72px 0}
.kicker{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-weich);font-weight:500;margin-bottom:12px}
.lead{font-size:1.15rem;color:var(--text-weich);max-width:38em}

/* Header */
.kopf{position:sticky;top:0;z-index:20;background:rgba(247,245,240,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--linie)}
.kopf .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.marke{font-family:"Cormorant",Georgia,serif;font-size:1.35rem;letter-spacing:.2em;color:var(--oliv);text-decoration:none;white-space:nowrap}
.nav{display:flex;gap:26px;align-items:center}
.nav a{text-decoration:none;color:var(--text);font-size:.95rem}
.nav a:hover{color:var(--oliv)}
.btn{display:inline-block;background:var(--oliv);color:var(--creme);text-decoration:none;padding:13px 24px;border-radius:3px;font-weight:500;letter-spacing:.02em;transition:background .2s}
.btn:hover{background:var(--oliv-dunkel)}
.btn.hell{background:transparent;color:var(--oliv);border:1px solid var(--oliv)}
.btn.hell:hover{background:var(--oliv);color:var(--creme)}
.nav .btn{padding:9px 18px;font-size:.92rem;color:var(--creme)}
@media (max-width:820px){.nav a:not(.btn){display:none}}

/* Hero */
.hero{padding:56px 0 72px}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero h1 .kursiv{display:block;color:var(--salbei);font-size:.82em}
.hero .lead{margin:22px 0 30px}
.hero .aktionen{display:flex;gap:14px;flex-wrap:wrap}
.hero figure img{border-radius:2px;aspect-ratio:4/5;object-fit:cover;width:100%}
.fakten{display:flex;gap:28px;flex-wrap:wrap;margin-top:34px;font-size:.92rem;color:var(--text-weich)}
.fakten span::before{content:"";display:inline-block;width:7px;height:7px;background:var(--salbei);border-radius:50%;margin-right:9px;vertical-align:middle}
@media (max-width:820px){.hero .wrap{grid-template-columns:1fr;gap:34px}.hero figure{order:-1;max-width:420px}}

/* Leistungen */
.leistungen{background:#fff}
.karten{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.karte{border:1px solid var(--linie);padding:30px 26px;display:flex;flex-direction:column;background:var(--creme)}
.karte p{color:var(--text-weich);font-size:.98rem}
.preis{font-family:"Cormorant",Georgia,serif;font-size:2.6rem;color:var(--oliv);margin-top:auto;padding-top:22px;line-height:1}
.preis small{display:block;font-family:"Jost",sans-serif;font-size:.85rem;color:var(--text-weich);margin-top:8px;line-height:1.4}
.dauer{font-size:.88rem;color:var(--text-weich);margin-top:14px;border-top:1px solid var(--linie);padding-top:12px}
.hinweis{margin-top:30px;background:var(--oliv);color:var(--creme);padding:24px 28px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.hinweis strong{font-family:"Cormorant",Georgia,serif;font-style:italic;font-weight:600;font-size:1.5rem;display:block}
.hinweis .btn{background:var(--creme);color:var(--oliv)}
.klein{font-size:.88rem;color:var(--text-weich);margin-top:18px}
@media (max-width:900px){.karten{grid-template-columns:1fr}}

/* Ablauf */
.zwei{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.schritte{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin-top:30px}
.schritte li{counter-increment:s;display:flex;flex-direction:column;gap:14px}
.schritte img{width:100%;aspect-ratio:4/5;object-fit:cover}
.schritte strong{display:block;font-weight:500;color:var(--oliv);margin-bottom:4px}
.schritte strong::before{content:counter(s,decimal-leading-zero);display:block;font-family:"Cormorant",Georgia,serif;font-size:1.9rem;font-weight:500;color:var(--salbei);line-height:1;margin-bottom:6px}
.schritte span{color:var(--text-weich);font-size:.95rem}
@media (max-width:1000px){.schritte{grid-template-columns:1fr;gap:26px}.schritte li{flex-direction:row;align-items:flex-start;gap:18px}.schritte img{width:38%;max-width:220px;flex-shrink:0}}
@media (max-width:860px){.zwei{grid-template-columns:1fr;gap:36px}}

/* Über mich */
.ueber{background:var(--sand)}
.ueber img{width:100%;aspect-ratio:4/5;object-fit:cover;max-width:460px;margin-left:auto}
.liste{list-style:none;margin-top:18px}
.liste li{padding:9px 0;border-bottom:1px solid var(--linie)}
.liste li:last-child{border-bottom:0}

/* Heilung */
.zeitleiste{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.zeitleiste div{border-top:2px solid var(--salbei);padding-top:14px}
.zeitleiste b{display:block;font-family:"Cormorant",Georgia,serif;font-size:1.4rem;color:var(--oliv);font-weight:500}
.zeitleiste p{font-size:.95rem;color:var(--text-weich)}
@media (max-width:860px){.zeitleiste{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.zeitleiste{grid-template-columns:1fr}}

/* FAQ */
.faq{background:#fff}
.faq details{border-bottom:1px solid var(--linie);padding:18px 0}
.faq summary{cursor:pointer;font-weight:500;color:var(--oliv);list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--salbei)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:10px;color:var(--text-weich);max-width:46em}
.faq .spalten{columns:2;column-gap:40px;margin-top:10px;color:var(--text-weich)}
@media (max-width:640px){.faq .spalten{columns:1}}

/* Kontakt */
.kontakt{background:var(--oliv);color:var(--creme)}
.kontakt h2,.kontakt .kicker{color:var(--creme)}
.kontakt .kicker{opacity:.75}
.kontakt a{color:var(--creme)}
.kontakt .btn{background:var(--creme);color:var(--oliv)}
.kontakt dl{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;margin-top:20px}
.kontakt dt{opacity:.7}
.fuss{background:var(--oliv-dunkel);color:#C9CCC0;font-size:.88rem;padding:26px 0}
.fuss .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.fuss a{color:#C9CCC0}

/* WhatsApp schwebend (nur Handy) */
.wa-fix{display:none}
@media (max-width:820px){
  .wa-fix{display:block;position:fixed;left:16px;right:16px;bottom:16px;z-index:30;text-align:center;box-shadow:0 6px 18px rgba(0,0,0,.18)}
  body{padding-bottom:80px}
}

/* Rechtstexte */
.recht{padding:56px 0 80px}
.recht h1{font-size:2.6rem;margin-bottom:28px}
.recht h2{font-size:1.6rem;margin:34px 0 10px}
.recht p,.recht li{max-width:46em}
.recht ul{margin:8px 0 0 20px}

/* Ergebnisse */
.erg-raster{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px;max-width:900px}
.erg-raster img{width:100%;aspect-ratio:4/5;object-fit:cover}
.erg-raster figcaption{margin-top:10px;font-size:.92rem;color:var(--text-weich)}
.erg-raster strong{color:var(--oliv);font-weight:500}
@media (max-width:640px){.erg-raster{grid-template-columns:1fr}}

.erg-stapel{display:grid;gap:28px;margin-top:30px;max-width:900px}
.erg-stapel img{width:100%;height:auto}
.erg-stapel figcaption{margin-top:10px;font-size:.92rem;color:var(--text-weich)}
.erg-stapel strong{color:var(--oliv);font-weight:500}
