/* ==========================================================================
   Heilpraktik Amare Degu – Stylesheet
   Aufbau:
     1. Schriften
     2. Variablen & Grundlagen
     3. Hilfsklassen (Container, Buttons, Wellen, Animationen)
     4. Kopfbereich & Navigation
     5. Fußbereich
     6. Startseite
     7. Heilverfahren
     8. Geschichten
     9. Über mich
    10. Kontakt
    11. Impressum & Datenschutz
   Breakpoints: Tablet ≤ 1024px, Smartphone ≤ 767px
   ========================================================================== */

/* 1. Schriften (lokal, keine Verbindung zu Google) ------------------------- */
@font-face{font-family:"Noto Sans";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/noto-sans-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Noto Sans";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/noto-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Noto Sans";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/noto-sans-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Noto Sans";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/noto-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Noto Sans";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/noto-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Noto Sans";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/noto-sans-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Noto Sans";font-style:italic;font-weight:700;font-display:swap;src:url(../fonts/noto-sans-latin-700-italic.woff2) format("woff2")}
@font-face{font-family:"Noto Sans";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/noto-sans-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Noto Sans";font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/noto-sans-latin-900-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/roboto-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/roboto-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/roboto-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/archivo-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/archivo-latin-800-normal.woff2) format("woff2")}

/* 2. Variablen & Grundlagen ----------------------------------------------- */
:root{
  --green:#2ce31b;          /* Hauptfarbe */
  --green-dark:#18a000;
  --black:#000;
  --white:#fff;
  --navy:#1d2366;
  --grey-line:#e9e9e9;
  --text:#333;
  --muted:#777;
  --dark-hover:#1b252f;
  --font:"Noto Sans",sans-serif;
  --font-nav:"Poppins",sans-serif;
  --font-system:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --boxed:1140px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-system);font-size:1rem;line-height:1.5;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{margin:0;font-weight:inherit;line-height:1;color:inherit}
p{margin:0 0 .9rem}
ul,ol{margin:0;padding-left:40px}
img{max-width:100%;height:auto;vertical-align:middle;border:0}
a{color:inherit;text-decoration:none}
button{font:inherit}
.hl{color:var(--green)}
.u{text-decoration:underline}
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:#fff;color:#000;padding:10px 16px}
.skip-link:focus{left:10px;top:10px}
@media (min-width:1025px){.only-mobile{display:none!important}}
@media (max-width:1024px){.only-desktop{display:none!important}}

/* 3. Hilfsklassen ----------------------------------------------------------- */
.container{width:100%;max-width:var(--boxed);margin-inline:auto}

/* Buttons */
.btn{display:inline-block;font-family:var(--font);font-size:16px;font-weight:500;line-height:1;text-align:center;
  color:#fff;background:var(--green);padding:15px 30px;border:0;border-radius:0;cursor:pointer;
  transition:background-color .3s,color .3s,border-color .3s}
.btn--pill{border:1px solid var(--grey-line);border-radius:24px}
.btn--pill:hover,.btn--pill:focus-visible{color:#fff;background:transparent;border-color:var(--green)}
.btn--ghost{background:transparent;border:1px solid var(--grey-line);border-radius:24px;transition:none}
.btn--ghost:hover,.btn--ghost:focus-visible{color:#000;background:var(--green);border-color:var(--green)}
.btn--block{font-size:21px;font-weight:800;padding:20px 55px}
.btn--block:hover,.btn--block:focus-visible,
.btn--hero:hover,.btn--hero:focus-visible{color:var(--green);background:var(--dark-hover)}
.btn--hero{font-family:"Archivo",sans-serif;font-size:18px;font-weight:800;text-transform:uppercase;padding:20px 55px}

/* Wellen-Trenner */
.wave{position:absolute;left:0;width:100%;overflow:hidden;line-height:0;pointer-events:none;z-index:2}
.wave svg{display:block;position:relative;left:50%;transform:translateX(-50%);width:calc(100% + 1.3px)}
.wave path{fill:var(--green)}

/* Hintergrund-Abdunkelung / -Aufhellung */
.overlay{position:relative;isolation:isolate}
.overlay::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ov-color,#000);opacity:var(--ov-opacity,.5)}
.bg-fixed{background-position:center;background-size:cover;background-repeat:no-repeat}
@media (min-width:1025px){.bg-fixed{background-attachment:fixed}}

/* Einblend-Animationen */
[data-anim]{opacity:0}
[data-anim].is-visible{animation-duration:1.25s;animation-fill-mode:both;opacity:1}
[data-anim="fade"].is-visible{animation-name:fadeIn}
[data-anim="fade-up"].is-visible{animation-name:fadeInUp}
[data-anim="fade-down"].is-visible{animation-name:fadeInDown}
[data-anim="pulse"].is-visible{animation-name:pulse}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeInUp{from{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:none}}
@keyframes fadeInDown{from{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:none}}
@keyframes pulse{from{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){[data-anim]{opacity:1}[data-anim].is-visible{animation:none}}

/* 4. Kopfbereich & Navigation --------------------------------------------- */
.site-header{position:sticky;top:0;z-index:95;background:#fff}
.site-header__inner{display:flex;align-items:center;min-height:100px;padding:0 8%}
.site-header__logo{flex:0 0 40%;display:block}
.site-header__logo img{display:block;width:auto;height:60px}
.main-nav{flex:0 1 auto;min-width:0;margin-right:20px}
.main-nav__list{display:flex;flex-wrap:wrap;justify-content:flex-end;list-style:none;margin:0;padding:0}
.main-nav__list li{margin:0 15px}
.main-nav__list li:first-child{margin-left:0}
.main-nav__list li:last-child{margin-right:0}
.main-nav__link{position:relative;display:block;padding:5px 0;white-space:nowrap;font-family:var(--font-nav);font-size:16px;line-height:1;
  text-transform:capitalize;color:#000;transition:color .3s}
.main-nav__link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--green);opacity:0;transition:opacity .3s}
.main-nav__link:hover,.main-nav__link:focus-visible,.main-nav__link.is-active{color:var(--green)}
.main-nav__link:hover::after,.main-nav__link:focus-visible::after,.main-nav__link.is-active::after{opacity:1}
.main-nav__toggle{display:none}
.btn--header{flex:0 0 auto;margin-left:auto;font-family:var(--font-nav);font-size:16px;font-weight:400;text-transform:capitalize;
  padding:16px 45px;border-radius:100px}
.btn--header:hover,.btn--header:focus-visible{color:var(--green);background:var(--dark-hover)}
.mobile-nav{display:none}

@media (max-width:1024px){
  .site-header__inner{min-height:85px;padding:0 5%}
  .site-header__logo{flex:0 0 15%}
  .site-header__logo img{height:27px}
  .main-nav{flex:1;display:flex;justify-content:flex-end;margin-right:0}
  .main-nav__link{font-size:14px}
  .btn--header{display:none}
}
@media (max-width:767px){
  .site-header__inner{min-height:65px;padding:0 32px 0 5%;justify-content:space-between}
  .site-header__logo{flex:0 0 192px}
  .site-header__logo img{width:192px;height:52px;object-fit:contain}
  .main-nav{flex:0 0 auto}
  .main-nav__list{display:none}
  .main-nav__toggle{display:flex;align-items:center;justify-content:center;width:53px;height:53px;padding:0;
    background:transparent;border:0;border-radius:3px;cursor:pointer;color:var(--green)}
  .main-nav__toggle svg{width:35px;height:35px;fill:var(--green)}
  .main-nav__toggle .icon-close{display:none}
  .main-nav__toggle[aria-expanded="true"] .icon-open{display:none}
  .main-nav__toggle[aria-expanded="true"] .icon-close{display:block}
  .mobile-nav{display:block;position:absolute;left:0;right:0;top:74px;background:#f3f5f8;z-index:9997;
    transform-origin:top;transform:scaleY(0);max-height:0;overflow:hidden;transition:transform .3s,max-height .3s}
  .mobile-nav.is-open{transform:scaleY(1);max-height:100vh;overflow:auto}
  .mobile-nav[hidden]{display:block}
  .mobile-nav ul{list-style:none;margin:0;padding:0}
  .mobile-nav__link{display:block;padding:14px 20px;font-family:var(--font-nav);font-size:14px;line-height:1;
    text-transform:capitalize;color:#000}
  .mobile-nav__link:hover,.mobile-nav__link:focus-visible{background:#fff}
  .mobile-nav__link.is-active{color:var(--green);background:#f9fafd}
}

/* 5. Fußbereich ------------------------------------------------------------- */
.site-footer{background:#fff;color:#000}
.site-footer__main{display:flex;padding:3.7vw 4%}
.site-footer__brand{flex:0 0 44%;padding-right:23%}
.site-footer__brand img{display:block;width:80%}
.site-footer__nav{flex:0 0 15.981%}
.site-footer__contact{flex:0 0 26.798%;min-width:0;display:flex;flex-direction:column;gap:24px}
.site-footer__nav{display:flex;flex-direction:column;gap:24px}
.site-footer__title{font-family:var(--font-nav);font-size:22px;font-weight:600;line-height:1.2;text-transform:capitalize;color:#000}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer__nav li+li{margin-top:10px}
.site-footer__nav a{display:block;font-family:var(--font);font-size:18px;font-weight:500;line-height:20px;color:#000;transition:color .3s}
.site-footer__nav a:hover,.site-footer__nav a.is-active{color:var(--green)}
.site-footer__contact li{font-family:var(--font);font-size:16px;font-weight:500;line-height:24px}
.site-footer__contact li+li{margin-top:10px}
.site-footer__contact a:hover{color:var(--green)}
.site-footer__legal{display:grid;grid-template-columns:repeat(3,1fr);column-gap:19.5px;max-width:var(--boxed);
  margin:0 auto;padding:10px 0 59px;font-family:var(--font);font-size:14px;font-weight:500;line-height:21px}
.site-footer__legal>*{grid-row:1}
.site-footer__legal>:first-child{grid-column:2;text-align:right}
.site-footer__legal>:last-child{grid-column:3}
.site-footer__legal a:hover,.site-footer__consent:hover{color:var(--green)}
.site-footer__legal-end{display:flex;flex-wrap:wrap;column-gap:20px}
.site-footer__consent{padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer}

@media (max-width:1024px){
  .site-footer__main{flex-wrap:wrap;padding:7.4% 4%}
  .site-footer__brand{flex-basis:36%;padding-right:4%}
  .site-footer__brand img{width:30%}
  .site-footer__nav{display:none}
  .site-footer__contact{flex-basis:32%;padding-left:4%}
  .site-footer__legal{padding:10px 10px 59px;grid-template-columns:repeat(3,1fr);column-gap:20px}
  .site-footer__legal>:first-child{grid-column:1;text-align:center}
  .site-footer__legal>:last-child{grid-column:2;justify-content:center}
}
@media (max-width:767px){
  .site-footer__main{padding:68px 6% 69px}
  .site-footer__brand{order:2;flex-basis:100%;padding:31px 0 0}
  .site-footer__brand img{margin-bottom:27px}
  .site-footer__contact{flex-basis:50%;padding-left:13.7px}
  .site-footer__title{font-size:18px}
  .site-footer__contact li+li{margin-top:8px}
  .site-footer__legal{display:flex;flex-direction:column;align-items:center;gap:15px;padding:0 0 29px}
  .site-footer__legal a{text-align:center}
  .site-footer__legal-end{display:contents}
}

/* 6. Startseite ------------------------------------------------------------- */
/* Gemeinsame Bausteine */
.kicker{margin:0 0 12px;font-family:var(--font);font-size:18.1px;font-weight:800;line-height:1;color:var(--green);text-align:center}
.kicker--sm{font-size:16px}
.divider{display:block;box-sizing:content-box;width:48px;height:4px;padding:8px 0;background:var(--green);background-clip:content-box}

/* Kopfbild Desktop */
.home-hero{position:relative;background:var(--green);padding:0 6% 2%;overflow:hidden}
.home-hero::before{content:"";position:absolute;inset:0;background:url(../img/hero-maske.png) right top/cover no-repeat}
.home-hero__inner{position:relative;z-index:1;display:flex;max-width:1350px;margin:0 auto;min-height:40vh}
.home-hero__text{position:relative;z-index:8;flex:0 0 49.368%;padding:248px 0 4.937% 1.975%}
.deco{position:absolute;z-index:9;fill:currentColor}
.deco--1{width:155px;height:155px;left:calc(1.975% * 0 - 109px);top:0;color:#4cd36b}
.deco--2{width:24px;height:24px;left:143px;top:211px;color:#038b30}
.deco--3{width:61px;height:61px;right:50px;top:181px;color:var(--green)}
.deco--4{width:80px;height:80px;right:-55px;top:465px;color:#47e0b0}
.home-hero__title{position:relative;z-index:9;font-family:var(--font);font-size:65px;font-weight:600;line-height:70px;letter-spacing:-2.5px;color:var(--green)}
.home-hero__subtitle{position:relative;z-index:9;margin:20px 0 0;font-family:var(--font);font-size:31px;font-weight:600;line-height:1.2;letter-spacing:-.9px;color:var(--navy)}
.home-hero__cta{position:relative;z-index:9;margin-top:100px;text-align:center}
.home-hero__appointment{position:relative;z-index:9;display:flex;align-items:center;margin-top:39px;padding:0 16px 35px}
.home-hero__clock{flex:0 0 auto;margin-right:15px;line-height:0}
.home-hero__clock img{width:59px;filter:brightness(96%) contrast(125%) saturate(90%) hue-rotate(64deg)}
.home-hero__appointment p{margin:8px 0 16px;font-family:var(--font);font-size:15px;font-weight:700;line-height:1.8;color:var(--green)}
.home-hero__image{flex:0 0 49.65%;margin:-6px 0 0 1.01%;background:url(../img/hero-mann.png) center top/97% auto no-repeat}

/* Kopfbild Tablet/Smartphone (auch auf „Geschichten“ verwendet) */
.hero-mobile{position:relative;isolation:isolate;min-height:100vh;display:flex;flex-direction:column;justify-content:center;
  background:url(../img/hero-mann.png) center/cover no-repeat;text-align:center}
.hero-mobile::before{content:"";position:absolute;inset:0;z-index:-1;background:#000;opacity:.5}
.hero-mobile__content{display:flex;flex-direction:column;align-items:center;gap:30px;width:100%;max-width:860px;margin:0 auto}
.hero-mobile__kicker{margin:0;font-family:var(--font);font-size:18px;font-weight:700;line-height:1;color:var(--green)}
.hero-mobile__title{font-family:var(--font);font-size:18px;font-weight:800;line-height:1;color:#fbfbfb}
.hero-mobile__text{margin:0 0 14.4px;padding:0 13%;font-family:var(--font);font-size:18px;font-weight:500;line-height:1.5;color:#fff}
.hero-mobile__text p{margin:0}
@media (max-width:767px){
  .hero-mobile{min-height:91vh;background-image:url(../img/hero-mobil.png)}
  .hero-mobile__kicker{font-size:16px}
  .hero-mobile__title{font-size:33px}
  .hero-mobile__text{padding:0 10%}
  .page-startseite .hero-mobile__text{margin-bottom:41.4px}
  .btn--hero{font-size:16px}
}

/* Die Lösung bei … */
.problems{background:#fff;padding:120px 0}
.problems__title{margin-bottom:40px;font-family:var(--font);font-size:3rem;font-weight:700;line-height:.8;color:#000;text-align:center}
.problems__grid{display:grid;grid-template-columns:repeat(3,1fr);row-gap:1px;list-style:none;margin:0 auto;padding:20px 0 0}
.problem{margin:10px;padding:32px 16px;border-radius:10px;background:rgba(44,227,27,.58);text-align:center;
  transition:background .3s,box-shadow .3s}
.problem:hover{background:#fff;box-shadow:0 22px 20px 2px rgba(97,192,211,.26)}
.problem__img{display:block;width:var(--img-w);margin:0 auto;filter:var(--img-filter)}
.problem__img--pad{box-sizing:content-box;width:calc((100% - 32px) * var(--img-r));padding:16px 0}
.problem__label{margin:calc(20px + var(--label-mt)) 0 0 4px;font-family:var(--font);font-size:1.2rem;font-weight:700;
  line-height:.4em;letter-spacing:-.3px;color:#000}
@media (max-width:1024px){
  .problems{padding:80px 20px}
  .problems__title{font-size:42px}
  .problem{padding:40px 15px}
}
@media (max-width:767px){
  .problems{padding:60px 20px 50px}
  .problems__title{font-size:2.3rem}
  .problems__grid{grid-template-columns:1fr;row-gap:0;padding-top:0}
  .problem__label{margin:calc(20px + var(--label-mt-m)) 0 0;font-size:20px}
}

/* Wobei wir Ihnen helfen + Wendekarten */
.help{background:#fff;padding-top:100px}
.section-title{margin:0 0 .9rem;font-family:var(--font);font-weight:700;line-height:1.5;text-transform:uppercase;text-align:center;color:#000}
.help__title{font-size:43px}
.flip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:30px 0 150px}
.flip{position:relative;height:280px;perspective:1000px;transform-style:preserve-3d;outline:none}
.flip__side{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;text-align:center;
  transform-style:preserve-3d;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .6s ease-in-out}
.flip__side--front{z-index:1;background:#fff;border:3px solid #000;color:#000}
.flip__side--front img{width:37%;margin:0 auto 15px}
.flip__side--back{padding:35px;background:var(--green);color:#fff;transform:rotateX(-180deg)}
.flip:hover .flip__side--front,.flip:focus-within .flip__side--front,.flip.is-flipped .flip__side--front{transform:rotateX(180deg)}
.flip:hover .flip__side--back,.flip:focus-within .flip__side--back,.flip.is-flipped .flip__side--back{transform:none}
.flip__title{margin:0 0 20px;font-family:var(--font);font-size:25px;font-weight:800;line-height:1}
.flip__text{margin:0;font-family:var(--font);font-size:15px;font-weight:500;line-height:1.5}
.flip__side--back .flip__text{margin-bottom:20px}
.flip__btn{align-self:center;display:inline-block;padding:12px 24px;font-family:var(--font);font-size:14px;font-weight:700;line-height:1;
  color:#000;background:var(--green);border:3px solid #000;border-radius:21px;transition:all .3s}
.flip__btn:hover,.flip__btn:focus-visible{color:var(--green);background:#000}
@media (max-width:767px){
  .help{padding-top:60px}
  .help__title{font-size:2.3rem}
  .flip-grid{grid-template-columns:1fr;padding:0 0 100px}
  .flip{margin:0 10px}
  .flip__side--front{padding:0 10px}
}

/* Frage */
.question{background:#fff;padding:110px 0 0}
.question__text{max-width:1030px;margin:0 auto;padding:10px 20px 24.4px;font-family:var(--font);font-size:36px;font-weight:900;line-height:1.5;text-align:center;color:#000}
@media (max-width:1024px){.question{padding:64px 16px 0}}
@media (max-width:767px){.question{padding:0 16px}.question__text{padding:16px 16px 30.4px;font-size:19px}}

/* Antwort */
.answer{display:flex;background:#fff}
.answer__image{flex:0 0 54.838%;padding:10px}
.answer__image img{display:block;width:100%}
.answer__content{flex:0 0 45.079%;display:flex;flex-direction:column;justify-content:center;padding:4.5%}
.answer__title{margin:0;padding:10px 10px 0;font-family:var(--font);font-size:40px;font-weight:900;line-height:1.5;color:#000}
.answer__title::after{content:"";display:block;height:24.4px}
.answer__item{display:flex;align-items:center;margin-bottom:40px}
.answer__item:last-child{margin-bottom:0}
.answer__icon{flex:0 0 50px;width:50px;height:50px;margin-right:20px;fill:var(--green)}
.answer__item-title{margin:8px 0 2px;font-family:var(--font);font-size:30px;font-weight:700;line-height:1.2;color:#000}
.answer__item-text{margin:0;font-family:var(--font);font-size:18px;font-weight:500;line-height:1.5;color:#000}
@media (max-width:1024px){
  .answer{padding:16px}
  .answer__image img{width:calc(100% + 87px);max-width:none;margin-left:-30px}
  .answer__content{padding:0}
  .answer__title{padding:16px 16px 0}
  .answer__title::after{height:30.4px}
}
@media (max-width:767px){
  .answer{flex-direction:column}
  .answer__image img{width:calc((100% + 87px) * .88)}
  .answer__title{padding:16px 16px 0;font-size:19px}
  .answer__title::after{height:30.4px}
  .answer__item{align-items:flex-start}
  .answer__icon{margin-right:10px}
  .answer__item-title{margin-bottom:8px;font-size:20px}
  .answer__item-text{font-size:14px}
  .answer__item:last-child{padding-bottom:100px}
}

/* Aufruf „schmerzfreies Leben“ */
.cta-start{--ov-color:#000;--ov-opacity:.66;margin-top:-69px;padding:72px 0 100px;background-image:url(../img/cta-start.png)}
.cta-start__inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;max-width:1040px;min-height:35vh;margin:0 auto;padding:10px;text-align:center}
.cta-start__text{margin:0 0 14.4px;font-family:var(--font);font-size:36px;font-weight:700;line-height:1.5;text-transform:uppercase;color:#fff}
@media (max-width:767px){.cta-start{padding:50px 10px}.cta-start__text{font-size:25px}.cta-start .btn{display:block;width:100%}}

/* Zahlen */
.stats{background:#fff;padding:85px 0 77px}
.stats__inner{display:flex;max-width:1300px;margin:0 auto}
.stat{flex:1 1 0;padding:15px;text-align:center}
.stat__number{margin:0 0 10px;padding-left:30px;font-family:var(--font);font-size:48px;font-weight:800;line-height:22px;color:var(--green)}
.counter{display:inline-block;vertical-align:middle;padding:4px 0}
.stat__label{padding-left:30px;font-family:var(--font);font-size:22px;font-weight:800;line-height:1.2;color:#000}
@media (max-width:1024px){.stats__inner{flex-wrap:wrap}.stat{flex:0 0 50%}}
@media (max-width:767px){
  .stats{padding:40px 0}
  .stats__inner{flex-direction:column}
  .stat{flex:none;margin:15px 25px 0;border:4px solid var(--green);border-radius:15px}
  .stat:first-child{margin-top:0}
  .stat:last-child{border-width:3px;padding:15px 10px}
  .stat__number{margin:0;padding-left:30px;font-size:25px}
}

/* Therapieangebot */
.therapies{--ov-color:#fff;--ov-opacity:.97;padding:80px 0;background-image:url(../img/therapie-hintergrund.jpg)}
.therapies__inner{max-width:1200px;margin:0 auto;padding:20px;text-align:center}
.therapies__title{margin-bottom:12px;font-family:"Roboto",sans-serif;font-size:3rem;font-weight:800;line-height:1.1666;color:#000}
.therapies__grid{display:grid;grid-template-columns:1fr 1fr;max-width:1140px;margin:52px auto 0;text-align:left}
.acc{padding:10px}
.acc__item{border:4px solid #000}
.acc__item+.acc__item{border-top:0}
.acc__heading{margin:0}
.acc__btn{display:flex;justify-content:space-between;align-items:flex-start;width:100%;padding:24px;border:0;background:#eee;
  font-family:var(--font);font-size:20px;font-weight:800;line-height:32px;color:rgba(0,0,0,.7);text-align:left;cursor:pointer}
.acc__btn[aria-expanded="true"]{color:var(--green)}
.acc__icon{flex:0 0 auto;width:20px;height:32px;margin-left:20px;fill:currentColor}
.acc__icon--open,.acc__btn[aria-expanded="true"] .acc__icon--closed{display:none}
.acc__btn[aria-expanded="true"] .acc__icon--open{display:block}
.acc__panel{padding:12px 24px;border-top:4px solid #000;font-family:var(--font);font-size:16px;font-weight:500;line-height:1.5;color:var(--muted)}
.acc__panel ul{margin-bottom:0}
@media (max-width:767px){
  .therapies{padding:40px 0}
  .therapies__title{font-size:30px}
  .kicker{font-size:16px}
  .therapies__grid{grid-template-columns:1fr;margin-top:2px}
  .acc+.acc{margin-top:-25px}
  .acc:first-child .acc__btn{font-size:18px}
}

/* Patientenmeinungen */
.reviews{--ov-color:#f5f7fa;--ov-opacity:.97;padding:80px 0 81px;background-image:url(../img/bewertungen-hintergrund.jpg)}
.reviews__head{max-width:1040px;margin:0 auto;padding:20px 20px 0;text-align:center}
.reviews__title{margin:0 0 .9rem;font-family:var(--font);font-size:36px;font-weight:700;line-height:1.5;text-transform:uppercase;color:#000}
.reviews__grid{display:flex;max-width:1040px;margin:34px auto 0}
.review{flex:1 1 0;display:flex;flex-direction:column;justify-content:center;margin:16px;padding:32px;background:#fff;border-radius:4px;transition:box-shadow .3s}
.review:hover{box-shadow:0 4px 8px rgba(0,0,0,.07)}
.review blockquote{margin:0;font-family:"Roboto",sans-serif;font-size:1rem;font-weight:400;line-height:1.617;color:var(--muted)}
.review figcaption{margin:20px 0 0 16px;font-family:"Roboto",sans-serif;font-size:1rem;font-weight:500;line-height:24px;color:#333}
@media (max-width:767px){
  .reviews{padding:40px 0}
  .reviews__title{font-size:25px}
  .reviews__grid{flex-direction:column;margin-top:25.4px}
  .review{text-align:center}
  .review figcaption{margin-left:0}
}

/* Aufruf „Gespräch“ */
.cta-talk{--ov-color:#0c0200;--ov-opacity:.75;padding:100px 0;background-image:url(../img/gespraech-hintergrund.jpg)}
.cta-talk__inner{display:flex;flex-direction:column;justify-content:center;align-items:center;max-width:1040px;min-height:497px;margin:0 auto;padding:10px;text-align:center}
.cta-talk__title{margin:0 0 .9rem;font-family:var(--font);font-size:36px;font-weight:700;line-height:1.5;text-transform:uppercase;color:#fff}
.cta-talk__text{margin:20.6px 0 0;font-family:var(--font);font-size:20px;font-weight:500;line-height:1;color:#fff}
.cta-talk__btn{margin-top:55px}
@media (max-width:767px){
  .cta-talk__inner{min-height:383px}
  .cta-talk__title{font-size:25px}
  .cta-talk__text{font-size:16px}
  .cta-talk__btn{width:100%;padding:0 5px}
  .cta-talk__btn .btn{display:block;width:100%}
}

/* 7. Heilverfahren ---------------------------------------------------------- */
.page-intro{position:relative;padding:50px 0 70px;background:#fff;text-align:center}
.page-intro__title{position:relative;z-index:3;max-width:1222px;margin:0 auto;padding:10px 10px 0;font-family:var(--font);font-size:70px;font-weight:800;line-height:1;color:#000}
.page-intro__text{position:relative;z-index:3;margin:20px auto 0;padding:0 10px 24.4px;max-width:1222px;font-family:var(--font);font-size:18px;font-weight:500;line-height:1.5;color:var(--green)}
.wave--intro{bottom:-1px;transform:rotate(180deg)}
.wave--intro svg{width:calc(300% + 1.3px);height:142px}
.wave--treatment{top:-1px;transform:rotate(180deg)}
.wave--treatment svg{width:calc(119% + 1.3px);height:82px}

.treatment{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;padding:0 6%;background:#fff}
.treatment--image-left{grid-template-areas:"image title" "image text"}
.treatment--image-right{grid-template-areas:"title image" "text image"}
.treatment__title{grid-area:title;position:relative;z-index:3;padding:calc(10% + 30px) calc(10% + 10px) 0;font-family:var(--font);font-size:45px;font-weight:700;line-height:1;color:var(--green)}
.treatment__text{grid-area:text;padding:60px calc(10% + 10px) calc(10% + 10px);font-family:var(--font);font-size:16px;font-weight:500;line-height:1.5;color:#000}
.treatment__image{grid-area:image;align-self:center;margin:0;padding:10px}
.treatment__image img{display:block;width:100%;max-width:800px;margin:0 auto;border-radius:80px}
.treatment__image--square img{border-radius:0}

.promise{display:flex;align-items:center;justify-content:center;min-height:171px;padding:0 10px;background:var(--green)}
.promise__text{max-width:var(--boxed);margin:0 auto;font-family:var(--font);font-size:40px;font-weight:700;line-height:1.2;color:#000;text-align:center}
.rotate{position:relative;display:inline-block;perspective:300px;text-align:center;vertical-align:top}
.rotate__word{position:absolute;top:0;left:0;display:inline-block;font-family:"Roboto",sans-serif;font-weight:500;color:#fff;opacity:0;white-space:nowrap}
.rotate__word.is-active{position:relative;opacity:1;animation:dropIn .8s}
.rotate__word.is-leaving{animation:dropOut .8s}
@keyframes dropIn{from{opacity:0;transform:translateZ(100px)}to{opacity:1;transform:translateZ(0)}}
@keyframes dropOut{from{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translateZ(-100px)}}

@media (max-width:1024px){
  .page-intro{padding:64px 16px 0}
  .page-intro__text{padding-bottom:24.4px}
  .wave--intro,.wave--treatment{display:none}
  .treatment,.treatment--image-left,.treatment--image-right{display:block;padding:16px}
  .treatment__title{padding:36px 16px 0}
  .treatment__image{padding:20px 16px 0}
  .treatment__text{padding:32px 16px 16px}
}
@media (max-width:767px){
  .page-intro{padding:48px 16px 0}
  .page-intro__title{padding:16px 16px 0;font-size:34px;line-height:1.4}
  .page-intro__text{padding:0 16px 30.4px}
  .treatment__title{font-size:27px;line-height:1.3;text-align:center}
  .treatment__image img{border-radius:15px}
  .promise{min-height:280px}
  .promise__text{font-size:34px}
}
@media (max-width:767px){
  .treatment:nth-of-type(5) .treatment__title{line-height:27.5px}
  .treatment:nth-of-type(n+6) .treatment__title{line-height:1}
}

/* 8. Geschichten ------------------------------------------------------------ */
.stories-hero{position:relative;background:var(--green);padding:9% 6% 0;overflow:hidden}
.stories-hero::before{content:"";position:absolute;inset:0;background:url(../img/hero-maske.png) right top/cover no-repeat}
.wave--stories{top:-1px}
.wave--stories svg{height:44px;transform:translateX(-50%) rotateY(180deg)}
.stories-hero__inner{position:relative;z-index:1;display:flex;max-width:1350px;min-height:45vh;margin:0 auto}
.stories-hero__text{position:relative;flex:0 0 50%;padding:0 32px;margin-bottom:-30px}
.deco--s1{width:24px;height:24px;right:32px;top:0;color:#00eeb3}
.deco--s2{width:61px;height:61px;right:532px;top:-73px;color:var(--green)}
.stories-hero__kicker{position:relative;z-index:9;margin:82px 0 0 4px;font-family:var(--font);font-size:.9rem;font-weight:700;line-height:.4em;
  letter-spacing:-.3px;text-transform:uppercase;color:var(--green)}
.stories-hero__title{position:relative;z-index:9;margin-top:20px;font-family:var(--font);font-size:3.2rem;font-weight:300;line-height:.8em;letter-spacing:-2.5px;color:var(--navy)}
.stories-hero__intro{margin-top:60px;font-family:var(--font);font-size:1rem;font-weight:500;line-height:1.6;color:#000}
.stories-hero__image{flex:0 0 calc(50% + 80px);margin:0 -20px 0 -60px;padding-top:37px;text-align:center}
.stories-hero__image img{width:85%}

.hero-mobile--stories .hero-mobile__title--stories{margin-bottom:14.4px;font-size:18px;line-height:1.5;color:#fff}
@media (max-width:767px){
  .hero-mobile--stories{background-image:url(../img/geschichten-frau.png)}
  .hero-mobile--stories .hero-mobile__title--stories{font-size:33px}
}

.stories{background:#fff;padding:80px 0}
.stories__title{margin:0;padding:16px 16px 30.4px;font-family:var(--font);font-size:45px;font-weight:800;line-height:1.5;text-transform:uppercase;text-align:center;color:#000}
.stories__grid{display:grid;grid-template-columns:32.98% 34.289% 32.368%;row-gap:20px;max-width:1550px;margin:20px auto 0}
.story{padding:20px}
.story__title{margin:0 0 34.4px;font-family:var(--font);font-size:20px;font-weight:700;line-height:30px;color:#000}
.story__title--first{padding:15px 0}
.story__title--h{line-height:25px;margin-bottom:42px}
.story__text{font-family:var(--font);font-size:16px;font-weight:500;line-height:1.5;color:#000}
@media (max-width:1024px){
  .stories{padding:16px 16px 32px}
  .stories__title{margin-top:60px}
  .stories__grid{grid-template-columns:1fr;row-gap:0}
  .story{margin-top:10px}
}
@media (max-width:767px){
  .stories__title{margin-top:0;padding:0 0 14.4px;font-size:25px}
  .stories__grid{margin-top:20px}
  .story__title{font-size:18px;line-height:27px}
  .story__title--h{line-height:25px}
  .story__text{font-size:15px}
}
.story:nth-child(3n+2){padding-bottom:48px}
@media (max-width:1024px){.story:nth-child(4){margin-top:30px}}

/* 9. Über mich -------------------------------------------------------------- */
.about{position:relative;isolation:isolate;padding:60px 0 30px;background:#ebf6ff}
.about::before{content:"";position:absolute;inset:0;z-index:-1;background:url(../img/linien.png) center top no-repeat;opacity:.1}
.about__inner{max-width:var(--boxed);min-height:572px;margin:0 auto;padding:32px}
.about__title{margin-bottom:20px;font-family:var(--font);font-size:45px;font-weight:700;line-height:1;color:#000}
.about__columns{display:flex}
.about__spacer{flex:0 0 24.412%}
.about__content{flex:0 0 75.588%;padding:32px;border-left:1px solid #e8e8e8}
.about__name{margin-bottom:20px;font-family:var(--font);font-size:30px;font-weight:700;line-height:1;color:#000}
.about__born{margin:0 0 20px;font-family:var(--font);font-size:16px;font-weight:600;line-height:1;color:#000}
.about__text{font-family:var(--font);font-size:16px;font-weight:400;line-height:1.5;color:#000}
.about__cta{margin-top:30px;padding:10px 10px 10px 20px;text-align:center}
.btn--about{font-family:"Archivo",sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;padding:16px 50px;border-radius:50px;
  box-shadow:5px -5px 60px rgba(0,0,0,.1)}
.btn--about:hover,.btn--about:focus-visible{background:#000}

.education{background:#fff;padding:80px 0}
.education__inner{max-width:700px;margin:0 auto;padding:20px}
.education__title{margin-bottom:12px;font-family:var(--font);font-size:45px;font-weight:700;line-height:1;color:#000}
.education .divider{margin-bottom:12px}
.education__list{font-family:var(--font);font-size:16px;font-weight:500;line-height:1.5;color:var(--muted)}
.education__note{margin:20px 0 0;padding-left:24px;border-left:4px solid rgba(0,0,0,.1);font-family:var(--font);font-size:14px;font-weight:500;line-height:1;color:rgba(0,0,0,.54)}
@media (max-width:767px){
  .about{padding:60px 0}
  .about__columns{flex-direction:column}
  .about__spacer{flex:0 0 1px}
  .about__content{flex:none}
  .about__born{line-height:1.2}
  .education{padding:40px 0}
  .education__title{font-size:35px}
}

/* 10. Kontakt --------------------------------------------------------------- */
.contact-head,.contact{--ov-color:#fff;--ov-opacity:.97;background-image:url(../img/kontakt-hintergrund.jpg)}
.contact-head{padding:80px 0 0}
.contact-head__inner{max-width:1040px;margin:0 auto;padding:30px;text-align:center}
.contact-head__title{margin-bottom:12px;font-family:var(--font);font-size:45px;font-weight:700;line-height:1;color:#000}
.contact-head__text{margin:0;font-family:var(--font);font-size:20px;font-weight:500;line-height:1;color:#000}
.contact{padding:0 0 80px;margin-bottom:20px}
.contact__inner{display:flex;max-width:1370px;margin:0 auto}
.contact__card{flex:0 0 50%;display:flex;align-items:center;justify-content:center;padding:40px;border-radius:4px}
.contact__block{width:100%;padding-left:144px}
.contact__title{font-family:var(--font);font-size:32px;font-weight:800;line-height:1;color:#000}
.contact__list{list-style:none;margin:16px 0 0;padding:0 0 0 1px}
.contact__list li{display:flex;align-items:center;font-family:var(--font);font-size:20px;font-weight:500;line-height:1.5;color:var(--green)}
.contact__list li+li{margin-top:10px}
.contact__icon{flex:0 0 31px;display:flex;line-height:0}
.contact__icon svg{width:25px;height:25px;fill:var(--green)}
.contact__icon--glyph svg{width:25px}
.contact__text{padding-left:5px;color:var(--green)}
.contact__list li:first-child .contact__text{padding-left:0}
.contact__list a:hover{text-decoration:underline}
.contact__map{flex:0 0 50%;display:flex;align-items:center;padding:30px}
.map{position:relative;width:100%;height:583px;margin-bottom:40px;background:#eef3ee;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.5}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map__hint{max-width:420px;padding:20px;font-family:var(--font);font-size:14px;color:#333}
.map__hint p{margin:0 0 10px}
.map__hint a,.map__link{color:var(--green-dark);text-decoration:underline}
.map__link{padding:0;border:0;background:none;font:inherit;cursor:pointer}
.map__btn{background:#2ade00;color:#fff;border:0;border-radius:30px;padding:10px 24px;font:500 14px "Poppins",sans-serif;cursor:pointer}
.map__btn:hover{background:var(--green-dark)}
@media (max-width:767px){
  .contact-head{padding:40px 0 0}
  .contact-head__title{font-size:27px}
  .contact-head__text{font-size:16px;line-height:1.2}
  .contact{padding:0}
  .contact__inner{flex-direction:column}
  .contact__block{padding-left:0}
  .contact__title{padding-bottom:30px}
  .contact__list{padding-left:0}
  .contact__list li+li{margin-top:8px}
}

/* 11. Impressum & Datenschutz ------------------------------------------------ */
.legal{background:#fff}
.legal__inner{max-width:var(--boxed);margin:0 auto;padding:20px 10px 10px;font-family:"Poppins",sans-serif;color:#000}
.legal__inner>*+*{margin-top:20px}
.legal h1{margin-top:0;font-size:40px;font-weight:600;line-height:1}
.legal h2{font-size:25px;font-weight:500;line-height:1}
.legal [id]{scroll-margin-top:120px}
.legal h3{font-size:20px;font-weight:500;line-height:1}
.legal__text{display:flow-root;font-size:16px;font-weight:400;line-height:1.5}
.legal__text p{margin:0 0 .9rem}
.legal__text a{text-decoration:underline}
.legal__text a:hover{color:var(--green)}
@media (max-width:767px){
  .site-footer__brand{text-align:center}
  .site-footer__brand img{display:inline-block}
  .treatment--first .treatment__title{padding:30px 10px 0}
  .treatment--first .treatment__image{padding:20px 10px 0}
  .treatment--first .treatment__text{padding-top:36px}
}

/* 12. Cookie-Banner (eigener Code, ohne externe Bibliothek) ----------------- */
.consent{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;
  background:rgba(0,0,0,.55);font-family:var(--font);color:#000}
.consent[hidden]{display:none}
.consent__box{width:100%;max-width:520px;max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:8px;
  border-top:5px solid var(--green);padding:26px 24px 22px;box-shadow:0 10px 40px rgba(0,0,0,.3)}
.consent__box:focus{outline:none}
.consent__title{margin:0 0 10px;font-size:15px;font-weight:700;line-height:1.3;text-align:center}
.consent__text{margin:0 0 18px;font-size:12px;line-height:1.5;text-align:center}
.consent__text a{color:var(--green-dark);text-decoration:underline}
.consent__list{display:grid;grid-template-columns:repeat(2,1fr);align-items:start;gap:10px;margin:0 0 20px;padding:0;list-style:none}
.consent__item{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--grey-line);border-radius:6px}
.consent__row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:700}
.consent__desc{font-size:11px;line-height:1.45;color:#555}
.consent__more{font-size:11px;line-height:1.45;color:#555}
.consent__more summary{cursor:pointer;color:var(--green-dark);text-decoration:underline;width:max-content}
.consent__more p{margin:6px 0 0}
.consent__more a{color:var(--green-dark);text-decoration:underline}
.consent__switch{position:relative;flex:none;width:36px;height:20px}
.consent__switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.consent__switch span{position:absolute;inset:0;border-radius:20px;background:#ccc;transition:background .2s;pointer-events:none}
.consent__switch span::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
.consent__switch input:checked+span{background:var(--green)}
.consent__switch input:checked+span::after{transform:translateX(16px)}
.consent__switch input:disabled{cursor:not-allowed}
.consent__switch input:disabled+span{opacity:.6}
.consent__switch input:focus-visible+span{outline:2px solid var(--navy);outline-offset:2px}
.consent__buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.consent__btn{flex:1 1 auto;padding:10px 18px;border:0;border-radius:6px;font:600 12px var(--font);cursor:pointer;
  background:#f1f1f1;color:#333}
.consent__btn:hover{background:#e5e5e5}
.consent__btn--primary{background:var(--green);color:#fff;font-weight:700}
.consent__btn--primary:hover{background:var(--green-dark)}
.consent__btn:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
@media (max-width:480px){
  .consent{align-items:flex-end;padding:0}
  .consent__box{max-height:90vh;border-radius:8px 8px 0 0;padding:22px 16px 18px}
  .consent__list{grid-template-columns:1fr}
  .consent__btn{flex:1 1 100%}
}
