:root{
  --blue:#8ed2df;
  --turquoise:#54bfc3;
  --dark:#21464b;
  --text:#28464a;
  --muted:#62777a;
  --soft:#f0fafb;
  --paper:#fff;
  --sand:#f7f3ec;
  --line:#d9ecee;
  --accent:#b7dfd8;
  --shadow:0 18px 45px rgba(33,70,75,.11);
  --radius:24px;
  --max:1160px
}

*{
  box-sizing:border-box
}

html{
  scroll-behavior:smooth
}

body{
  margin:0;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,#fff 0,#f7fbfb 60%,#fff 100%);
  font-size:18px;
  line-height:1.7
}

html,
body{
  min-height:100%;
}

img{
  max-width:100%;
  height:auto;
  display:block
}

a{
  color:#1f7f86;
  text-decoration-thickness:.08em;
  text-underline-offset:.2em
}

a:hover{
  color:#145c61
}

.container{
  max-width:var(--max);
  margin:0 auto;
  padding:0 24px
}

.skip-link{
  position:absolute;
  left:-9999px;
  top:8px;
  background:#fff;
  padding:8px 12px;
  z-index:100
}

.skip-link:focus{
  left:8px
}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(120%) blur(10px)
}

.header-inner{
  display:flex;
  align-items:center;
  gap:18px;
  justify-content:space-between;
  min-height:92px
}

.brand img{
  width:auto;
  height:auto;
  max-height:80px;
}

.main-nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:5px
}

.main-nav a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:10px 10px;
  border-radius:999px;
  text-decoration:none;
  color:var(--dark);
  font-weight:650;
  font-size:.9rem;
  line-height:1.15;
  text-align:center
}

.main-nav a:hover,
.main-nav a:focus,
.main-nav a.active{
  background:var(--soft);
  outline:none
}

.has-submenu{
  position:relative
}

.submenu{
  position:absolute;
  top:100%;
  left:0;
  display:none!important;
  min-width:295px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:10px!important;
  box-shadow:var(--shadow)
}

.has-submenu:hover .submenu,
.has-submenu:focus-within .submenu{
  display:block!important
}

.submenu a{
  border-radius:14px;
  font-size:.9rem
}

.nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:50%;
  padding:0;
  color:var(--dark);
  cursor:pointer
}

.nav-toggle-icon{
  position:relative;
  display:block;
  width:22px;
  height:16px
}

.nav-toggle-icon span{
  position:absolute;
  left:0;
  width:22px;
  height:2px;
  background:var(--dark);
  border-radius:999px;
  transition:transform .22s ease, opacity .18s ease, top .22s ease
}

.nav-toggle-icon span:nth-child(1){
  top:0
}

.nav-toggle-icon span:nth-child(2){
  top:7px
}

.nav-toggle-icon span:nth-child(3){
  top:14px
}

.nav-toggle[aria-expanded="true"] .nav-toggle-icon span:nth-child(1){
  top:7px;
  transform:rotate(45deg)
}

.nav-toggle[aria-expanded="true"] .nav-toggle-icon span:nth-child(2){
  opacity:0
}

.nav-toggle[aria-expanded="true"] .nav-toggle-icon span:nth-child(3){
  top:7px;
  transform:rotate(-45deg)
}

.hero{
  position:relative;
  overflow:hidden;
  background:var(--soft);
  min-height:560px;
  display:grid;
  align-items:center;
  isolation:isolate
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(240,250,251,.76) 48%,rgba(240,250,251,.56) 100%),var(--hero-image);
  background-size:cover;
  background-position:center right;
  transform:scale(1.03);
  animation:softZoom 18s ease-in-out infinite alternate
}

.hero>*{
  position:relative
}

.hero-content{
  max-width:760px;
  padding:90px 0
}

.eyebrow{
  color:#248b92;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.82rem
}

.hero h1,
.page-hero h1{
  font-size:clamp(2.25rem,5vw,4.8rem);
  line-height:1.06;
  color:var(--dark);
  margin:.2em 0 .25em
}

.lead{
  font-size:1.25rem;
  color:#3a5d62;
  max-width:760px
}

.lead-small{
  font-size:1.14rem;
  color:#3a5d62;
  margin:0
}

.button-row{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 22px;
  border-radius:999px;
  font-weight:750;
  text-decoration:none;
  border:1px solid transparent
}

.btn-primary{
  background:linear-gradient(135deg,var(--turquoise),#80d8e2);
  color:#07363a;
  box-shadow:0 12px 25px rgba(84,191,195,.22)
}

.btn-secondary{
  background:#fff;
  border-color:var(--line);
  color:var(--dark)
}

section{
  padding:74px 0
}

.section-soft{
  background:var(--soft)
}

.section-sand{
  background:var(--sand)
}

.section-title{
  max-width:830px;
  margin-bottom:34px
}

.section-title-wide{
  max-width:100%
}

.section-title h2{
  font-size:clamp(1.8rem,3.2vw,3rem);
  line-height:1.16;
  color:var(--dark);
  margin:.1em 0
}

.grid{
  display:grid;
  gap:24px
}

.grid-2{
  grid-template-columns:repeat(2,minmax(0,1fr))
}

.grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr))
}

.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:0 8px 28px rgba(33,70,75,.06)
}

.card h3{
  color:var(--dark);
  margin-top:0;
  line-height:1.25
}

.card img{
  border-radius:18px;
  margin-bottom:18px;
  aspect-ratio:4/3;
  object-fit:cover
}

.feature{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:42px;
  align-items:center
}

.feature-img{
  border-radius:32px;
  box-shadow:var(--shadow);
  object-fit:cover
}

.mobile-feature-img{
  display:none
}

.about-feature{
  grid-template-columns:.55fr 1.45fr
}

.about-img{
  width:min(100%,360px);
  justify-self:center
}

.about-img-mobile{
  display:none
}

.pill-list{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding:0;
  margin:18px 0;
  list-style:none
}

.pill-list li{
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 13px;
  color:#355a5e;
  font-weight:650
}

.check-list{
  padding-left:1.8em;
  margin-left:.4em
}

.check-list li{
  margin:.45em 0
}

.page-hero{
  background:linear-gradient(135deg,var(--soft),#fff);
  padding:76px 0 48px;
  border-bottom:1px solid var(--line)
}

.breadcrumbs{
  font-size:.92rem;
  color:var(--muted);
  margin-bottom:16px
}

.content{
  max-width:870px
}

.content h2{
  font-size:clamp(1.55rem,2.5vw,2.4rem);
  line-height:1.2;
  color:var(--dark);
  margin-top:2.1em
}

.notice{
  background:#fff;
  border-left:5px solid var(--turquoise);
  padding:22px 24px;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(33,70,75,.06)
}

.faq{
  display:grid;
  gap:14px
}

.faq details{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px 22px
}

.faq summary{
  font-weight:800;
  color:var(--dark);
  cursor:pointer
}

.contact-box{
  background:#fff;
  border:1px solid var(--line);
  border-radius:32px;
  box-shadow:var(--shadow);
  padding:32px
}

.form-grid{
  display:grid;
  gap:18px
}

.field label{
  display:block;
  font-weight:750;
  margin-bottom:6px
}

.field input,
.field textarea{
  width:100%;
  border:1px solid #bddfe4;
  border-radius:14px;
  padding:13px 14px;
  font:inherit;
  background:#fbffff;
  color:var(--text)
}

.field input:focus,
.field textarea:focus,
.nav-toggle:focus,
.btn:focus{
  outline:3px solid rgba(84,191,195,.35);
  outline-offset:2px
}

.field textarea{
  min-height:150px;
  resize:vertical
}

.checkbox{
  display:flex;
  gap:10px;
  align-items:flex-start
}

.honeypot{
  position:absolute;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden
}

.status{
  border-radius:16px;
  padding:14px 18px;
  margin-bottom:20px
}

.status.success{
  background:#eaf8ef;
  border:1px solid #b8e2c2
}

.status.error{
  background:#fff2f0;
  border:1px solid #f1c1bc
}

.site-footer{
  background:#123a62;
  color:#eef7fb;
  margin-bottom:0
}

.site-footer a{
  color:#d7ecff
}

.site-footer a:hover,
.site-footer a:focus{
  color:#fff
}


/* Footer support area */
.footer-support{
  background:#f3f9fc;
  color:#153f66;
  border-top:1px solid rgba(18,58,98,.14);
  border-bottom:1px solid rgba(18,58,98,.14);
  padding:40px 0 50px;
}

.footer-support-inner{
  padding:0;
}

.footer-support-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  max-width:940px;
  margin:0 auto;
  align-items:start;
}

.footer-support-item{
  display:grid;
  grid-template-rows:70px 90px;
  justify-items:center;
  align-items:start;
  gap:18px;
  min-width:0;
  padding:0 46px;
}

.footer-support-item + .footer-support-item{
  border-left:1px solid rgba(18,58,98,.16);
}

.footer-support-text{
  width:100%;
  max-width:380px;
  height:88px;
  margin:0;
  color:#1d4a72;
  font-size:.95rem;
  line-height:1.45;
  text-align:center;
  overflow:visible;
}

.footer-support-text strong{
  display:inline;
  font-weight:800;
  color:#123f68;
}

.footer-support-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  width:320px;
  height:104px;
  padding:18px 24px;
  margin:0;
  background:#fff;
  border:1px solid rgba(18,58,98,.14);
  border-radius:16px;
  box-shadow:0 8px 22px rgba(18,58,98,.06);
  text-decoration:none;
}

.footer-support-logo:hover,
.footer-support-logo:focus{
  transform:none;
  box-shadow:0 8px 22px rgba(18,58,98,.06);
}

.footer-support-logo img{
  display:block;
  width:240px;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  margin:0 auto;
}

@media (max-width:768px){
  .footer-support{
    padding:48px 0 54px;
  }

  .footer-support-inner{
    padding:0;
  }

  .footer-support-grid{
    grid-template-columns:1fr;
    max-width:360px;
    gap:38px;
  }

  .footer-support-item{
    grid-template-rows:auto 104px;
    gap:22px;
    padding:0;
  }

  .footer-support-item + .footer-support-item{
    border-left:0;
    border-top:1px solid rgba(18,58,98,.16);
    padding-top:36px;
  }

  .footer-support-text{
    height:auto;
    max-width:320px;
    font-size:.95rem;
  }

  .footer-support-logo{
    width:300px;
    height:104px;
    padding:18px 22px;
  }

  .footer-support-logo img{
    width:240px;
    height:auto;
    max-width:100%;
    max-height:100%;
  }

  .footer-grid{
    padding-top:54px;
  }
}

.footer-grid{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr .9fr;
  gap:28px;
  padding-top:42px;
  padding-bottom:28px
}

.footer-grid strong{
  display:block;
  margin-bottom:12px;
  color:#fff
}

.footer-social{
  margin-top:12px
}

.footer-social-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-weight:700
}

.footer-social-link:hover,
.footer-social-link:focus{
  text-decoration:underline
}

.footer-social-icon{
  width:30px;
  height:30px;
  flex:0 0 auto
}

.footer-note{
  border-top:1px solid rgba(255,255,255,.18);
  padding-top:18px;
  padding-bottom:28px;
  color:#d8edf8;
  font-size:.94rem
}

.intro-section{
  background:#fff;
  padding-top:82px
}

.trust-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px
}

.trust-card{
  background:linear-gradient(180deg,#fff,#f8fdfd);
  border:1px solid var(--line);
  border-radius:26px;
  padding:28px;
  box-shadow:0 10px 30px rgba(33,70,75,.06)
}

.trust-card h3{
  margin:0 0 10px;
  color:var(--dark);
  line-height:1.22;
  font-size:1.25rem
}

.trust-card p{
  margin:0
}

.suitability-section{
  background:#fff
}

.suitability-box{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:36px;
  align-items:start;
  background:linear-gradient(135deg,#fff,var(--soft));
  border:1px solid var(--line);
  border-radius:32px;
  padding:34px;
  box-shadow:0 14px 38px rgba(33,70,75,.07)
}

.suitability-list{
  display:grid;
  gap:14px;
  margin:0;
  padding:0;
  list-style:none
}

.suitability-list li{
  position:relative;
  padding-left:30px;
  font-weight:650;
  color:#355a5e
}

.suitability-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:12px;
  height:12px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--turquoise),var(--accent));
  box-shadow:0 0 0 5px rgba(84,191,195,.12)
}

.steps-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  counter-reset:steps
}

.step-card{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:30px;
  box-shadow:0 12px 34px rgba(33,70,75,.07);
  overflow:hidden
}

.step-card::after{
  content:"";
  position:absolute;
  right:-38px;
  bottom:-42px;
  width:145px;
  height:145px;
  border-radius:50%;
  background:rgba(84,191,195,.09)
}

.step-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--soft);
  color:#248b92;
  font-weight:850;
  margin-bottom:18px
}

.step-card h3{
  margin:0 0 10px;
  color:var(--dark);
  line-height:1.22
}

.step-card p{
  margin:0
}

.complaints-section{
  border-top:1px solid rgba(217,236,238,.65);
  border-bottom:1px solid rgba(217,236,238,.65)
}

.complaint-link-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px
}

.complaint-link{
  display:flex;
  align-items:center;
  min-height:64px;
  padding:14px 18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  color:var(--dark);
  font-weight:750;
  line-height:1.28;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(33,70,75,.045);
  hyphens:manual;
  word-break:normal;
  overflow-wrap:normal
}

.complaint-link:hover,
.complaint-link:focus{
  background:var(--soft);
  color:#145c61;
  outline:none
}

.teaser-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px
}

.teaser-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:32px;
  padding:34px;
  box-shadow:var(--shadow)
}

.teaser-card h2{
  color:var(--dark);
  font-size:clamp(1.55rem,2.5vw,2.35rem);
  line-height:1.18;
  margin:.25em 0 .45em
}

.teaser-card .btn{
  margin-top:10px
}

@keyframes softZoom{
  from{
    transform:scale(1.02)
  }
  to{
    transform:scale(1.08)
  }
}

.hero-hero-abstract{
  --hero-image:url('../img/bettina-spiegl.webp')
}

@media (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto
  }

  .hero::before{
    animation:none
  }
}

@media (max-width:1100px){
  .complaint-link-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media (max-width:960px){
  .nav-toggle{
    display:inline-flex
  }

  .main-nav{
    position:absolute;
    left:0;
    right:0;
    top:92px;
    display:none;
    max-height:calc(100dvh - 92px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:#fff;
    border-bottom:1px solid var(--line);
    box-shadow:0 18px 38px rgba(33,70,75,.12);
    z-index:80
  }

  .main-nav.open{
    display:block
  }

  .main-nav ul{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    padding:18px 24px 26px
  }

  .main-nav li{
    width:100%
  }

  .main-nav a{
    justify-content:center;
    width:100%;
    min-height:46px;
    padding:12px 16px;
    border-radius:18px;
    text-align:center;
    line-height:1.2;
    background:#fff
  }

  .main-nav a:hover,
  .main-nav a:focus,
  .main-nav a.active{
    background:var(--soft)
  }

  .has-submenu{
    display:flex;
    flex-direction:column;
    gap:10px
  }

  .submenu{
    position:static;
    display:block!important;
    min-width:0;
    width:100%;
    margin:0;
    padding:12px!important;
    background:#f7fbfb;
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:none
  }

  .submenu li + li{
    margin-top:6px
  }

  .submenu a{
    min-height:42px;
    padding:10px 14px;
    border-radius:14px;
    font-size:.92rem;
    background:#fff
  }

  .grid-3,
  .grid-2,
  .feature,
  .footer-grid,
  .trust-grid,
  .steps-grid,
  .teaser-grid,
  .suitability-box{
    grid-template-columns:1fr
  }

  .hero{
    min-height:auto
  }

  .hero-content{
    padding:72px 0
  }

  .brand img{
    width:150px
  }

  .about-img{
    width:min(100%,300px);
    margin:0 auto
  }
  
  .about-img-desktop{
    display:none
  }

  .about-img-mobile{
    display:block;
    width:min(100%,300px);
    margin:22px auto 24px
  }
  
  .desktop-feature-img{
    display:none
  }

  .mobile-feature-img{
    display:block;
    width:min(100%,520px);
    margin:24px auto 0
  }

  .suitability-box{
    gap:22px
  }
}

@media (max-width:720px){
  .complaint-link-grid{
    grid-template-columns:1fr
  }

  .complaint-link{
    min-height:auto
  }
}

@media (max-width:560px){
  body{
    font-size:16px
  }

  .container{
    padding:0 18px
  }

  section{
    padding:54px 0
  }

  .intro-section{
    padding-top:58px
  }

  .button-row{
    display:grid
  }

  .btn{
    width:100%
  }

  .card,
  .contact-box,
  .trust-card,
  .step-card,
  .teaser-card,
  .suitability-box{
    padding:22px;
    border-radius:20px
  }

  .header-inner{
    min-height:78px
  }

  .main-nav{
    top:78px;
    max-height:calc(100dvh - 78px)
  }

  .site-footer{
    text-align:center;
    padding-top:0;
  }

  .footer-grid{
    gap:24px;
    padding-top:54px;
    padding-bottom:34px;
  }

  .footer-grid > *{
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .footer-note{
    padding-top:22px;
    padding-bottom:34px;
    margin-bottom:0;
  }

  .site-footer p,
  .site-footer ul{
    margin-left:auto;
    margin-right:auto;
  }
}

/* Rechtliche Inhaltsseiten */
.legal-content{
  max-width:920px;
}

.legal-content h2{
  color:var(--dark);
  font-size:clamp(1.35rem,2vw,1.9rem);
  line-height:1.25;
  margin:2.1em 0 .55em;
  padding-top:1.2em;
  border-top:1px solid var(--line);
}

.legal-content h2:first-child{
  margin-top:0;
  padding-top:0;
  border-top:0;
}

.legal-content p{
  margin:.75em 0;
}

.legal-content ul{
  margin:.75em 0 1.1em;
}

.legal-content hr{
  border:0;
  border-top:1px solid var(--line);
  margin:42px 0 24px;
}

.imprint-image-credit{
  margin-top:28px;
  color:#5d6e72;
}

.legal-content .imprint-image-credit h2{
  margin:0 0 8px;
  padding-top:0;
  border-top:0;
  color:#466268;
  font-size:1.05rem;
  font-weight:700;
}

.imprint-image-credit p{
  margin:0;
  font-size:.94rem;
}

@media (max-width:560px){
  .legal-content h2{
    margin-top:1.75em;
    padding-top:1em;
  }
}

/* Startseite */
.home-hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#eef8fa 0%,#f7fbfb 100%);
  border-bottom:1px solid var(--line);
  padding:26px 0 28px
}

.home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 16% 10%,rgba(142,210,223,.18),transparent 30%),radial-gradient(circle at 92% 18%,rgba(183,223,216,.18),transparent 32%);
  pointer-events:none
}

.home-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) 175px;
  gap:28px;
  align-items:center;
  min-height:0;
  background:#7dbdda;
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 16px 38px rgba(33,70,75,.14);
  padding:25px 34px 24px
}

.home-hero-content{
  display:flex;
  justify-content:center
}

.home-hero-panel{
  width:min(100%,780px);
  background:transparent;
  border-radius:0;
  padding:0;
  text-align:center;
  box-shadow:none;
  border:0
}

.home-hero-content h1{
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:clamp(2rem,4.7vw,3.65rem);
  line-height:1.08;
  color:#fff;
  margin:0 0 .34em;
  text-shadow:0 2px 6px rgba(33,70,75,.18)
}

.home-hero-practitioner{
  margin:0 0 .74em;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:clamp(1.05rem,2.1vw,1.48rem);
  font-weight:700
}

.home-hero-subtitle{
  max-width:720px;
  margin:0 auto;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:clamp(.98rem,1.55vw,1.16rem);
  line-height:1.42;
  font-weight:700
}

.home-hero-portrait{
  justify-self:center;
  position:relative;
  width:160px;
  border-radius:20px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 12px 28px rgba(33,70,75,.14);
  padding:10px 10px 0;
  overflow:hidden
}

.home-hero-portrait img{
  width:100%;
  max-height:205px;
  object-fit:contain;
  object-position:center bottom
}

.home-flow{
  display:grid;
  gap:28px
}

.home-intro-box{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:28px;
  align-items:start
}

.home-check-list,
.home-link-list{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none
}

.home-check-list li,
.home-link-list li{
  position:relative;
  padding-left:22px;
  line-height:1.58
}

.home-check-list li::before,
.home-link-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.76em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--dark)
}

.home-link-list a{
  color:#1f6170;
  font-weight:750;
  text-decoration:underline;
  text-decoration-thickness:.08em;
  text-underline-offset:.2em
}

.home-link-list a:hover,
.home-link-list a:focus{
  color:#123f46
}

.home-callout{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
  background:linear-gradient(135deg,#fff,var(--soft));
  border:1px solid var(--line);
  border-radius:26px;
  padding:26px;
  box-shadow:var(--shadow)
}

.home-callout p{
  margin:0;
  color:var(--dark);
  font-size:1.13rem;
  line-height:1.45;
  font-weight:750
}

.home-callout a{
  display:inline-flex;
  align-self:flex-start;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:999px;
  background:var(--turquoise);
  color:#07363a;
  font-weight:850;
  text-decoration:none
}

.focus-list{
  max-width:900px
}

.focus-note{
  max-width:880px;
  margin:22px 0 0;
  color:#3a5d62;
  font-weight:650
}

.hwg-box{
  display:block;
  max-width:980px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:32px;
  box-shadow:var(--shadow);
  padding:34px
}

.hwg-box h2{
  color:var(--dark);
  font-size:clamp(1.6rem,2.6vw,2.35rem);
  line-height:1.16;
  margin:.2em 0 0
}

.hwg-box > div + div{
  margin-top:24px
}

.hwg-box p:first-child{
  margin-top:0
}

.hwg-box p:last-child{
  margin-bottom:0
}

.contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:28px;
  align-items:start
}

.contact-box .section-title{
  margin-bottom:22px
}

.contact-box h3{
  margin:.75em 0 0;
  color:var(--dark);
  line-height:1.25
}

.contact-card{
  position:sticky;
  top:116px;
  background:linear-gradient(135deg,#fff,var(--soft));
  border:1px solid var(--line);
  border-radius:32px;
  box-shadow:var(--shadow);
  padding:32px
}

.contact-card h2{
  color:var(--dark);
  font-size:clamp(1.45rem,2.2vw,2rem);
  line-height:1.16;
  margin:.22em 0 .75em
}

.contact-card dl{
  display:grid;
  gap:18px;
  margin:0
}

.contact-card dt{
  color:#447077;
  font-weight:850;
  font-size:.86rem;
  text-transform:uppercase;
  letter-spacing:.06em
}

.contact-card dd{
  margin:3px 0 0;
  color:var(--dark);
  font-weight:650
}

.practice-gallery{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px
}

.practice-gallery a{
  display:block;
  overflow:hidden;
  border-radius:22px;
  border:1px solid var(--line);
  box-shadow:0 8px 24px rgba(33,70,75,.06);
  background:#fff
}

.practice-gallery img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:transform .28s ease
}

.practice-gallery a:hover img,
.practice-gallery a:focus img{
  transform:scale(1.035)
}

.gallery-note{
  margin:22px 0 0;
  color:#3a5d62;
  font-weight:650
}

@media (max-width:1100px){
  .practice-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media (max-width:960px){
  .home-hero-grid,
  .home-intro-box,
  .contact-layout{
    grid-template-columns:1fr
  }

  .home-hero-grid{
    gap:24px;
    padding:25px 24px 26px
  }

  .home-hero-portrait{
    width:150px
  }

  .contact-card{
    position:static
  }
}

@media (max-width:560px){
  .home-hero{
    padding:18px 0 20px
  }

  .home-hero-grid{
    gap:22px;
    padding:22px 20px 24px
  }

  .home-hero-portrait{
    width:136px;
    border-radius:18px;
    padding:9px 9px 0
  }

  .home-intro-box,
  .contact-layout{
    gap:20px
  }

  .home-callout,
  .hwg-box,
  .contact-card{
    padding:22px;
    border-radius:20px
  }

  .home-callout a{
    align-self:stretch
  }

  .practice-gallery{
    grid-template-columns:1fr
  }
}

/* Startseite Feinschliff: klare Hintergrund-Wechsel + dezenter HWG-Hinweis + Galerie-Lightbox */
body{
  background:#fff
}

.section-white{
  background:#fff
}

.hwg-box{
  max-width:920px;
  padding:24px 26px;
  border-radius:22px;
  box-shadow:0 10px 26px rgba(33,70,75,.07)
}

.hwg-box .eyebrow{
  font-size:.78rem
}

.hwg-box h2{
  font-size:clamp(1.18rem,1.8vw,1.55rem);
  line-height:1.22;
  margin:.25em 0 0
}

.hwg-box > div + div{
  margin-top:16px
}

.hwg-box p{
  font-size:.94rem;
  line-height:1.58;
  color:#3e5a5f;
  margin:.85em 0
}

.gallery-lightbox{
  display:none;
  position:fixed;
  inset:0;
  z-index:200;
  align-items:center;
  justify-content:center;
  padding:34px 22px
}

.gallery-lightbox:target{
  display:flex
}

.gallery-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,27,32,.78);
  cursor:zoom-out
}

.gallery-lightbox figure{
  position:relative;
  z-index:1;
  max-width:min(1080px,94vw);
  max-height:88vh;
  margin:0;
  background:#fff;
  border-radius:18px;
  box-shadow:0 24px 70px rgba(0,0,0,.32);
  overflow:hidden
}

.gallery-lightbox figure img{
  width:auto;
  max-width:100%;
  max-height:88vh;
  object-fit:contain
}

.gallery-lightbox-close{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#173c42;
  font-size:1.8rem;
  line-height:1;
  font-weight:500;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(0,0,0,.18)
}

.gallery-lightbox-close:hover,
.gallery-lightbox-close:focus{
  background:#fff;
  color:#0e3035
}

@media (max-width:560px){
  .hwg-box{
    padding:20px;
    border-radius:18px
  }

  .hwg-box p{
    font-size:.9rem
  }

  .gallery-lightbox{
    padding:22px 14px
  }

  .gallery-lightbox-close{
    top:8px;
    right:8px;
    width:36px;
    height:36px;
    font-size:1.55rem
  }
}

/* Feinschliff v5: H2 insgesamt etwas kleiner + HWG-Box auf Sektionsbreite */
.section-title h2{
  font-size:clamp(1.55rem,2.55vw,2.35rem)
}

.content h2{
  font-size:clamp(1.4rem,2.15vw,2rem)
}

.hwg-box{
  max-width:var(--max);
  width:calc(100% - 48px)
}

.hwg-box h2{
  font-size:clamp(1.08rem,1.55vw,1.38rem)
}

@media (max-width:560px){
  .section-title h2{
    font-size:clamp(1.42rem,8vw,1.82rem)
  }

  .content h2{
    font-size:clamp(1.32rem,7vw,1.65rem)
  }

  .hwg-box{
    width:calc(100% - 32px)
  }
}

/* Feinschliff v6: HWG-Breite, mobiler Abstand, mobile Galerie ohne Lightbox */
.hwg-box{
  max-width:calc(var(--max) - 48px);
  width:calc(100% - 48px)
}

@media (max-width:560px){
  .hwg-box{
    max-width:calc(100% - 36px);
    width:calc(100% - 36px)
  }

  .home-flow{
    gap:18px
  }

  .home-flow .section-title{
    margin-bottom:0
  }

  .practice-gallery a{
    pointer-events:none;
    cursor:default
  }

  .practice-gallery a:hover img,
  .practice-gallery a:focus img{
    transform:none
  }

  .gallery-note{
    display:none
  }

  .gallery-lightbox,
  .gallery-lightbox:target{
    display:none!important
  }
}

/* Über-mich-Seite */
.about-hero{
  padding:58px 0 42px;
  border-bottom:1px solid var(--line)
}

.about-hero-inner{
  text-align:center;
  max-width:920px
}

.about-hero h1{
  margin:.15em 0 .15em;
  color:var(--dark);
  font-size:clamp(2rem,4vw,3.3rem);
  line-height:1.08
}

.about-subtitle{
  margin:.1em 0 .55em;
  color:#315c62;
  font-size:clamp(1.05rem,2vw,1.4rem);
  font-weight:700
}

.about-hero h2{
  margin:.45em 0 0;
  color:var(--dark);
  font-size:clamp(1.45rem,2.8vw,2.15rem);
  line-height:1.15
}

.about-content-section{
  padding:64px 0
}

.about-card{
  max-width:980px;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:0 12px 34px rgba(33,70,75,.07);
  padding:34px
}

.about-intro-grid{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:30px;
  align-items:start
}

.about-portrait-box{
  background:#f8ffff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:12px;
  box-shadow:0 8px 22px rgba(33,70,75,.06)
}

.about-portrait-box img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
  border-radius:16px
}

.about-intro-text p,
.about-highlight,
.about-training{
  margin-top:0
}

.about-list{
  margin:18px 0 0;
  padding-left:1.45em
}

.about-list li{
  margin:.32em 0;
  line-height:1.55
}

.about-highlight{
  margin:30px 0 0;
  padding:18px 22px;
  background:var(--soft);
  border:1px solid var(--line);
  border-radius:18px;
  color:var(--dark)
}

.about-training{
  margin-top:34px
}

.about-training h2{
  color:var(--dark);
  font-size:clamp(1.22rem,2vw,1.55rem);
  line-height:1.22;
  margin:0 0 10px
}

.about-rating-section{
  padding:58px 0 66px
}

.about-rating-card{
  max-width:760px;
  margin:0 auto;
  display:grid;
  grid-template-columns:auto auto 1fr;
  gap:24px;
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  padding:26px 30px;
  box-shadow:0 12px 34px rgba(33,70,75,.07)
}

.about-rating-label{
  display:grid;
  gap:1px;
  color:#365c61;
  line-height:1.18;
  min-width:96px
}

.about-rating-label strong{
  color:var(--dark);
  font-size:1.1rem;
  margin-top:2px
}

.about-rating-brand{
  position:relative;
  display:grid;
  line-height:1;
  color:#4d5c62;
  min-width:170px
}

.about-rating-brand span{
  font-size:.95rem;
  letter-spacing:.01em
}

.about-rating-brand strong{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#4a555a;
  font-size:2.25rem;
  letter-spacing:-.05em;
  line-height:.9
}

.about-rating-brand strong::after{
  content:"";
  width:34px;
  height:34px;
  border-radius:50%;
  border:3px solid #ff9534;
  box-shadow:inset 0 0 0 4px rgba(255,149,52,.16)
}

.about-rating-links{
  display:grid;
  gap:7px;
  font-size:.95rem;
  line-height:1.35
}

.about-jameda-card{
  margin-top:18px
}

.about-jameda-brand{
  min-width:170px;
  color:#009b83;
  font-size:2.35rem;
  font-weight:800;
  letter-spacing:-.055em;
  line-height:1;
  text-transform:lowercase
}

.about-jameda-card .about-rating-links a{
  font-weight:700
}

@media (max-width:760px){
  .about-hero{
    padding:42px 0 34px
  }

  .about-card{
    padding:24px;
    border-radius:22px
  }

  .about-intro-grid{
    grid-template-columns:1fr;
    gap:22px
  }

  .about-portrait-box{
    width:180px;
    justify-self:center
  }

  .about-rating-card{
    grid-template-columns:1fr;
    gap:18px;
    padding:24px;
    align-items:start
  }
}

@media (max-width:560px){
  .about-content-section,
  .about-rating-section{
    padding:42px 0
  }

  .about-card{
    padding:20px
  }

  .about-portrait-box{
    width:160px
  }

  .about-rating-brand strong{
    font-size:1.95rem
  }
}

/* Über mich: mobile Ausrichtung Bewertungsbox */
@media (max-width:760px){
  .about-rating-card{
    text-align:center;
    justify-items:center;
    align-items:center
  }

  .about-rating-label{
    display:block;
    width:100%;
    min-width:0;
    text-align:center
  }

  .about-rating-label span,
  .about-rating-label strong{
    display:inline;
    line-height:1.28
  }

  .about-rating-label span:first-child::after{
    content:" "
  }

  .about-rating-label span:nth-of-type(2)::after{
    content:"";
    display:block
  }

  .about-rating-label strong{
    margin-right:5px
  }

  .about-rating-brand{
    justify-items:center;
    text-align:center;
    min-width:0
  }

  .about-jameda-brand{
    min-width:0;
    text-align:center
  }

  .about-rating-brand strong{
    justify-content:center
  }

  .about-rating-links{
    justify-items:center;
    text-align:center
  }
}

/* Symptome & Beschwerden Übersicht */
.section-white{
  background:#fff
}

.symptoms-hero{
  position:relative;
  overflow:hidden;
  padding:52px 0 44px;
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(90deg,rgba(240,250,251,.98),rgba(240,250,251,.84)),
    radial-gradient(circle at 18% 22%,rgba(84,191,195,.22),transparent 28%),
    radial-gradient(circle at 82% 28%,rgba(183,223,216,.44),transparent 30%),
    var(--soft)
}

.symptoms-hero::after{
  content:"";
  position:absolute;
  inset:auto -8% -110px -8%;
  height:230px;
  background:linear-gradient(90deg,rgba(84,191,195,.16),rgba(255,255,255,.05),rgba(183,223,216,.22));
  transform:rotate(-3deg);
  pointer-events:none
}

.symptoms-hero-inner{
  position:relative;
  z-index:1;
  text-align:center;
  max-width:940px
}

.symptoms-hero .eyebrow{
  margin:0 0 6px;
  color:#258c94
}

.symptoms-hero h1{
  margin:0;
  color:var(--dark);
  font-size:clamp(2rem,4vw,3.1rem);
  line-height:1.12;
  overflow-wrap:anywhere
}

.symptoms-hero-line{
  width:104px;
  height:2px;
  margin:20px auto 18px;
  background:#66898e;
  opacity:.75
}

.symptoms-hero p:last-child{
  margin:0;
  color:#43666b;
  font-size:1.05rem;
  font-weight:650;
  font-style:italic
}

.symptoms-overview-section{
  padding:58px 0 70px
}

.symptoms-overview-container{
  max-width:1040px
}

.symptoms-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:34px;
  row-gap:0
}

.symptom-item{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:18px;
  align-items:start;
  padding:24px 0 22px;
  border-bottom:1px solid rgba(33,70,75,.36)
}

.symptom-image-wrap{
  width:118px;
  height:118px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible
}

.symptom-image-wrap img{
  width:118px;
  height:118px;
  object-fit:contain
}

.symptom-image-wrap img.symptom-image-migraine{
  border-radius:50%;
  object-fit:cover
}

.symptom-copy h2{
  margin:0 0 6px;
  color:var(--dark);
  font-size:1.08rem;
  line-height:1.25;
  font-weight:850;
  font-style:italic;
  overflow-wrap:anywhere
}

.symptom-intro,
.symptom-copy p{
  margin:0 0 8px;
  color:#3e5f64;
  line-height:1.45;
  font-style:italic
}

.symptom-copy ul{
  margin:7px 0 12px;
  padding-left:1.15em;
  color:#3e5f64;
  line-height:1.42;
  font-style:italic
}

.symptom-copy li{
  margin:.14em 0
}

.symptom-more{
  display:inline-flex;
  color:#d64242;
  font-weight:750;
  font-style:italic;
  text-decoration:underline;
  text-decoration-thickness:.08em;
  text-underline-offset:.18em
}

.symptom-more:hover,
.symptom-more:focus{
  color:#a92c2c
}

@media (max-width:860px){
  .symptoms-grid{
    grid-template-columns:1fr
  }

  .symptom-item{
    grid-template-columns:118px minmax(0,1fr)
  }
}

@media (max-width:560px){
  .symptoms-hero{
    padding:40px 0 34px
  }

  .symptoms-hero h1{
    font-size:2rem
  }

  .symptoms-hero p:last-child{
    font-size:.98rem
  }

  .symptoms-overview-section{
    padding:34px 0 48px
  }

  .symptom-item{
    grid-template-columns:86px minmax(0,1fr);
    gap:13px;
    padding:20px 0 19px
  }

  .symptom-image-wrap,
  .symptom-image-wrap img{
    width:78px;
    height:78px
  }

  .symptom-copy h2{
    font-size:1rem
  }

  .symptom-copy ul,
  .symptom-intro,
  .symptom-copy p{
    font-size:.94rem
  }
}

/* Ablauf, Diagnose & Behandlung */
.diagnose-hero h1{
  font-size:clamp(2rem,4vw,3.05rem)
}

.diagnose-content-section{
  padding:56px 0 70px
}

.diagnose-container{
  max-width:980px
}

.diagnose-article{
  color:#2f5055;
  font-size:1rem;
  line-height:1.7
}

.diagnose-block{
  padding:0 0 42px;
  margin:0 0 42px;
  border-bottom:1px solid rgba(33,70,75,.22)
}

.diagnose-block:last-child{
  margin-bottom:0
}

.diagnose-block h2{
  margin:0 0 18px;
  color:var(--dark);
  font-size:clamp(1.45rem,2.2vw,2rem);
  line-height:1.25;
  font-weight:850;
  font-style:italic
}

.diagnose-block h3{
  margin:30px 0 14px;
  color:var(--dark);
  font-size:1.18rem;
  line-height:1.3;
  font-weight:850;
  font-style:italic
}

.diagnose-block p{
  margin:0 0 15px
}

.diagnose-block ul{
  margin:0 0 18px;
  padding-left:1.25em
}

.diagnose-block li{
  margin:.24em 0
}

.diagnose-block-anamnese{
  display:block
}

.diagnose-image-card{
  display:block;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 26px rgba(33,70,75,.07)
}

.diagnose-image-card img{
  width:100%;
  height:auto;
  display:block
}

.diagnose-image-card-small{
  float:right;
  max-width:132px;
  padding:8px;
  margin:2px 0 16px 28px
}

.diagnose-download-btn{
  margin-top:4px
}

.diagnose-media-row{
  display:grid;
  grid-template-columns:185px minmax(0,1fr);
  gap:26px;
  align-items:start;
  margin:0 0 20px
}

.diagnose-media-row-reverse{
  grid-template-columns:180px minmax(0,1fr)
}

.diagnose-image-card-wide{
  max-width:185px
}

.diagnose-image-card-wide img{
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:left center
}

.diagnose-image-card-device{
  max-width:170px;
  padding:10px
}

.diagnose-image-card-device img{
  object-fit:contain
}


.diagnose-media-row-pse{
  grid-template-columns:minmax(0,1fr) 170px;
  align-items:center;
}

.diagnose-media-row-pse > .diagnose-image-card-round{
  grid-column:2;
  grid-row:1;
  justify-self:end;
}

.diagnose-media-row-pse > div:not(.diagnose-image-card-round){
  grid-column:1;
  grid-row:1;
}

.diagnose-image-card-round{
  width:142px;
  height:142px;
  border-radius:50%;
  justify-self:end
}

.diagnose-image-card-round img{
  width:100%;
  height:100%;
  object-fit:cover
}

.diagnose-lab-list{
  line-height:1.55
}

.diagnose-new{
  margin:0 0 8px!important;
  color:#d64242;
  font-weight:850;
  font-style:italic
}

.diagnose-new-muted{
  color:#315d63
}

.diagnose-costs{
  background:var(--soft);
  border:1px solid var(--line);
  border-radius:24px;
  padding:28px 30px;
  box-shadow:0 8px 26px rgba(33,70,75,.05)
}

.diagnose-signoff{
  margin-top:22px!important;
  font-style:italic
}

@media (max-width:760px){
  .diagnose-content-section{
    padding:36px 0 52px
  }

  .diagnose-block{
    padding-bottom:32px;
    margin-bottom:32px
  }

  .diagnose-block h2{
    margin-bottom:14px
  }

  .diagnose-media-row,
  .diagnose-media-row-reverse,
  .diagnose-media-row-pse{
    display:block;
    margin-top:0
  }

  .diagnose-media-row-pse > .diagnose-image-card-round,
  .diagnose-media-row-pse > div:not(.diagnose-image-card-round){
    grid-column:auto;
    grid-row:auto
  }

  .diagnose-image-card-small,
  .diagnose-image-card-wide,
  .diagnose-image-card-device,
  .diagnose-image-card-round{
    float:left;
    justify-self:start;
    margin:2px 18px 10px 0
  }

  .diagnose-image-card-small{
    max-width:130px
  }

  .diagnose-image-card-wide{
    max-width:192px
  }

  .diagnose-image-card-device{
    max-width:158px
  }

  .diagnose-image-card-round{
    width:156px;
    height:156px
  }

  .diagnose-block::after,
  .diagnose-media-row::after,
  .diagnose-copy::after{
    content:"";
    display:block;
    clear:both
  }

  .diagnose-download-btn{
    clear:both
  }

  .diagnose-costs{
    padding:22px 20px
  }
}

/* Therapieverfahren */
.therapy-hero h1{
  font-size:clamp(2rem,4vw,3.05rem)
}

.therapy-accordion-section{
  padding:48px 0 62px
}

.therapy-container{
  max-width:1040px
}

.therapy-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  align-items:start
}

.therapy-column{
  display:grid;
  gap:0
}

.therapy-item{
  border:1px solid rgba(33,70,75,.14);
  border-bottom:0;
  background:#c5edf4;
  overflow:hidden
}

.therapy-item:first-child{
  border-radius:18px 18px 0 0
}

.therapy-item:last-child{
  border-bottom:1px solid rgba(33,70,75,.14);
  border-radius:0 0 18px 18px
}

.therapy-item summary{
  list-style:none;
  cursor:pointer;
  min-height:76px;
  padding:20px 70px 20px 24px;
  position:relative;
  display:flex;
  align-items:center;
  color:#071a1d;
  font-size:clamp(1.12rem,1.65vw,1.42rem);
  line-height:1.22;
  font-weight:850;
  font-style:italic;
  user-select:none
}

.therapy-item summary::-webkit-details-marker{
  display:none
}

.therapy-item summary::after{
  content:"";
  position:absolute;
  right:24px;
  top:50%;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#071a1d;
  transform:translateY(-50%);
  box-shadow:0 8px 20px rgba(33,70,75,.18)
}

.therapy-item summary::before{
  content:"";
  position:absolute;
  right:36px;
  top:50%;
  width:8px;
  height:8px;
  z-index:1;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:translateY(-65%) rotate(45deg);
  transition:transform .2s ease
}

.therapy-item[open] summary::before{
  transform:translateY(-35%) rotate(225deg)
}

.therapy-content{
  background:#fff;
  border-top:1px solid rgba(33,70,75,.12);
  padding:24px 26px 28px;
  color:#2f5055;
  line-height:1.72;
  font-size:.98rem
}

.therapy-content p{
  margin:0 0 15px
}

.therapy-content p:last-child{
  margin-bottom:0
}

.therapy-content a{
  font-weight:700
}

.therapy-list-plain{
  margin:0 0 16px;
  padding:0;
  list-style:none
}

.therapy-list-plain li{
  margin:0 0 5px
}

.therapy-content .therapy-subheading{
  margin:12px 0 6px;
  color:var(--dark);
  font-weight:850;
  font-style:italic
}

.therapy-legal-section{
  padding:42px 0 56px
}

.therapy-legal-box{
  max-width:1040px;
  color:#2f5055;
  font-size:.92rem;
  line-height:1.65
}

.therapy-legal-box h2{
  margin:0 0 10px;
  color:var(--dark);
  font-size:1rem;
  line-height:1.25;
  font-weight:850
}

.therapy-legal-box p{
  margin:0
}

@media (max-width:820px){
  .therapy-grid{
    grid-template-columns:1fr;
    gap:18px
  }

  .therapy-accordion-section{
    padding:34px 0 48px
  }

  .therapy-item summary{
    min-height:64px;
    padding:17px 64px 17px 20px;
    font-size:1.08rem
  }

  .therapy-content{
    padding:20px 20px 23px;
    font-size:.96rem
  }
}

/* Empfehlungen */
.recommendations-hero h1{
  font-size:clamp(2rem,4vw,3.05rem)
}

.recommendations-section{
  padding:56px 0 66px
}

.recommendations-container{
  max-width:1160px
}

.recommendations-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px
}

.recommendations-grid .recommendation-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:390px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:30px 30px 28px;
  box-shadow:0 18px 42px rgba(33,70,75,.08)
}

.recommendations-grid .recommendation-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:6px;
  background:linear-gradient(90deg,var(--turquoise),#b7dfd8)
}

.recommendation-card-content{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  flex:1
}

.recommendations-grid .recommendation-category{
  margin:0 0 10px;
  color:#476e75;
  font-size:.88rem;
  line-height:1.35;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase
}

.recommendations-grid .recommendation-card h2{
  margin:0 0 22px;
  color:var(--dark);
  font-size:clamp(1.35rem,2vw,1.72rem);
  line-height:1.18;
  font-weight:850
}

.recommendations-grid .recommendation-description{
  margin:0 0 22px;
  color:#294d53;
  font-size:1.05rem;
  line-height:1.72
}

.recommendation-code{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin:0 0 24px;
  padding:7px 16px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#f3fbfc;
  color:var(--dark);
  font-size:1.04rem;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.035em
}

.recommendation-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:56px;
  margin-top:auto;
  padding:12px 18px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--dark);
  font-weight:850;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  box-shadow:0 6px 18px rgba(33,70,75,.04);
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease
}

.recommendation-button:hover,
.recommendation-button:focus{
  transform:translateY(-1px);
  border-color:#9bdade;
  background:#f3fbfc;
  color:#145c61
}

.affiliate-star{
  display:inline-block;
  margin-left:2px;
  color:#c44141;
  font-weight:900
}

.recommendations-additional-section{
  padding-top:54px
}

.recommendations-title-small{
  max-width:780px;
  margin:0 auto 30px;
  text-align:center
}

.recommendations-title-small h2{
  font-size:clamp(1.45rem,2.4vw,2.1rem)
}

.recommendations-title-small p:not(.eyebrow){
  margin:8px 0 0;
  color:#3a5d62;
  font-weight:650
}

.recommendations-grid-small{
  grid-template-columns:repeat(3,minmax(0,1fr))
}

.recommendations-grid .recommendation-card-small{
  min-height:315px
}

.recommendations-disclosure-section{
  padding:42px 0 58px
}

.recommendations-disclosure{
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  padding:22px 24px;
  color:#2f5055;
  font-size:.95rem;
  line-height:1.62;
  box-shadow:0 12px 30px rgba(33,70,75,.06)
}

.recommendations-disclosure p{
  margin:0
}

@media (max-width:1040px){
  .recommendations-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media (max-width:620px){
  .recommendations-section{
    padding:38px 0 46px
  }

  .recommendations-grid,
  .recommendations-grid-small{
    grid-template-columns:1fr;
    gap:18px
  }

  .recommendations-grid .recommendation-card,
  .recommendations-grid .recommendation-card-small{
    min-height:0;
    padding:24px 24px 24px
  }

  .recommendations-grid .recommendation-card h2{
    margin-bottom:16px;
    font-size:1.45rem
  }

  .recommendations-grid .recommendation-description{
    margin-bottom:18px;
    font-size:1rem
  }

  .recommendation-code{
    margin-bottom:22px
  }

  .recommendations-disclosure-section{
    padding:34px 0 48px
  }
}

/* Index: zusätzliche Hinweise im Kontaktbereich */
.contact-side{
  display:grid;
  gap:18px;
  align-self:start;
  position:sticky;
  top:116px
}

.contact-side .contact-card{
  position:static;
  top:auto
}

.contact-info-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:0 12px 32px rgba(33,70,75,.07);
  padding:28px 30px;
  color:#2f5055
}

.contact-info-title{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:0 0 16px;
  color:var(--dark);
  font-size:clamp(1.18rem,1.7vw,1.5rem);
  line-height:1.22
}

.contact-info-icon{
  flex:0 0 auto;
  margin-top:1px;
  color:var(--turquoise)
}

.contact-info-icon circle,
.contact-info-icon path{
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round
}

.contact-info-card p{
  margin:0;
  font-size:.98rem;
  line-height:1.62
}

.contact-info-card p + p{
  margin-top:12px
}

@media (max-width:960px){
  .contact-side{
    position:static;
    top:auto
  }
}

@media (max-width:560px){
  .contact-info-card{
    padding:22px;
    border-radius:20px
  }

  .contact-info-title{
    gap:10px;
    font-size:1.16rem
  }
}

/* Index: Info-Symbol größer + Anker-Offset Kontakt */
#kontakt{
  scroll-margin-top:50px;
}

.contact-info-icon{
  width:52px;
  height:52px;
  flex-basis:52px;
}

@media (max-width:560px){
  #kontakt{
    scroll-margin-top:50px;
  }

  .contact-info-icon{
    width:46px;
    height:46px;
    flex-basis:46px;
  }
}

/* Beschwerde-Unterseiten: Burnout / Erschöpfung */
.condition-hero h1{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}

.condition-content-section{
  padding:56px 0 72px;
}

.condition-container{
  max-width:980px;
}

.condition-article{
  color:#2f5055;
  font-size:1rem;
  line-height:1.72;
}

.condition-article > *:first-child{
  margin-top:0;
}

.condition-article h2{
  margin:34px 0 16px;
  color:var(--dark);
  font-size:clamp(1.35rem,2.1vw,1.9rem);
  line-height:1.28;
  font-weight:850;
  font-style:italic;
}

.condition-article p{
  margin:0 0 17px;
}

.condition-article ul{
  margin:0 0 22px;
  padding-left:1.25em;
}

.condition-article li{
  margin:.25em 0;
}

.condition-lead{
  display:flow-root;
  margin-bottom:28px;
}

.condition-lead-image{
  float:left;
  width:180px;
  height:180px;
  object-fit:cover;
  border-radius:50%;
  margin:2px 28px 18px 0;
  box-shadow:0 12px 30px rgba(33,70,75,.12);
}

.condition-figure{
  margin:30px auto 28px;
  display:flex;
  justify-content:center;
}

.condition-figure img{
  border-radius:12px;
  box-shadow:0 10px 28px rgba(33,70,75,.08);
}

.condition-figure-medium img{
  width:min(420px,100%);
}

.condition-figure-wide img{
  width:min(720px,100%);
}

.condition-figure-inline{
  display:block;
  justify-content:normal;
  margin:4px 28px 18px 0;
  max-width:min(420px,48%);
}

.condition-figure-inline-left{
  float:left;
}

.condition-figure-inline.condition-figure-wide{
  max-width:min(460px,52%);
}

.condition-figure-inline img{
  width:100%;
  height:auto;
}

.condition-clear{
  clear:both;
}

.condition-list-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  margin:10px 0 20px;
}

.condition-contact-note{
  margin:34px 0 0;
  padding:24px 28px;
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--soft);
  box-shadow:0 8px 24px rgba(33,70,75,.06);
}

.condition-contact-note p:last-child{
  margin-bottom:0;
}

.condition-literature{
  margin-top:42px;
  padding-top:34px;
  border-top:1px solid rgba(33,70,75,.28);
}

.condition-literature h2{
  margin-top:0;
  margin-bottom:22px;
  font-size:clamp(1.2rem,1.8vw,1.5rem);
  font-style:normal;
}

.literature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}

.literature-card{
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  color:var(--dark);
  text-decoration:none;
  box-shadow:0 12px 28px rgba(33,70,75,.08);
}

.literature-card:hover{
  color:#145c61;
  transform:translateY(-1px);
}

.literature-card img{
  width:86px;
  max-height:132px;
  object-fit:contain;
  border-radius:6px;
  box-shadow:0 6px 16px rgba(33,70,75,.12);
}

.literature-card span{
  display:block;
  font-weight:700;
  line-height:1.45;
}

@media (max-width:760px){
  .condition-content-section{
    padding:38px 0 54px;
  }

  .condition-article{
    font-size:.96rem;
    line-height:1.68;
  }

  .condition-lead-image{
    float:left;
    width:150px;
    height:150px;
    margin:2px 18px 12px 0;
  }

  .condition-figure-inline,
  .condition-figure-inline.condition-figure-wide{
    float:left;
    max-width:190px;
    margin:2px 18px 12px 0;
  }

  .condition-figure-medium img,
  .condition-figure-wide img{
    width:100%;
  }

  .condition-list-grid,
  .literature-grid{
    grid-template-columns:1fr;
  }

  .condition-contact-note{
    padding:22px;
  }
}

@media (max-width:460px){
  .condition-lead-image{
    float:left;
    margin:2px 16px 10px 0;
    width:142px;
    height:142px;
  }

  .condition-figure-inline,
  .condition-figure-inline.condition-figure-wide{
    float:left;
    max-width:160px;
    margin:2px 16px 10px 0;
  }

  .condition-lead::after,
  .condition-article::after{
    content:"";
    display:block;
    clear:both;
  }

  .literature-card{
    grid-template-columns:74px minmax(0,1fr);
    gap:14px;
    padding:15px;
  }

  .literature-card img{
    width:74px;
    max-height:114px;
  }
}


/* Burnout-Unterseite: Bildlogik final korrigieren
   Nur das erste Bild bleibt im Textfluss. Die beiden Diagramm-Bilder stehen wieder als normale, zentrierte Bilder. */
.burnout-article .condition-figure-inline,
.burnout-article .condition-figure-inline.condition-figure-wide{
  float:none;
  clear:both;
  display:flex;
  justify-content:center;
  width:100%;
  max-width:100%;
  margin:30px auto 28px;
}

.burnout-article .condition-figure-medium.condition-figure-inline img{
  width:min(420px,100%);
  max-width:100%;
  height:auto;
}

.burnout-article .condition-figure-wide.condition-figure-inline img{
  width:min(720px,100%);
  max-width:100%;
  height:auto;
}

@media (max-width:760px){
  .condition-hero h1{
    font-size:clamp(1.85rem,7.2vw,2.15rem);
  }

  .burnout-article .condition-figure-inline,
  .burnout-article .condition-figure-inline.condition-figure-wide{
    float:none;
    clear:both;
    width:100%;
    max-width:100%;
    margin:26px auto 24px;
  }

  .burnout-article .condition-figure-medium.condition-figure-inline img,
  .burnout-article .condition-figure-wide.condition-figure-inline img{
    width:100%;
    max-width:100%;
    height:auto;
  }
}

@media (max-width:460px){
  .condition-hero h1{
    font-size:clamp(1.72rem,7vw,1.95rem);
  }

  .burnout-article .condition-figure-inline,
  .burnout-article .condition-figure-inline.condition-figure-wide{
    margin:24px auto 22px;
  }
}

/* Beschwerde-Unterseite: Magen-Darm-Erkrankungen */
.magen-darm-article > h1{
  margin:0 0 18px;
  color:var(--dark);
  font-size:clamp(1.85rem,3vw,2.7rem);
  line-height:1.12;
  font-weight:850;
  font-style:italic;
}

.magen-darm-article > h2:first-of-type{
  margin-top:0;
  color:#5aaac5;
  font-size:clamp(1.22rem,2vw,1.72rem);
}

.magen-darm-article h3{
  margin:36px 0 14px;
  color:var(--dark);
  font-size:clamp(1.12rem,1.7vw,1.42rem);
  line-height:1.32;
  font-weight:850;
  font-style:italic;
}

.magen-darm-article .condition-lead-image{
  width:188px;
  height:188px;
}

.condition-textflow-block{
  display:flow-root;
  margin-bottom:26px;
}

.condition-inline-image{
  float:left;
  width:188px;
  height:auto;
  object-fit:contain;
  border-radius:12px;
  margin:2px 28px 18px 0;
  box-shadow:0 12px 30px rgba(33,70,75,.12);
}

.magen-darm-article .literature-card{
  min-height:158px;
}

.magen-darm-article .literature-card img{
  background:#fff;
}

@media (max-width:760px){
  .magen-darm-article > h1{
    font-size:clamp(1.62rem,7vw,2rem);
  }

  .magen-darm-article > h2:first-of-type{
    font-size:clamp(1.08rem,5.2vw,1.28rem);
  }

  .magen-darm-article .condition-lead-image{
    width:145px;
    height:145px;
    margin:2px 18px 12px 0;
  }

  .condition-inline-image{
    width:145px;
    height:auto;
    margin:2px 18px 12px 0;
  }
}

@media (max-width:420px){
  .magen-darm-article .condition-lead-image{
    width:132px;
    height:132px;
    margin:2px 16px 10px 0;
  }

  .condition-inline-image{
    width:132px;
    height:auto;
    margin:2px 16px 10px 0;
  }
}


/* Beschwerde-Unterseite: Fibromyalgie */
.fibro-lead-image{
  float:left;
  width:170px;
  height:auto;
  aspect-ratio:auto;
  border-radius:18px;
  object-fit:contain;
}

.fibro-inline-title{
  margin:28px 0 12px;
  color:var(--dark);
  font-size:1.08rem;
  font-weight:800;
}

.fibro-inline-list{
  margin:0 0 18px;
  padding-left:1.1em;
}

.fibro-inline-list li{
  margin:.35em 0;
}

@media (max-width:460px){
  .fibro-lead-image{
    width:145px;
    height:auto;
  }
}


/* Beschwerde-Unterseite: Migräne */
.migraene-article .condition-lead{
  margin-bottom:22px;
}

.migraene-article .condition-lead-image{
  float:right;
  width:185px;
  height:auto;
  border-radius:14px;
  object-fit:contain;
  margin:2px 0 18px 28px;
}

.migraene-article h2{
  margin:34px 0 14px;
  color:#5aaac5;
  font-size:clamp(1.14rem,1.9vw,1.48rem);
  line-height:1.3;
}

.migraene-article .condition-figure-inline-right{
  float:right;
  margin:4px 0 18px 28px;
}

.migraene-article .condition-figure-inline-right.condition-figure-wide{
  max-width:min(480px,50%);
}

.migraene-article .condition-figure-inline-right img{
  width:100%;
  height:auto;
}

.migraene-intro-list{
  margin-top:10px;
}

.migraene-intro-list li{
  margin:.3em 0;
}

.migraene-highlight-quote{
  font-weight:800;
}

@media (max-width:760px){
  .migraene-article .condition-lead-image{
    width:150px;
    margin:2px 0 12px 18px;
  }

  .migraene-article .condition-figure-inline-right,
  .migraene-article .condition-figure-inline-right.condition-figure-wide{
    float:right;
    max-width:50%;
    margin:2px 0 12px 18px;
  }

  .migraene-article .condition-figure-inline-right.condition-figure-wide img{
    width:100%;
  }
}

@media (max-width:460px){
  .migraene-article .condition-lead-image{
    width:142px;
    margin:2px 0 10px 16px;
  }

  .migraene-article .condition-figure-inline-right,
  .migraene-article .condition-figure-inline-right.condition-figure-wide{
    float:right;
    max-width:50%;
    margin:2px 0 10px 16px;
  }
}


/* Korrektur Migräne-Seite: Bildpositionen und Kontaktbox */
.migraene-article .condition-lead-image{
  float:right;
  width:185px;
  height:auto;
  border-radius:14px;
  object-fit:contain;
  margin:2px 0 18px 28px;
  box-shadow:0 12px 30px rgba(33,70,75,.10);
}

.migraene-article .condition-figure-inline-right,
.migraene-article .condition-figure-inline-right.condition-figure-wide{
  float:right;
  display:block;
  width:50%;
  max-width:50%;
  margin:4px 0 18px 28px;
  clear:none;
}

.migraene-article .condition-figure-inline-right img,
.migraene-article .condition-figure-inline-right.condition-figure-wide img{
  width:100%;
  max-width:100%;
  height:auto;
  display:block;
}

.migraene-contact-box{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:16px 0 22px;
}

.migraene-contact-option{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--soft);
  color:var(--dark);
  text-decoration:none;
  box-shadow:0 10px 24px rgba(33,70,75,.06);
}

.migraene-contact-option span{
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#5aaac5;
}

.migraene-contact-option strong{
  font-size:1.05rem;
  line-height:1.3;
}

@media (max-width:760px){
  .migraene-article .condition-lead-image{
    float:right;
    width:150px;
    height:auto;
    margin:2px 0 12px 18px;
  }

  .migraene-article .condition-figure-inline-right,
  .migraene-article .condition-figure-inline-right.condition-figure-wide{
    float:right;
    width:50%;
    max-width:50%;
    margin:2px 0 12px 18px;
  }
}

@media (max-width:520px){
  .migraene-contact-box{
    grid-template-columns:1fr;
  }
}

@media (max-width:460px){
  .migraene-article .condition-lead-image{
    float:right;
    width:136px;
    margin:2px 0 10px 16px;
  }

  .migraene-article .condition-figure-inline-right,
  .migraene-article .condition-figure-inline-right.condition-figure-wide{
    float:right;
    width:50%;
    max-width:50%;
    margin:2px 0 10px 16px;
  }
}


/* Einheitliche Überschriften für Symptome-&-Beschwerden-Unterseiten */
.condition-article h2,
.condition-literature h2,
.condition-contact-note h2{
  margin:34px 0 14px !important;
  color:#5aaac5 !important;
  font-family:inherit !important;
  font-size:clamp(1.18rem,1.9vw,1.48rem) !important;
  line-height:1.3 !important;
  font-weight:850 !important;
  font-style:normal !important;
}

.condition-contact-note h2:first-child{
  margin-top:0 !important;
}

.condition-article h3{
  color:#5aaac5;
}

/* Migräne: mobile Grafik über volle Breite, Kontaktbox wie die anderen Unterseiten */
@media (max-width:760px){
  .migraene-article .condition-figure-inline-right,
  .migraene-article .condition-figure-inline-right.condition-figure-wide{
    float:none !important;
    clear:both !important;
    display:flex !important;
    justify-content:center !important;
    width:100% !important;
    max-width:100% !important;
    margin:24px auto 22px !important;
  }

  .migraene-article .condition-figure-inline-right img,
  .migraene-article .condition-figure-inline-right.condition-figure-wide img{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
  }
}

@media (max-width:460px){
  .migraene-article .condition-figure-inline-right,
  .migraene-article .condition-figure-inline-right.condition-figure-wide{
    float:none !important;
    width:100% !important;
    max-width:100% !important;
    margin:22px auto 20px !important;
  }
}


/* Beschwerde-Unterseite: Hormonstörungen */
.hormone-article .condition-lead-image,
.hormone-article .hormone-lead-image{
  width:170px;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  border-radius:16px;
}

@media (max-width:760px){
  .hormone-article .condition-lead-image,
  .hormone-article .hormone-lead-image{
    width:150px;
    height:auto;
  }
}

@media (max-width:460px){
  .hormone-article .condition-lead-image,
  .hormone-article .hormone-lead-image{
    width:142px;
    height:auto;
  }
}


/* Unterseite: Erkrankungen / mögliche Beschwerdebilder */
.erkrankungen-hero{
  padding:18px 0 16px;
  background:linear-gradient(90deg,#ffffff 0%,#f4f4f4 58%,#dedede 100%);
  border-bottom:1px solid rgba(90,170,197,.35);
}

.erkrankungen-hero .container{
  max-width:820px;
}

.erkrankungen-hero h1{
  margin:0;
  color:var(--dark);
  font-size:clamp(1.05rem,1.6vw,1.25rem);
  font-style:italic;
  font-weight:800;
  line-height:1.35;
}

.erkrankungen-content{
  padding:28px 0 58px;
}

.erkrankungen-article{
  max-width:820px;
  margin:0 auto;
  font-style:italic;
  color:var(--dark);
  font-size:.98rem;
  line-height:1.65;
}

.erkrankungen-section{
  display:flow-root;
  padding:26px 0 24px;
  border-top:1px solid rgba(90,170,197,.7);
  scroll-margin-top:110px;
}

.erkrankungen-section:first-child{
  border-top:0;
  padding-top:0;
}

.erkrankungen-section h2{
  margin:0 0 14px;
  color:var(--dark);
  font-size:clamp(1.16rem,1.9vw,1.45rem);
  line-height:1.32;
  font-style:italic;
  font-weight:800;
}

.erkrankungen-section p{
  margin:0 0 14px;
}

.erkrankungen-section ul{
  margin:0 0 16px;
  padding-left:1.25em;
}

.erkrankungen-section li{
  margin:.2em 0;
}

.erkrankungen-img{
  width:126px;
  height:126px;
  object-fit:cover;
  border-radius:50%;
  box-shadow:0 12px 28px rgba(33,70,75,.12);
}

.erkrankungen-img-right{
  float:right;
  margin:4px 0 18px 28px;
}

.erkrankungen-img-left{
  float:left;
  margin:4px 28px 18px 0;
}

.erkrankungen-small-title{
  margin:16px 0 8px;
  font-weight:800;
  text-decoration:underline;
}

@media (max-width:760px){
  .erkrankungen-content{
    padding:24px 0 46px;
  }

  .erkrankungen-article{
    font-size:.95rem;
    line-height:1.68;
  }

  .erkrankungen-section{
    padding:24px 0 22px;
  }

  .erkrankungen-img{
    width:118px;
    height:118px;
  }

  .erkrankungen-img-right{
    margin:2px 0 14px 20px;
  }

  .erkrankungen-img-left{
    margin:2px 20px 14px 0;
  }
}

@media (max-width:460px){
  .erkrankungen-img{
    width:104px;
    height:104px;
  }

  .erkrankungen-img-right{
    margin:2px 0 12px 16px;
  }

  .erkrankungen-img-left{
    margin:2px 16px 12px 0;
  }
}


/* Unterseite: Vitamin C Info */
.vitc-hero{
  padding:28px 0;
  background:#fff;
  border-bottom:1px solid rgba(90,170,197,.28);
}

.vitc-hero-inner{
  display:block;
  width:100%;
  max-width:var(--max);
  text-align:center;
}

.vitc-hero-copy{
  width:100%;
  text-align:center;
}

.vitc-hero-figure{
  margin:0;
}

.vitc-hero-figure img{
  width:100%;
  height:auto;
  border-radius:10px;
  box-shadow:0 14px 28px rgba(33,70,75,.10);
}

.vitc-hero-copy h1{
  margin:0 0 14px;
  color:#5aaac5;
  font-size:clamp(1.7rem,3vw,2.5rem);
  line-height:1.2;
  font-weight:850;
}

.vitc-hero-copy p{
  margin:0;
  font-size:clamp(1.05rem,1.5vw,1.25rem);
  color:var(--dark);
  line-height:1.5;
}

.vitc-content-section{
  padding-top:34px;
}

.vitc-article .vitc-inline-figure{
  display:block;
  max-width:220px;
  margin-top:2px;
}

.vitc-article .vitc-inline-portrait{
  max-width:160px;
}

.vitc-article .vitc-inline-small{
  max-width:140px;
}

.vitc-article .vitc-inline-figure img{
  width:100%;
  height:auto;
  border-radius:12px;
  box-shadow:0 10px 28px rgba(33,70,75,.08);
}

.vitc-article ul{
  margin:0 0 16px;
  padding-left:1.25em;
}

.vitc-article li{
  margin:.2em 0;
}

.vitc-article .vitc-dash-list{
  list-style:disc;
}

.vitc-closing{
  margin-top:34px;
  padding-top:30px;
  border-top:1px solid rgba(33,70,75,.28);
}

.vitc-closing p:last-child{
  margin-bottom:0;
}

@media (max-width:760px){
  .vitc-hero-inner{
    grid-template-columns:1fr;
    gap:20px;
  }

  .vitc-hero-figure{
    max-width:340px;
  }

  .vitc-article .vitc-inline-figure{
    max-width:180px;
  }

  .vitc-article .vitc-inline-portrait{
    max-width:140px;
  }

  .vitc-article .vitc-inline-small{
    max-width:126px;
  }
}

@media (max-width:460px){
  .vitc-hero{
    padding:24px 0;
  }

  .vitc-hero-copy h1{
    font-size:clamp(1.55rem,7vw,2.05rem);
  }

  .vitc-hero-copy p{
    font-size:1rem;
  }

  .vitc-article .vitc-inline-figure{
    max-width:156px;
  }

  .vitc-article .vitc-inline-portrait{
    max-width:132px;
  }

  .vitc-article .vitc-inline-small{
    max-width:112px;
  }
}


/* Vitamin C Info: Bildwechsel und mobile Darstellung korrigiert */
.vitc-article .condition-figure-inline-right{
  float:right;
  margin:4px 0 18px 28px;
}

.vitc-article .condition-figure-inline-left{
  float:left;
  margin:4px 28px 18px 0;
}

.vitc-article .vitc-inline-figure{
  display:block;
}

.vitc-article .vitc-inline-figure img{
  display:block;
}

/* Listen neben floated Bildern bleiben in eigener Textspalte, damit Marker nicht ins Bild laufen */
.vitc-article ul{
  overflow:hidden;
}

@media (max-width:760px){
  .vitc-hero-inner{
    justify-items:center;
    text-align:center;
  }

  .vitc-hero-figure{
    margin-left:auto;
    margin-right:auto;
  }

  .vitc-hero-copy{
    text-align:center;
  }

  .vitc-article .condition-figure-inline-right{
    float:right;
    margin:2px 0 14px 20px;
  }

  .vitc-article .condition-figure-inline-left{
    float:left;
    margin:2px 20px 14px 0;
  }

  .vitc-article ul,
  .vitc-article ol{
    overflow:hidden;
    padding-left:1.15em;
  }
}

@media (max-width:520px){
  .vitc-article .condition-figure-inline-right,
  .vitc-article .condition-figure-inline-left{
    float:none !important;
    clear:both !important;
    margin:0 auto 16px !important;
    max-width:min(260px,100%) !important;
  }

  .vitc-article .vitc-inline-small{
    max-width:min(180px,100%) !important;
  }

  .vitc-article .vitc-inline-portrait{
    max-width:min(180px,100%) !important;
  }

  .vitc-article ul,
  .vitc-article ol{
    overflow:visible;
    padding-left:1.25em;
    clear:both;
  }
}

/* Startseite: Patientenstimmen */
.reviews-section{
  border-top:1px solid rgba(33,70,75,.08);
  border-bottom:1px solid rgba(33,70,75,.08)
}

.reviews-heading{
  text-align:center;
  margin-left:auto;
  margin-right:auto
}

.reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px
}

.review-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  margin:0;
  padding:32px 28px 26px;
  border:1px solid rgba(84,191,195,.25);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 32px rgba(33,70,75,.07)
}

.review-card::before{
  content:"“";
  position:absolute;
  top:4px;
  left:20px;
  color:rgba(84,191,195,.25);
  font-family:Georgia,serif;
  font-size:4.8rem;
  line-height:1
}

.review-card p{
  position:relative;
  z-index:1;
  flex:1;
  margin:0;
  color:#34565b;
  font-size:.98rem;
  line-height:1.68
}

.review-card footer{
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid rgba(33,70,75,.13)
}

.review-card cite{
  color:var(--dark);
  font-style:normal;
  font-weight:850
}

.reviews-profile-link{
  margin:26px 0 0;
  text-align:center
}

.reviews-profile-link a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:9px 20px;
  border:1px solid rgba(33,70,75,.18);
  border-radius:999px;
  background:#fff;
  color:var(--dark);
  font-weight:750;
  text-decoration:none;
  box-shadow:0 7px 18px rgba(33,70,75,.05)
}

.reviews-profile-link a:hover,
.reviews-profile-link a:focus{
  border-color:var(--turquoise);
  color:#145c61
}

/* Diagnostik: Spenglersan-Blut-Test und Urinfunktionsdiagnostik */
.diagnose-method-row{
  display:grid;
  grid-template-columns:minmax(0,330px) minmax(0,1fr);
  gap:30px;
  align-items:start
}

.diagnose-method-row-reverse{
  grid-template-columns:minmax(0,1fr) minmax(0,360px)
}

.diagnose-method-row-reverse .diagnose-method-image{
  grid-column:2;
  grid-row:1
}

.diagnose-method-row-reverse .diagnose-method-copy{
  grid-column:1;
  grid-row:1
}

.diagnose-method-image{
  overflow:hidden;
  margin:2px 0 0;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 9px 28px rgba(33,70,75,.07)
}

.diagnose-method-image img{
  width:100%;
  height:auto;
  display:block
}

.diagnose-method-copy p:last-of-type{
  margin-bottom:0
}

.diagnose-note-box{
  display:grid;
  gap:6px;
  margin-top:20px;
  padding:18px 20px;
  border:1px solid rgba(84,191,195,.32);
  border-left:5px solid var(--turquoise);
  border-radius:14px;
  background:var(--soft);
  color:#31575c
}

.diagnose-note-box strong{
  color:var(--dark)
}

@media (max-width:900px){
  .reviews-grid{
    grid-template-columns:1fr
  }

  .review-card{
    min-height:0
  }
}

@media (max-width:760px){
  .diagnose-method-row,
  .diagnose-method-row-reverse{
    display:block
  }

  .diagnose-method-row-reverse .diagnose-method-image,
  .diagnose-method-row-reverse .diagnose-method-copy{
    grid-column:auto;
    grid-row:auto
  }

  .diagnose-method-image{
    width:min(100%,420px);
    margin:0 auto 20px
  }

  .diagnose-note-box{
    padding:16px 17px
  }
}

@media (max-width:560px){
  .review-card{
    padding:29px 22px 23px;
    border-radius:20px
  }

  .review-card p{
    font-size:.94rem
  }

  .reviews-profile-link a{
    width:100%
  }
}

