:root{
  --bg:#edf7fa;
  --bg-alt:#dceef3;
  --surface:#fff;
  --accent:#397f94;
  --accent-2:#5f9fb3;
  --accent-soft:#eef8fa;
  --line:rgba(57,127,148,.24);
  --shadow:0 16px 38px rgba(45,82,103,.18);
  --shadow-hover:0 22px 48px rgba(45,82,103,.26);
  --radius:22px;
  --container:1220px;
  --header-offset:104px;
}
*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}
html{
  scroll-behavior:smooth;
}
body{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:18px;
  line-height:1.7;
  background:var(--bg);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{
  display:block;
  max-width:100%;
}
a{
  color:inherit;
  text-decoration:none;
}
button,input{
  font:inherit;
}
button{
  color:inherit;
}
.container{
  width:min(var(--container),calc(100% - 40px));
  margin:0 auto;
}
.section{
  padding:78px 0;
  position:relative;
}
section[id]{
  scroll-margin-top:var(--header-offset);
}
.section-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.9rem,3.5vw,3rem);
  line-height:1.12;
  font-weight:500;
  letter-spacing:-.02em;
  margin-bottom:14px;
}
.section-title::after{
  content:"";
  display:block;
  width:72px;
  height:3px;
  margin-top:12px;
  border-radius:999px;
  background:var(--accent-2);
}
.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
}
.section-kicker::before,.section-kicker::after{
  content:"";
  width:30px;
  height:2px;
  border-radius:999px;
  background:var(--accent);
}
.section-intro{
  max-width:820px;
  color:var(--muted);
  font-size:1.08rem;
}
.centered-head{
  text-align:center;
  margin-bottom:38px;
}
.centered-head .section-title,.centered-head .section-intro{
  margin-left:auto;
  margin-right:auto;
}
.centered-head .section-title::after{
  margin-left:auto;
  margin-right:auto;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 24px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:650;
  cursor:pointer;
  transition:.25s ease;
  text-align:center;
}
.btn:hover{
  transform:translateY(-2px);
}
.btn-primary{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
  box-shadow:0 12px 26px rgba(57,127,148,.22);
}
.btn-primary:hover{
  background:#2f6f82;
  border-color:#2f6f82;
}
.btn-outline{
  background:#fff;
  border-color:rgba(57,127,148,.55);
  color:#2f6678;
}
.btn-outline:hover{
  background:var(--accent-soft);
}
.btn-white{
  background:#fff;
  color:#2f6678;
}
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:3px solid #245f73;
  outline-offset:4px;
}
/* Header */
.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:1000;
  padding:12px 0;
  transition:.25s ease;
}
.site-header.scrolled{
  background:rgba(247,252,253,.97);
  border-bottom:1px solid var(--line);
  box-shadow:0 10px 30px rgba(45,82,103,.10);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.nav-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.logo-shell{
  width:64px;
  height:64px;
  flex:0 0 64px;
}
.logo-shell img{
  background:#fff;
}
.brand-copy{
  min-width:0;
}
.brand-copy strong{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.45rem;
  line-height:1.05;
  white-space:nowrap;
}
.brand-copy>span{
  display:block;
  color:var(--accent);
  font-size:.72rem;
  letter-spacing:.06em;
  white-space:nowrap;
}
.brand-specialty-mobile{
  display:none !important;
}
.brand-wahlarzt{
  display:inline-flex;
  margin-top:5px;
  padding:4px 9px;
  border-radius:999px;
  background:var(--accent);
  color:#fff;
  font-style:normal;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.1em;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:16px;
}
.nav-links a{
  color:#4a6271;
  font-size:1rem;
  font-weight:500;
  white-space:nowrap;
}
/* Desktop-Header: maximal groß, aber weiterhin vollständig einzeilig. */
@media (min-width:1101px){
  .site-header{
    padding:14px 0;
  }
  .site-header .container{
    width:min(1500px,calc(100% - 18px));
  }
  .nav-bar{
    gap:clamp(8px,.8vw,15px);
    flex-wrap:nowrap;
  }
  .brand{
    gap:clamp(9px,.8vw,14px);
    flex:0 1 auto;
    white-space:nowrap;
  }
  .logo-shell{
    width:clamp(66px,5.1vw,78px);
    height:clamp(66px,5.1vw,78px);
    flex:0 0 clamp(66px,5.1vw,78px);
  }
  .brand-copy strong{
    font-size:clamp(1.48rem,1.85vw,1.88rem);
    font-weight:700;
  }
  .brand-specialty-desktop{
    font-size:clamp(.78rem,.98vw,.94rem) !important;
    font-weight:800 !important;
    letter-spacing:.035em !important;
  }
  .brand-wahlarzt{
    margin-top:6px;
    padding:5px 11px;
    font-size:clamp(.68rem,.80vw,.76rem);
  }
  .nav-links{
    gap:clamp(7px,.75vw,14px);
    flex:0 1 auto;
    flex-wrap:nowrap;
    white-space:nowrap;
  }
  .nav-links a{
    font-size:clamp(1.00rem,1.22vw,1.20rem);
    font-weight:750;
    white-space:nowrap;
  }
  .nav-actions{
    gap:7px;
    flex:0 0 auto;
  }
  .nav-book-btn{
    min-height:50px;
    padding:0 clamp(13px,1.15vw,20px);
    font-size:clamp(.96rem,1.08vw,1.06rem);
    font-weight:800;
    white-space:nowrap;
  }
}
.nav-links a:hover{
  color:#203744;
}
.nav-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.nav-book-btn{
  min-height:44px;
  padding:0 17px;
}
.mobile-toggle{
  display:none;
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--accent);
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.mobile-toggle svg{
  width:22px;
  height:22px;
}
.mobile-drawer{
  max-height:0;
  overflow:hidden;
  background:rgba(247,252,253,.98);
  border-bottom:1px solid transparent;
  transition:max-height .3s ease;
}
.mobile-drawer.open{
  max-height:520px;
  border-bottom-color:var(--line);
}
.mobile-drawer-inner{
  padding:10px 0 18px;
  display:grid;
}
.mobile-drawer a{
  padding:12px 4px;
  border-bottom:1px solid rgba(45,82,103,.08);
  color:#385666;
  font-weight:600;
}
/* Hero */
.hero{
  padding:128px 0 54px;
  background:radial-gradient(circle at 10% 15%,rgba(172,216,226,.24),transparent 24%),
    radial-gradient(circle at 88% 28%,rgba(127,185,200,.08),transparent 22%),
    linear-gradient(135deg,#f7fcfd 0%,#fff 58%,#edf8fb 100%);
}
.hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:44px;
  align-items:start;
}


.hero-copy h1{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.15rem,4vw,3.5rem);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.025em;
  text-align:center;
  margin:0 auto 16px;
}
.hero-copy p{
  color:var(--muted);
  font-size:1.08rem;
  margin-bottom:24px;
  max-width:680px;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:14px;
}
.booking-privacy-note{
  font-size:.72rem !important;
  line-height:1.45 !important;
  color:rgba(36,59,74,.78) !important;
  max-width:650px;
}
.booking-privacy-note a{
  text-decoration:underline;
}
/* Hero-Vorteile: ruhiger, hochwertiger Raster statt unterschiedlich breiter Pills. */
.trust-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:20px;
  padding:12px;
  border:1px solid rgba(57,127,148,.18);
  border-radius:20px;
  background:rgba(255,255,255,.58);
  box-shadow:0 12px 28px rgba(45,82,103,.07);
}
.trust-item{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:56px;
  padding:11px 13px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(57,127,148,.16);
  border-radius:14px;
  box-shadow:0 5px 14px rgba(45,82,103,.055);
  color:#315f6e;
  font-size:.96rem;
  font-weight:600;
  line-height:1.3;
}
.trust-item > span:last-child{
  min-width:0;
}
.trust-item svg{
  width:21px;
  height:21px;
  flex:0 0 21px;
  color:var(--accent);
}
.hero-visual{
  width:72%;
  max-width:520px;
  margin:0 auto;
}
.hero-card{
  padding:14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:30px;
  box-shadow:var(--shadow);
}
/* Generic */
.about-grid,.service-grid,.condition-grid,.contact-grid{
  display:grid;
  gap:22px;
}
.about-grid{
  grid-template-columns:1fr;
  max-width:980px;
  margin:0 auto;
}
.service-grid,.condition-grid,.contact-grid{
  grid-template-columns:1fr 1fr;
}
.title-pill,.badge-chip,.condition-pill{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(82,145,165,.3);
  background:#fff;
  color:#315f6e;
  border-radius:999px;
}
.title-pill{
  padding:9px 14px;
  margin-bottom:18px;
  font-weight:650;
}
.about-copy p{
  color:var(--muted);
  margin-bottom:12px;
}
.about-group{
  background:#fff;
  border:1px solid rgba(82,145,165,.28);
  box-shadow:var(--shadow);
  border-radius:var(--radius);
  overflow:hidden;
}
.about-summary{
  padding:28px 72px 26px 28px;
}
.about-summary::after{
  right:26px;
  top:50%;
  transform:translateY(-50%);
}
.about-summary .section-kicker{
  margin-bottom:8px;
}
.about-summary .about-centered-head{
  margin:0;
  text-align:center;
}
.about-summary .section-title{
  margin:0 auto;
  font-size:clamp(1.9rem,3.5vw,3rem);
  font-weight:500;
  letter-spacing:-.02em;
}
.about-summary .section-title::after{
  margin-left:auto;
  margin-right:auto;
}
.about-summary .click-hint{
  margin-left:auto;
  margin-right:auto;
}
.about-group[open] > .about-summary{
  border-bottom:1px solid rgba(57,127,148,.12);
}
.about-content{
  padding:26px 28px 28px;
}
/* Kontakt & Anfahrt als kompakter Hauptbereich */
.contact-group{
  background:transparent;
  border:0;
  border-radius:0;
  overflow:visible;
}
.contact-summary{
  background:#fff;
  border:1px solid rgba(82,145,165,.28);
  box-shadow:var(--shadow);
  border-radius:var(--radius);
  padding:28px 72px 26px 28px;
}
.contact-summary::after{
  right:26px;
  top:50%;
  transform:translateY(-50%);
}
.contact-summary .section-kicker{
  margin-bottom:8px;
}
.contact-summary .section-title{
  margin-bottom:0;
}
.contact-group[open] > .contact-summary{
  border-radius:var(--radius) var(--radius) 18px 18px;
}
.contact-content{
  margin-top:22px;
}
.timeline{
  position:relative;
  margin:24px 0;
  padding-left:26px;
}
.timeline::before{
  content:"";
  position:absolute;
  left:7px;
  top:4px;
  bottom:4px;
  width:2px;
  background:linear-gradient(var(--accent-2),rgba(95,159,179,.15));
}
.timeline-item{
  position:relative;
  display:grid;
  grid-template-columns:110px 1fr;
  gap:16px;
  padding:9px 0 9px 10px;
}
.timeline-item::before{
  content:"";
  position:absolute;
  left:-24px;
  top:18px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--accent-2);
  box-shadow:0 0 0 7px rgba(95,159,179,.16);
}
.timeline-year{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--accent);
  font-weight:600;
}
.timeline-text{
  color:var(--text);
}
.badge-row{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.badge-chip{
  padding:8px 13px;
}
#bewertungen{
  background:var(--bg-alt);
}
#leistungen{
  background:#d5eaf0;
}
#erkrankungen,#kontakt{
  background:#e7f4f7;
}
#kosten{
  background:#deeff4;
}
.service-card,.condition-panel,.fee-card,.practice-note,.contact-card,.map-card,.direction-card,.external-content-box,.docfinder-card, .diploma-group,.legal-group{
  background:#fff;
  border:1px solid rgba(82,145,165,.28);
  box-shadow:var(--shadow);
  border-radius:var(--radius);
}
.contact-card,.map-card{
  padding:28px;
}
.service-card,.condition-panel{
  overflow:hidden;
}
.service-card{
  position:relative;
}
.service-card::before{
  content:"";
  position:absolute;
  left:0;
  top:22px;
  bottom:22px;
  width:4px;
  border-radius:999px;
  background:var(--accent);
}
.service-head{
  padding-left:12px;
  margin-bottom:18px;
}
.service-head h3,.condition-panel h3,.contact-card h3,.map-card h3{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  color:#3b5568;
}
.service-head h3{
  font-size:1.7rem;
}
.service-head p,.condition-panel p,.map-note{
  color:var(--muted);
}
.service-list{
  list-style:none;
  display:grid;
  gap:12px;
}
.service-item{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:13px;
  border-radius:16px;
  background:#f4fafc;
  border:1px solid rgba(82,145,165,.2);
}
.service-icon{
  width:42px;
  height:42px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--accent-soft);
  overflow:hidden;
}
.service-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:5px;
}
/* Leistungen + Krankheitsbilder: echte Vektor-Icons im Praxis-Türkisblau. */
#leistungen .service-icon{
  background:var(--accent-soft);
  border:1px solid rgba(57,127,148,.24);
  color:var(--accent);
}
#leistungen .service-icon svg{
  width:27px;
  height:27px;
  color:var(--accent);
  stroke:currentColor;
  fill:none;
}
#erkrankungen .condition-panel h3 .condition-main-icon, #erkrankungen .condition-panel h3 svg{
  color:var(--accent);
  stroke:currentColor;
}
#erkrankungen .condition-panel h3 .condition-main-icon{
  width:24px;
  height:24px;
  flex:0 0 24px;
}
#leistungen .accordion-summary::after, #erkrankungen .accordion-summary::after, #erkrankungen .condition-pill::after{
  color:var(--accent);
  border-color:rgba(57,127,148,.28);
  background-color:var(--accent-soft);
}
.item-title{
  display:block;
  font-weight:650;
  margin-bottom:2px;
}
.service-item span:last-child{
  display:block;
  color:var(--muted);
  font-size:.98rem;
}
/* Accordion system */
.click-hint{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  max-width:100%;
  margin-top:10px;
  padding:7px 12px;
  border:1px solid rgba(47,111,168,.28);
  border-radius:999px;
  background:#eef5fb;
  color:#2f6fa8;
  font-size:1.08rem;
  font-weight:650;
  line-height:1.2;
  white-space:nowrap;
  letter-spacing:.005em;
  box-shadow:0 5px 12px rgba(45,82,103,.08);
}
.click-hint::before{
  content:"→";
  font-size:1.06em;
  font-weight:600;
  line-height:1;
  display:inline-block;
  transform:translateY(-.5px);
  letter-spacing:0;
}
/* Mehr-erfahren-Pfeil auf Desktop, Tablet und Smartphone:
   geschlossen rechts (Grundregel), geöffnet unten.
   Ein gemeinsamer Zustandsselektor statt separater Media-Query-Hotfixes. */
main details[open] > summary .click-hint::before{
  content:"↓";
}
@media (max-width:700px){
  .click-hint{
    font-size:clamp(.82rem,3.7vw,1.08rem);
    font-weight:650;
    padding:8px 11px;
    margin-top:11px;
    gap:6px;
    white-space:nowrap;
  }
}
.accordion-summary{
  list-style:none;
  cursor:pointer;
  position:relative;
}
.accordion-summary::-webkit-details-marker{
  display:none;
}
.accordion-summary::after{
  content:"" !important;
  position:absolute;
  width:34px;
  height:34px;
  border-radius:50%;
  box-sizing:border-box;
  background-color:var(--accent-soft);
  background-image:linear-gradient(currentColor,currentColor),
    linear-gradient(currentColor,currentColor);
  background-position:center center;
  background-repeat:no-repeat;
  background-size:14px 2px,2px 14px;
  border:1px solid var(--line);
  color:var(--accent);
  line-height:0;
  font-size:0;
}
details[open] > .accordion-summary::after{
  content:"" !important;
  background-image:linear-gradient(currentColor,currentColor);
  background-position:center center;
  background-repeat:no-repeat;
  background-size:14px 2px;
}
/* Diplomas */
.diploma-group{
  margin-top:22px;
  overflow:hidden;
}
.diploma-summary{
  padding:17px 58px 17px 18px;
}
.diploma-summary::after{
  right:18px;
  top:50%;
  transform:translateY(-50%);
}
.diploma-summary strong{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.18rem;
  font-weight:600;
  color:#315f6e;
}
.diploma-summary small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:.82rem;
}
.diploma-summary-static{
  padding-right:18px;
  cursor:default;
}
.diploma-content{
  padding:16px 18px 18px;
  border-top:1px solid rgba(57,127,148,.12);
}
/* Services accordion */
.service-group > .accordion-summary{
  padding:28px 66px 28px 28px;
}
.service-group > .accordion-summary::after{
  right:24px;
  top:30px;
}
.service-group > .service-list{
  padding:0 28px 28px;
}
.service-group[open] > .accordion-summary{
  border-bottom:1px solid rgba(57,127,148,.12);
}
.service-group > .accordion-summary .service-head{
  margin-bottom:0;
}
/* Leistungen: Rheumatologie und Innere Medizin auf Desktop exakt gleich hoch. */
@media (min-width:1101px){
  #leistungen .service-grid{
    align-items:stretch;
  }
  #leistungen .service-card{
    height:100%;
  }
  #leistungen .service-group > .accordion-summary{
    min-height:96px;
    display:flex;
    align-items:center;
  }
}
/* Desktop: Leistungen/Krankheits-Hauptgruppen statisch offen, ohne Klick-Hinweis. */
@media (min-width:1101px){
  #leistungen .service-group > .accordion-summary, #erkrankungen .condition-group > .accordion-summary{
    cursor:default;
    pointer-events:none;
  }
  #leistungen .service-group > .accordion-summary::after, #erkrankungen .condition-group > .accordion-summary::after{
    display:none !important;
    content:none !important;
  }
  #leistungen .service-group > .accordion-summary .click-hint, #erkrankungen .condition-group > .accordion-summary .click-hint{
    display:none !important;
  }
  #leistungen .service-group > .accordion-summary, #erkrankungen .condition-group > .accordion-summary{
    padding-right:28px;
  }
}
/* Conditions accordion */
.condition-group > .accordion-summary{
  padding:28px 66px 28px 28px;
}
.condition-group > .accordion-summary::after{
  right:24px;
  top:30px;
}
.condition-group > .pill-grid{
  padding:20px 28px 28px;
  border-top:1px solid rgba(57,127,148,.12);
}
.condition-panel h3{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:1.55rem;
  margin-bottom:8px;
}
.condition-panel h3 img,.condition-panel h3 svg{
  width:24px;
  height:24px;
  object-fit:contain;
}
.pill-grid{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  align-items:flex-start;
}
.condition-detail{
  display:inline-block;
  max-width:100%;
}
.condition-detail summary{
  list-style:none;
  cursor:pointer;
}
.condition-detail summary::-webkit-details-marker{
  display:none;
}
.condition-pill{
  padding:9px 13px;
  font-size:.98rem;
  gap:8px;
}
/* Kleine Plus/Minus-Kreise bei Krankheitsbildern: echte Linien statt Textzeichen. */
.condition-pill::after{
  content:"" !important;
  display:inline-block;
  box-sizing:border-box;
  width:18px;
  height:18px;
  flex:0 0 18px;
  border-radius:50%;
  border:1px solid var(--line);
  background-color:var(--accent-soft);
  background-image:linear-gradient(currentColor,currentColor),
    linear-gradient(currentColor,currentColor);
  background-position:center center;
  background-repeat:no-repeat;
  background-size:8px 1.5px,1.5px 8px;
  color:var(--accent);
  line-height:0;
  font-size:0;
}
.condition-detail[open] .condition-pill::after{
  content:"" !important;
  background-image:linear-gradient(currentColor,currentColor);
  background-position:center center;
  background-repeat:no-repeat;
  background-size:8px 1.5px;
}
.condition-explanation{
  width:min(360px,calc(100vw - 56px));
  margin-top:10px;
  padding:15px 17px;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 14px 30px rgba(45,82,103,.12);
  color:var(--muted);
  font-size:.96rem;
  line-height:1.55;
}
.condition-explanation ul{
  padding-left:1.15rem;
  display:grid;
  gap:.3rem;
}
.parallax-banner{
  min-height:340px;
  display:grid;
  place-items:center;
  text-align:center;
  background-size:cover;
  background-position:center;
  position:relative;
  overflow:hidden;
}
.parallax-banner::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(243,251,253,.2);
}
.banner-inner{
  position:relative;
  z-index:1;
  max-width:930px;
  margin:18px;
  padding:28px 24px;
  border-radius:26px;
  background:rgba(255,255,255,.50);
  backdrop-filter:blur(4px);
  border:1px solid rgba(172,216,226,.28);
  box-shadow:0 18px 40px rgba(122,174,192,.12);
}
.banner-inner h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.65rem,3vw,2.65rem);
  line-height:1.15;
  font-weight:600;
  margin-bottom:10px;
}
.banner-inner p{
  color:#405968;
  font-weight:500;
}
/* Reviews */
.external-content-box,.external-privacy-placeholder{
  padding:26px;
  text-align:center;
}
.external-privacy-placeholder{
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:10px;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--line);
}
.google-reviews-large{
  width:min(100%,1100px);
  min-height:420px;
  margin:0 auto 14px;
}
.docfinder-gallery{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.docfinder-card{
  overflow:hidden;
}
.docfinder-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
}

/* DocFinder 2025: ein natives, per Tastatur bedienbares Aufklappfeld für alle Ansichten. */
.docfinder-award-details {
  max-width:780px;
  margin:26px auto 0;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.docfinder-award-highlight {
  display:flex;
  align-items:center;
  gap:18px;
  padding:18px 22px;
  cursor:pointer;
  list-style:none;
}
.docfinder-award-highlight::-webkit-details-marker {display:none;}
.docfinder-award-highlight:focus-visible {outline:3px solid #397f94;outline-offset:-4px;}
.docfinder-award-thumb {
  width:90px;
  height:80px;
  flex:0 0 90px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  overflow:hidden;
  background:#f4f8fa;
}
.docfinder-award-thumb img {width:100%;height:100%;object-fit:contain;}
.docfinder-award-copy {min-width:0;display:grid;gap:4px;text-align:left;}
.docfinder-award-kicker {font-size:.76rem;letter-spacing:.07em;font-weight:700;text-transform:uppercase;color:var(--accent);}
.docfinder-award-copy strong {font-size:1.22rem;line-height:1.25;color:#315f6e;}
.docfinder-award-copy > span:not(.docfinder-award-kicker) {color:var(--muted);font-size:.95rem;}
.docfinder-award-toggle {margin-top:6px;font-size:.88rem;color:#2f718b;font-weight:700;}
.docfinder-award-arrow {display:inline-block;transition:transform .22s ease;}
.docfinder-award-details[open] .docfinder-award-arrow {transform:rotate(90deg);}
.docfinder-award-panel {padding:0 20px 20px;border-top:1px solid var(--line);text-align:center;}
.docfinder-award-panel img {display:block;width:100%;max-width:700px;height:auto;margin:18px auto 0;border-radius:14px;}
@media (max-width:760px) {
  .docfinder-award-highlight {gap:12px;padding:14px;}
  .docfinder-award-thumb {width:68px;height:70px;flex-basis:68px;}
  .docfinder-award-copy strong {font-size:1.04rem;}
  .docfinder-award-copy > span:not(.docfinder-award-kicker) {font-size:.83rem;}
  .docfinder-award-panel {padding:0 12px 12px;}
}

.docfinder-ranking{
  max-width:760px;
  margin:28px auto 0;
}
.docfinder-ranking img{
  width:100%;
  height:auto;
  border-radius:18px;
  box-shadow:var(--shadow);
}
.docfinder-mobile-compact{
  display:none;
}
/* Gallery */
#galerie{
  background:#62889a;
  color:#fff;
}
#galerie .section-intro{
  color:rgba(255,255,255,.92);
}
#galerie .section-title::after{
  background:#d9f1f6;
}
.slideshow-wrap{
  border-radius:28px;
  overflow:hidden;
  background:rgba(255,255,255,.05);
  box-shadow:0 26px 60px rgba(40,70,85,.25);
}
.slideshow{
  height:440px;
  position:relative;
  overflow:hidden;
}
.slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .8s ease;
  pointer-events:none;
}
.slide.active{
  opacity:1;
  pointer-events:auto;
}
.slide img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.slide-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(95,127,144,.08),rgba(95,127,144,.28));
}
.slide-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.26);
  background:rgba(255,255,255,.15);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.slide-arrow.prev{
  left:18px;
}
.slide-arrow.next{
  right:18px;
}
.slide-arrow svg{
  width:22px;
  height:22px;
}
.slide-dots{
  display:flex;
  justify-content:center;
  gap:9px;
  padding:16px;
}
.slide-dot{
  width:11px;
  height:11px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.4);
  background:rgba(255,255,255,.28);
  cursor:pointer;
}
.slide-dot.active{
  background:#fff;
}
/* Wahlarzt & Kosten: gleiche Haupt-Akkordeon-Darstellung wie Krankheitsbilder. */
#kosten .cost-group{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  max-width:none;
  overflow:visible;
}
#kosten .cost-group > .mobile-section-summary{
  padding-left:52px;
  padding-right:52px;
}
#kosten .cost-group > .cost-content{
  border-top:0;
  padding:0;
}
#kosten .cost-group[open] > .mobile-section-summary{
  margin-bottom:32px;
}
@media (max-width:760px){
  #kosten .cost-group > .mobile-section-summary{
    padding-left:44px;
    padding-right:44px;
  }
  #kosten .cost-group[open] > .mobile-section-summary{
    margin-bottom:22px;
  }
}
/* Costs */
.wahlarzt-copy{
  max-width:980px;
  color:var(--muted);
}
.wahlarzt-copy p+p{
  margin-top:18px;
}
.fee-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:28px;
}
.fee-card{
  padding:20px;
  border-top:4px solid var(--accent);
  display:flex;
  justify-content:space-between;
  gap:16px;
}
.fee-card strong{
  display:block;
}
.fee-card span{
  display:block;
  color:var(--muted);
  font-size:.95rem;
}
.fee-price{
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:1.2rem !important;
  color:var(--accent) !important;
  font-weight:600;
  white-space:nowrap;
}
.info-box{
  margin-top:20px;
  padding:20px;
  border-radius:18px;
  background:#d8edf3;
  border:1px solid rgba(82,145,165,.38);
  box-shadow:var(--shadow);
  color:#405d68;
}
.practice-notes{
  display:grid;
  grid-template-columns:1.6fr .8fr 1fr;
  gap:14px;
  margin-top:24px;
}
.practice-note{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:18px;
}
.practice-note-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#dff1f5;
  color:var(--accent);
  font-weight:700;
}
.practice-note p{
  color:var(--muted);
  font-size:.98rem;
  line-height:1.55;
}
/* CTA */
.cta-section{
  padding:78px 0;
  text-align:center;
}
.cta-section h2{
  margin-bottom:10px;
}
.cta-section p{
  max-width:760px;
  margin:0 auto 24px;
  color:rgba(255,255,255,.92);
}
/* Contact */
.contact-meta{
  display:grid;
  gap:10px;
  margin:18px 0 24px;
}
.contact-line,.direction-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.contact-line{
  padding:14px 0;
  border-bottom:1px solid rgba(45,82,103,.08);
}
.contact-line:last-child{
  border-bottom:0;
}
.contact-ic,.direction-ic{
  width:42px;
  height:42px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:var(--accent-soft);
  color:var(--accent);
}
.contact-ic svg{
  width:21px;
  height:21px;
}
.contact-ic.instagram-brand{
  background:#fff;
  overflow:hidden;
}
.contact-ic.instagram-brand svg{
  width:29px;
  height:29px;
  display:block;
}
.contact-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding-top:1px;
}
.contact-label{
  display:block;
  font-weight:700;
  line-height:1.2;
  color:var(--text);
}
.contact-value{
  display:block;
  min-width:0;
  line-height:1.45;
  color:var(--muted);
  overflow-wrap:anywhere;
  word-break:normal;
}
.contact-line a.contact-value{
  color:var(--accent);
  text-decoration:none;
}
.contact-line a.contact-value:hover{
  text-decoration:underline;
}
.direction-grid{
  display:grid;
  gap:12px;
}
.direction-card{
  padding:13px;
  border-radius:16px;
}
.direction-card p{
  color:var(--muted);
  font-size:.98rem;
}
.map-note{
  margin-bottom:14px;
}
#mapEmbedHost iframe{
  width:100%;
  height:400px;
  border:0;
  border-radius:14px;
}
/* Legal accordions */
#agb,#impressum,#datenschutz{
  background:#fff;
  padding:42px 0;
}
#agb .centered-head,#impressum .centered-head,#datenschutz .centered-head{
  margin-bottom:20px;
}
.legal-group{
  max-width:980px;
  margin:0 auto;
  overflow:hidden;
}
.legal-group > .accordion-summary{
  padding:22px 68px 22px 24px;
}
.legal-group > .accordion-summary::after{
  right:22px;
  top:24px;
}
.legal-group .legal-open-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.25rem;
  font-weight:600;
  color:#315f6e;
}
.legal-content{
  padding:0 28px 28px;
  border-top:1px solid rgba(57,127,148,.12);
}
.legal-heading{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.28rem;
  font-weight:600;
  margin:22px 0 8px;
}
.legal-content p{
  color:var(--muted);
  margin-bottom:10px;
}
.legal-content a{
  color:var(--accent);
  font-weight:600;
}
.cost-content{
  padding-top:24px;
}
/* Wahlarzt & Kosten: Überschrift und Akkordeon wie Leistungen/Krankheitsbilder zentriert. */
#kosten .cost-group > .accordion-summary{
  text-align:center;
}
#kosten .cost-group .legal-open-title{
  text-align:center;
}
#kosten .cost-group .click-hint{
  margin-left:auto;
  margin-right:auto;
}
/* Footer – bewusst kompakt, ohne Wiederholung von Kontaktblock/Adresse/Telefon/E-Mail */
.site-footer{
  background:#355a6c;
  color:#fff;
  padding:44px 0 22px;
}
.footer-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.footer-brand .logo-shell{
  width:58px;
  height:58px;
  flex-basis:58px;
  border-color:rgba(255,255,255,.46);
}
.footer-brand-copy{
  min-width:0;
}
.footer-name{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.45rem;
  font-weight:600;
  line-height:1.15;
}
.footer-specialty{
  margin-top:3px;
  color:rgba(255,255,255,.88);
  font-size:.94rem;
  line-height:1.4;
}
.footer-location{
  margin-top:3px;
  color:rgba(255,255,255,.68);
  font-size:.84rem;
  line-height:1.35;
}
.footer-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.footer-actions .btn{
  min-height:46px;
  padding:0 19px;
}
.footer-instagram{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:0 17px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.34);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-weight:650;
  transition:.2s ease;
}
.footer-instagram:hover{
  background:rgba(255,255,255,.14);
  transform:translateY(-1px);
}
.footer-instagram svg{
  width:19px;
  height:19px;
}
.footer-divider{
  height:1px;
  background:rgba(255,255,255,.18);
  margin:24px 0 16px;
}
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  color:rgba(255,255,255,.76);
  font-size:.84rem;
  line-height:1.45;
}
.footer-legal{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px 14px;
  flex-wrap:wrap;
}
.footer-legal a,.footer-legal .privacy-settings-btn{
  color:rgba(255,255,255,.92);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.28);
}
.footer-legal a:hover,.footer-legal .privacy-settings-btn:hover{
  border-bottom-color:#fff;
}
.privacy-settings-btn{
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  font:inherit;
}
/* Consent */
.privacy-consent-banner{
  position:fixed;
  left:50%;
  bottom:max(12px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  z-index:10000;
  width:min(760px,calc(100% - 24px));
  padding:20px;
  border-radius:20px;
  background:rgba(255,255,255,.99);
  border:1px solid var(--line);
  box-shadow:0 24px 70px rgba(26,35,50,.22);
}
.privacy-consent-banner[hidden]{
  display:none !important;
}
.privacy-consent-banner h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.4rem;
  margin-bottom:6px;
}
.privacy-consent-banner>p{
  color:var(--muted);
  font-size:.94rem;
  line-height:1.5;
}
.privacy-consent-options{
  display:grid;
  gap:9px;
  margin:12px 0;
}
.privacy-consent-option{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:10px;
  padding:11px 13px;
  border-radius:13px;
  border:1px solid rgba(57,127,148,.18);
  background:#f8fcfd;
  cursor:pointer;
}
.privacy-consent-option input{
  width:18px;
  height:18px;
  margin-top:3px;
  accent-color:var(--accent);
}
.privacy-consent-option small{
  display:block;
  color:var(--muted);
  line-height:1.4;
}
.privacy-consent-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.privacy-consent-actions .btn{
  min-height:44px;
  padding:0 16px;
  font-size:.92rem;
}
.privacy-consent-links{
  margin-top:10px;
  font-size:.86rem;
}
.privacy-consent-links a{
  color:var(--accent);
  text-decoration:underline;
}
.reveal{
  opacity:1;
  transform:none;
}
.js .reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .55s ease,transform .55s ease;
}
.js .reveal.visible{
  opacity:1;
  transform:none;
}
@media (hover:hover){
  .service-card:hover,.condition-panel:hover,.fee-card:hover,.contact-card:hover,.map-card:hover,.direction-card:hover,.docfinder-card:hover, .about-group:hover,.diploma-group:hover,.legal-group:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-hover);
  }
  .accordion-summary:hover{
    background:rgba(238,248,250,.65);
  }
}
@media (max-width:1100px){
  :root{
    --header-offset:92px;
  }
  .nav-links{
    display:none;
  }
  .mobile-toggle{
    display:inline-flex;
  }
  .hero-grid,.service-grid,.condition-grid,.contact-grid{
    grid-template-columns:1fr;
  }
  .hero-visual{
    width:min(76%,520px);
  }
  .fee-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .practice-notes{
    grid-template-columns:1fr;
  }
  .docfinder-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .google-reviews-large{
    min-height:220px;
    margin-bottom:10px;
  }
  :root{
    --header-offset:88px;
  }
  body{
    font-size:17px;
  }
  .container{
    width:calc(100% - 24px);
  }
  .section{
    padding:56px 0;
  }
  .site-header{
    padding:8px 0;
  }
  .site-header .container{
    width:calc(100% - 14px);
  }
  .nav-bar{
    gap:4px;
  }
  .brand{
    gap:7px;
    flex:1 1 auto;
    min-width:0;
  }
  .logo-shell{
    width:58px;
    height:58px;
    flex-basis:58px;
  }
  .brand-copy strong{
    font-size:1.48rem;
    letter-spacing:-.03em;
  }
  .brand-copy>span{
    font-size:.68rem;
    font-weight:750;
    letter-spacing:-.02em;
    text-transform:none;
  }
  .brand-wahlarzt{
    font-size:.56rem;
    padding:3px 6px;
    margin-top:3px;
  }
  .nav-actions{
    gap:3px;
    flex:0 0 auto;
  }
  .nav-book-btn{
    width:62px;
    min-width:62px;
    max-width:62px;
    min-height:36px;
    padding:0 5px;
    font-size:.77rem;
  }
  .mobile-toggle{
    width:34px;
    height:34px;
    flex-basis:34px;
    border-radius:10px;
  }
  .hero{
    padding:96px 0 42px;
  }
  .hero-grid{
    gap:28px;
  }
  
  .hero-visual{
    width:88%;
    max-width:420px;
  }
  .hero-card{
    padding:10px;
    border-radius:24px;
  }
  .hero-copy h1{
    font-size:clamp(1.9rem,9vw,2.5rem);
  }
  .hero-copy p,.section-intro{
    font-size:1.02rem;
    line-height:1.65;
  }
  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .hero-actions .btn,.cta-section .btn{
    width:100%;
  }
  .trust-row{
    grid-template-columns:1fr;
    gap:8px;
    padding:10px;
    border-radius:18px;
  }
  .trust-item{
    width:100%;
    min-height:50px;
    padding:10px 12px;
    border-radius:13px;
    font-size:.96rem;
  }
  .section-title{
    font-size:clamp(1.75rem,8vw,2.3rem);
  }
  .section-kicker{
    font-size:.72rem;
    letter-spacing:.12em;
    gap:7px;
  }
  .section-kicker::before,.section-kicker::after{
    width:23px;
  }
  .timeline-item{
    grid-template-columns:1fr;
    gap:2px;
  }
  .contact-card,.map-card{
    padding:20px;
  }
  .about-summary{
    padding:20px 58px 19px 20px;
  }
  .about-summary::after{
    right:18px;
  }
  .about-summary .section-title{
    font-size:clamp(1.75rem,8vw,2.3rem);
    font-weight:500;
    white-space:normal;
    letter-spacing:-.02em;
  }
  .about-content{
    padding:20px;
  }
  .contact-summary{
    padding:20px 58px 19px 20px;
  }
  .contact-summary::after{
    right:18px;
  }
  .contact-summary .section-title{
    font-size:clamp(1.65rem,7.5vw,2.05rem);
  }
  .contact-content{
    margin-top:16px;
  }
  .service-item,.contact-line,.direction-card{
    grid-template-columns:38px minmax(0,1fr);
  }
  .service-icon,.contact-ic,.direction-ic{
    width:38px;
    height:38px;
  }
  .service-group > .accordion-summary{
    padding:20px 58px 20px 20px;
  }
  .service-group > .accordion-summary::after{
    right:18px;
    top:22px;
  }
  /* Mobil: Krankheits-Hauptgruppen prominenter, aber sicher einzeilig. */
  .condition-group > .accordion-summary{
    padding:18px 46px 18px 14px;
  }
  .condition-group > .accordion-summary::after{
    right:14px;
    top:20px;
  }
  .service-group > .service-list{
    padding:0 20px 20px;
  }
  .condition-group > .pill-grid{
    padding:18px 20px 20px;
  }
  .condition-panel h3{
    font-size:clamp(.97rem,4.85vw,1.24rem);
    font-weight:800;
    white-space:nowrap;
    letter-spacing:-.055em;
    line-height:1.15;
    gap:5px;
    min-width:0;
  }
  .condition-panel h3 img,.condition-panel h3 svg,.condition-panel h3 .condition-main-icon{
    width:17px;
    height:17px;
    flex:0 0 17px;
  }
  .condition-detail{
    width:100%;
  }
  .condition-detail summary,.condition-detail .condition-pill,.condition-explanation{
    width:100%;
  }
  .condition-pill{
    justify-content:space-between;
  }
  .parallax-banner{
    background-attachment:scroll;
    min-height:320px;
  }
  .banner-inner{
    padding:22px 16px;
    margin:12px;
  }
  .banner-inner h2{
    font-size:clamp(1.5rem,7vw,2rem);
  }
  .slideshow{
    height:280px;
  }
  .slide-arrow{
    width:40px;
    height:40px;
  }
  .slide-arrow.prev{
    left:10px;
  }
  .slide-arrow.next{
    right:10px;
  }
  .fee-grid{
    grid-template-columns:1fr;
  }
  .fee-card{
    padding:17px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
  }
  .practice-note{
    grid-template-columns:42px minmax(0,1fr);
    padding:16px;
  }
  .practice-note-icon{
    width:42px;
    height:42px;
  }
  #mapEmbedHost iframe{
    height:320px;
  }
  /* DocFinder / Patients' Choice – mobil kompakt (Variante 1). */
  .docfinder-desktop-awards .docfinder-gallery{
    display:none;
  }
  .docfinder-mobile-compact{
    display:block;
    margin:0;
    border:1px solid rgba(82,145,165,.28);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--shadow);
    overflow:hidden;
  }
  .docfinder-mobile-summary{
    list-style:none;
    cursor:pointer;
    position:relative;
    display:grid;
    gap:4px;
    padding:19px 56px 19px 20px;
  }
  .docfinder-mobile-summary::-webkit-details-marker{
    display:none;
  }
  .docfinder-mobile-summary::after{
    content:"" !important;
    position:absolute;
    right:18px;
    top:50%;
    transform:translateY(-50%);
    width:32px;
    height:32px;
    box-sizing:border-box;
    border-radius:50%;
    background-color:var(--accent-soft);
    background-image:linear-gradient(currentColor,currentColor),
      linear-gradient(currentColor,currentColor);
    background-position:center center;
    background-repeat:no-repeat;
    background-size:12px 2px,2px 12px;
    border:1px solid var(--line);
    color:var(--accent);
    line-height:0;
    font-size:0;
  }
  .docfinder-mobile-compact[open] > .docfinder-mobile-summary::after{
    content:"" !important;
    background-image:linear-gradient(currentColor,currentColor);
    background-position:center center;
    background-repeat:no-repeat;
    background-size:12px 2px;
  }
  .docfinder-mobile-title{
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.42rem;
    font-weight:700;
    line-height:1.25;
    color:#315f6e;
  }
  .docfinder-mobile-subtitle{
    color:var(--muted);
    font-size:.95rem;
  }
  .docfinder-mobile-action{
    margin-top:4px;
    color:#2f6fa8;
    font-size:.84rem;
    font-weight:700;
    white-space:nowrap;
  }
  .docfinder-mobile-action-label{
    font-weight:700;
  }
  .docfinder-mobile-action-hint{
    font-weight:650;
    color:#2f6fa8;
  }
  .docfinder-mobile-action-close{
    display:none;
    font-weight:700;
  }
  .docfinder-mobile-compact[open] .docfinder-mobile-action-label{
    display:none;
  }
  .docfinder-mobile-compact[open] .docfinder-mobile-action-close{
    display:inline;
  }
  .docfinder-mobile-awards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:0 14px 14px;
    border-top:1px solid rgba(57,127,148,.12);
  }
  .docfinder-mobile-awards > .docfinder-card{
    margin-top:14px;
  }
  .docfinder-mobile-awards .docfinder-card img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
  }
  .docfinder-mobile-ranking{
    grid-column:1 / -1;
  }
  .docfinder-mobile-ranking img{
    border-radius:14px;
  }
  #agb,#impressum,#datenschutz{
    padding:32px 0;
  }
  .legal-group > .accordion-summary{
    padding:19px 58px 19px 20px;
  }
  .legal-group > .accordion-summary::after{
    right:18px;
    top:21px;
  }
  .legal-content{
    padding:0 20px 22px;
  }
  /* Footer mobil: kompakt, zentriert, keine Textwiederholungen. */
  .site-footer{
    padding:36px 0 20px;
  }
  .footer-main{
    grid-template-columns:1fr;
    gap:20px;
    text-align:center;
  }
  .footer-brand{
    justify-content:center;
    align-items:center;
  }
  .footer-brand .logo-shell{
    width:54px;
    height:54px;
    flex-basis:54px;
  }
  .footer-name{
    font-size:1.26rem;
  }
  .footer-specialty{
    font-size:.88rem;
  }
  .footer-location{
    font-size:.79rem;
  }
  .footer-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    width:100%;
  }
  .footer-actions .btn,.footer-instagram{
    width:100%;
    min-height:44px;
    padding:0 12px;
  }
  .footer-divider{
    margin:20px 0 14px;
  }
  .footer-bottom{
    display:grid;
    gap:12px;
    text-align:center;
    justify-items:center;
    font-size:.8rem;
  }
  .footer-legal{
    justify-content:center;
    gap:8px 13px;
  }
  .privacy-consent-banner{
    padding:16px;
  }
  .privacy-consent-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .privacy-consent-actions .btn{
    width:100%;
  }
}
@media (max-width:390px){
  :root{
    --header-offset:84px;
  }
  .site-header .container{
    width:calc(100% - 10px);
  }
  .logo-shell{
    width:52px;
    height:52px;
    flex-basis:52px;
  }
  .brand-copy strong{
    font-size:1.06rem;
  }
  .brand-copy>span{
    font-size:.59rem;
  }
  .brand-wahlarzt{
    font-size:.50rem;
  }
  .nav-book-btn{
    width:56px;
    min-width:56px;
    max-width:56px;
    font-size:.70rem;
  }
  .mobile-toggle{
    width:32px;
    height:32px;
    flex-basis:32px;
  }
  .container{
    width:calc(100% - 20px);
  }
  .footer-actions{
    grid-template-columns:1fr;
  }
}
@media (max-width:350px){
  .logo-shell{
    width:48px;
    height:48px;
    flex-basis:48px;
  }
  .brand-copy strong{
    font-size:.98rem;
  }
  .brand-copy>span{
    font-size:.52rem;
    letter-spacing:-.025em;
  }
  .brand-wahlarzt{
    font-size:.46rem;
    padding:2px 5px;
  }
  .nav-book-btn{
    width:52px;
    min-width:52px;
    max-width:52px;
    font-size:.66rem;
    padding:0 3px;
  }
  .mobile-toggle{
    width:30px;
    height:30px;
    flex-basis:30px;
  }
}
/* Haupt-Akkordeons für Leistungen und Krankheitsbilder – Mobil UND Desktop. */
.mobile-section-group{
  margin:0;
  padding:0;
  border:0;
}
.mobile-section-summary{
  display:block;
  list-style:none;
  cursor:pointer;
  margin:0;
}
.mobile-section-summary::-webkit-details-marker{
  display:none;
}
.mobile-section-summary::marker{
  content:"";
}
.mobile-section-summary .centered-head{
  margin:0;
  padding:0;
  text-align:center;
}
.mobile-section-summary .section-title{
  margin-left:auto;
  margin-right:auto;
}
.mobile-section-summary .section-title::after{
  margin-left:auto;
  margin-right:auto;
}
.mobile-section-summary .click-hint{
  margin-left:auto;
  margin-right:auto;
}
.mobile-section-group[open] > .mobile-section-summary{
  margin-bottom:32px;
}
#leistungen .mobile-section-summary, #erkrankungen .mobile-section-summary{
  position:relative;
  padding-left:52px;
  padding-right:52px;
}
#leistungen .mobile-section-summary::after, #erkrankungen .mobile-section-summary::after{
  content:"" !important;
  position:absolute;
  right:4px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  box-sizing:border-box;
  border-radius:50%;
  border:1px solid rgba(57,127,148,.28);
  background-color:var(--accent-soft);
  background-image:linear-gradient(currentColor,currentColor),
    linear-gradient(currentColor,currentColor);
  background-position:center center;
  background-repeat:no-repeat;
  background-size:14px 2px,2px 14px;
  color:var(--accent);
  line-height:0;
  font-size:0;
}
#leistungen .mobile-section-group[open] > .mobile-section-summary::after, #erkrankungen .mobile-section-group[open] > .mobile-section-summary::after{
  background-image:linear-gradient(currentColor,currentColor);
  background-position:center center;
  background-repeat:no-repeat;
  background-size:14px 2px;
}
@media (max-width:760px){
  .mobile-section-group[open] > .mobile-section-summary{
    margin-bottom:22px;
  }
  #leistungen .mobile-section-summary{
    padding-left:44px;
    padding-right:44px;
  }
  #leistungen .mobile-section-summary::after, #erkrankungen .mobile-section-summary::after{
    right:0;
    width:32px;
    height:32px;
    background-size:12px 2px,2px 12px;
  }
  #leistungen .mobile-section-group[open] > .mobile-section-summary::after, #erkrankungen .mobile-section-group[open] > .mobile-section-summary::after{
    background-size:12px 2px;
  }
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto !important;
    transition:none !important;
    animation:none !important;
  }
  .js .reveal{
    opacity:1 !important;
    transform:none !important;
  }
}
/* Krankheitsbilder: Hand-/Herz-Icon exakt auf Schrift-Höhe und vertikal zentriert. */
#erkrankungen .condition-panel h3 > [data-icon]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:center !important;
  width:1em !important;
  height:1em !important;
  flex:0 0 1em !important;
  line-height:1 !important;
  margin:0 !important;
  transform:none !important;
  vertical-align:middle !important;
}
#erkrankungen .condition-panel h3 > [data-icon] > svg{
  display:block !important;
  width:100% !important;
  height:100% !important;
  flex:0 0 100% !important;
  margin:0 !important;
  transform:none !important;
}
/* Hauptüberschriften Leistungen + Krankheitsbilder: etwas kleiner, bold und einzeilig. */
#leistungen .service-head h3, #erkrankungen .condition-panel h3{
  font-size:1.42rem;
  font-weight:800;
  white-space:nowrap;
  line-height:1.15;
}
@media (max-width:760px){
  #leistungen .service-head h3, #erkrankungen .condition-panel h3{
    font-size:clamp(.98rem,4.15vw,1.12rem);
    font-weight:800;
    white-space:nowrap;
    letter-spacing:-.035em;
    line-height:1.15;
  }
}
#leistungen .service-group > .accordion-summary, #erkrankungen .condition-group > .accordion-summary{
  cursor:default;
  pointer-events:none;
}
#leistungen .service-group > .accordion-summary::after, #erkrankungen .condition-group > .accordion-summary::after{
  display:none !important;
  content:none !important;
}
#leistungen .service-group > .accordion-summary{
  padding-right:28px;
}
#erkrankungen .condition-group > .accordion-summary{
  padding-right:28px;
}
#leistungen .service-group > .service-list{
  display:grid;
}
#erkrankungen .condition-group > .pill-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
#erkrankungen .condition-detail{
  display:block;
  width:100%;
  max-width:none;
  padding:0;
  border:0;
  background:transparent;
}
#erkrankungen .condition-detail > summary{
  cursor:pointer;
  list-style:none;
}
#erkrankungen .condition-detail > summary::-webkit-details-marker{
  display:none;
}
#erkrankungen .condition-pill{
  width:100%;
  justify-content:space-between;
  padding:12px 14px;
  border:1px solid rgba(82,145,165,.24);
  background:#f8fcfd;
  border-radius:16px;
  font-weight:750;
  color:#315f6e;
}
#erkrankungen .condition-pill::after{
  display:inline-block !important;
  content:"" !important;
}
#erkrankungen .condition-explanation{
  width:100%;
  margin-top:8px;
  padding:13px 15px;
  border:1px solid rgba(82,145,165,.18);
  border-radius:14px;
  background:#fff;
  box-shadow:none;
  color:var(--muted);
}
#erkrankungen .condition-detail:not([open]) > .condition-explanation{
  display:none !important;
}
#erkrankungen .condition-detail[open] > .condition-explanation{
  display:block;
}
@media (max-width:760px){
  #leistungen .service-group > .accordion-summary, #erkrankungen .condition-group > .accordion-summary{
    padding-right:20px;
  }
  #erkrankungen .condition-group > .pill-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  #erkrankungen .condition-pill{
    padding:12px 13px;
  }
}
/* Krankheitsbilder: robuster Haupt-Plus/Minus-Kreis – Mobil + Desktop */
#erkrankungen .mobile-section-summary::after{
  display:none !important;
}
#erkrankungen .mobile-section-summary{
  position:relative;
  padding-left:52px;
  padding-right:52px;
}
#erkrankungen .krankheitsbilder-toggle-icon{
  position:absolute;
  right:4px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  box-sizing:border-box;
  border-radius:50%;
  border:1px solid rgba(57,127,148,.28);
  background:var(--accent-soft);
  pointer-events:none;
}
#erkrankungen .krankheitsbilder-toggle-icon::before, #erkrankungen .krankheitsbilder-toggle-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:var(--accent);
  transform:translate(-50%,-50%);
  border-radius:2px;
}
#erkrankungen .krankheitsbilder-toggle-icon::before{
  width:14px;
  height:2px;
}
#erkrankungen .krankheitsbilder-toggle-icon::after{
  width:2px;
  height:14px;
}
#erkrankungen .mobile-section-group[open] > .mobile-section-summary .krankheitsbilder-toggle-icon::after{
  display:none;
}
@media (max-width:760px){
  #erkrankungen .mobile-section-summary{
    padding-left:44px;
    padding-right:44px;
  }
  #erkrankungen .krankheitsbilder-toggle-icon{
    right:0;
    width:32px;
    height:32px;
  }
  #erkrankungen .krankheitsbilder-toggle-icon::before{
    width:12px;
  }
  #erkrankungen .krankheitsbilder-toggle-icon::after{
    height:12px;
  }
}
/* DocFinder Award mobil: sofort sichtbar, kein weiterer Klick erforderlich */
@media (max-width:760px){
  .docfinder-mobile-static .docfinder-mobile-summary{
    cursor:default;
    padding:16px 20px 10px;
  }
  .docfinder-mobile-static .docfinder-mobile-summary::after{
    display:none !important;
  }
  .docfinder-mobile-static .docfinder-mobile-awards{
    border-top:0;
    padding-top:0;
  }
}
/* Mobile Hero-Foto: weniger dominant, ohne unnötigen Beschnitt */
@media (max-width:760px){
  .hero-grid{
    gap:22px !important;
  }
  .hero-visual{
    width:78% !important;
    max-width:360px !important;
    margin:0 auto !important;
  }
  .hero-card{
    padding:8px !important;
    border-radius:22px !important;
  }
  .hero-card img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    border-radius:18px !important;
  }
}
@media (max-width:390px){
  .hero-visual{
    width:74% !important;
    max-width:330px !important;
  }
}
/* Krankheitsbilder: klare Hierarchie */
#erkrankungen .condition-detail .condition-pill, #erkrankungen .condition-detail summary, #erkrankungen .condition-detail summary .condition-pill{
  font-weight:400 !important;
}
/* Krankheitsbilder-Gruppenüberschriften etwas größer */
#erkrankungen .condition-panel > .accordion-summary h3{
  font-size:1.28rem !important;
  line-height:1.15 !important;
  font-weight:800 !important;
}
@media (max-width:760px){
  #erkrankungen .condition-panel > .accordion-summary h3{
    font-size:1.18rem !important;
  }
}
/* Leistungen: gleiche Typografie-Hierarchie wie bei den Krankheitsbildern */
#leistungen .service-head h3{
  font-size:1.28rem !important;
  line-height:1.15 !important;
  font-weight:800 !important;
}
#leistungen .service-list .item-title{
  font-weight:400 !important;
}
@media (max-width:760px){
  #leistungen .service-head h3{
    font-size:1.18rem !important;
  }
}
/* Mobile Header – konsolidiert */
.brand-name-mobile{
  display:none !important;
}
@media (max-width:760px){
  :root{
    --header-offset:94px;
  }
  .site-header{
    padding:9px 0;
    background:rgba(247,252,253,.98);
    border-bottom:1px solid rgba(57,127,148,.14);
    box-shadow:0 7px 24px rgba(45,82,103,.10);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }
  .site-header .container{
    width:calc(100% - 12px);
  }
  .nav-bar{
    gap:4px;
  }
  .brand{
    flex:1 1 auto;
    min-width:0;
    gap:8px;
    overflow:hidden;
  }
  .logo-shell{
    width:58px;
    height:58px;
    flex:0 0 58px;
  }
  .brand-copy{
    display:flex;
    flex:1 1 auto;
    min-width:0;
    flex-direction:column;
    justify-content:center;
  }
  .brand-name-desktop{
    display:none !important;
  }
  .brand-copy .brand-name-mobile{
    display:block !important;
    font-size:clamp(1.08rem,5.1vw,1.30rem) !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:-.03em !important;
    color:#203744 !important;
    white-space:nowrap !important;
  }
  .brand-specialty-desktop{
    display:none !important;
  }
  .brand-copy .brand-specialty-mobile{
    display:block !important;
    margin-top:4px !important;
    font-size:clamp(.78rem,3.8vw,.98rem) !important;
    line-height:1.04 !important;
    font-weight:800 !important;
    letter-spacing:-.02em !important;
    color:var(--accent) !important;
    white-space:nowrap !important;
  }
  .brand-copy .brand-wahlarzt{
    align-self:flex-start;
    margin-top:5px !important;
    padding:4px 8px !important;
    font-size:clamp(.54rem,2.4vw,.64rem) !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.09em !important;
  }
  .nav-actions{
    display:flex;
    align-items:center;
    gap:3px;
    flex:0 0 auto;
    margin-left:auto;
  }
  .nav-book-btn{
    width:62px;
    min-width:62px;
    max-width:62px;
    min-height:36px;
    padding:0 5px;
    font-size:.77rem;
    font-weight:800;
    flex-shrink:0;
  }
  .mobile-toggle{
    width:34px;
    height:34px;
    flex:0 0 34px;
    border-radius:10px;
  }
  /* Mobil zuerst Leistungsversprechen + Termin, danach das Foto. */
  .hero-copy{
    order:1 !important;
  }
  .hero-visual{
    order:2 !important;
  }
}
@media (max-width:390px){
  :root{
    --header-offset:90px;
  }
  .logo-shell{
    width:54px;
    height:54px;
    flex-basis:54px;
  }
  .nav-book-btn{
    width:56px;
    min-width:56px;
    max-width:56px;
    font-size:.70rem;
  }
  .mobile-toggle{
    width:32px;
    height:32px;
    flex-basis:32px;
  }
}
@media (max-width:350px){
  .logo-shell{
    width:50px;
    height:50px;
    flex-basis:50px;
  }
  .brand{
    gap:6px;
  }
  .nav-book-btn{
    width:52px;
    min-width:52px;
    max-width:52px;
    font-size:.66rem;
    padding:0 3px;
  }
  .mobile-toggle{
    width:30px;
    height:30px;
    flex-basis:30px;
  }
}
/* Mobiles Menü: rechtsbündige Navigation */
@media (max-width:1100px){
  .mobile-drawer-inner{
    justify-items:end;
    text-align:right;
  }
  .mobile-drawer a{
    width:100%;
    text-align:right;
    padding-left:16px;
    padding-right:16px;
  }
}
/* Kontakt & Anfahrt: Hauptüberschrift analog zu Leistungen/Krankheitsbildern zentriert. */
#kontakt .contact-summary{
  text-align:center;
}
#kontakt .contact-summary > div{
  width:100%;
}
#kontakt .contact-summary .section-kicker, #kontakt .contact-summary .section-title, #kontakt .contact-summary .click-hint{
  margin-left:auto;
  margin-right:auto;
}
#kontakt .contact-summary .section-title::after{
  margin-left:auto;
  margin-right:auto;
}
#agb .legal-group > .accordion-summary, #datenschutz .legal-group > .accordion-summary, #impressum .legal-group > .accordion-summary{
  text-align:center;
}
#agb .legal-group .legal-open-title, #datenschutz .legal-group .legal-open-title, #impressum .legal-group .legal-open-title{
  text-align:center;
}
#agb .legal-group .click-hint, #datenschutz .legal-group .click-hint, #impressum .legal-group .click-hint{
  margin-left:auto;
  margin-right:auto;
}
/* Desktop Hero-Foto: dezenter, kleiner und ruhiger als der Textblock. */
@media (min-width:1101px){
  .hero-visual{
    width:58% !important;
    max-width:400px !important;
    margin:8px auto 0 !important;
  }
  .hero-card{
    padding:9px !important;
    border-radius:24px !important;
    border-color:rgba(82,145,165,.20) !important;
    box-shadow:0 10px 24px rgba(45,82,103,.12) !important;
  }
  .hero-card img{
    border-radius:18px !important;
  }
}
/* AGB, Datenschutz, Impressum: gleiche Haupt-Akkordeon-Darstellung wie Krankheitsbilder. */
#agb .legal-group, #datenschutz .legal-group, #impressum .legal-group{
  max-width:none;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
#agb .legal-group > .legal-main-summary, #datenschutz .legal-group > .legal-main-summary, #impressum .legal-group > .legal-main-summary{
  padding:0 52px;
  text-align:center;
}
#agb .legal-main-summary .centered-head, #datenschutz .legal-main-summary .centered-head, #impressum .legal-main-summary .centered-head{
  margin:0;
}
#agb .legal-main-summary .section-kicker, #agb .legal-main-summary .section-title, #agb .legal-main-summary .click-hint, #datenschutz .legal-main-summary .section-kicker, #datenschutz .legal-main-summary .section-title, #datenschutz .legal-main-summary .click-hint, #impressum .legal-main-summary .section-kicker, #impressum .legal-main-summary .section-title, #impressum .legal-main-summary .click-hint{
  margin-left:auto;
  margin-right:auto;
}
#agb .legal-main-summary .section-title::after, #datenschutz .legal-main-summary .section-title::after, #impressum .legal-main-summary .section-title::after{
  margin-left:auto;
  margin-right:auto;
}
#agb .legal-group > .legal-main-summary::after, #datenschutz .legal-group > .legal-main-summary::after, #impressum .legal-group > .legal-main-summary::after{
  right:4px;
  top:50%;
  transform:translateY(-50%);
}
#agb .legal-group[open] > .legal-main-summary, #datenschutz .legal-group[open] > .legal-main-summary, #impressum .legal-group[open] > .legal-main-summary{
  margin-bottom:28px;
}
#agb .legal-content, #datenschutz .legal-content, #impressum .legal-content{
  max-width:980px;
  margin:0 auto;
  padding:6px 28px 28px;
  border:1px solid rgba(82,145,165,.28);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
  text-align:left;
}
@media (hover:hover){
  #agb .legal-group:hover, #datenschutz .legal-group:hover, #impressum .legal-group:hover{
    transform:none;
    box-shadow:none;
  }
}
@media (max-width:760px){
  #agb .legal-group > .legal-main-summary, #datenschutz .legal-group > .legal-main-summary, #impressum .legal-group > .legal-main-summary{
    padding-left:44px;
    padding-right:44px;
  }
  #agb .legal-group > .legal-main-summary::after, #datenschutz .legal-group > .legal-main-summary::after, #impressum .legal-group > .legal-main-summary::after{
    right:0;
  }
  #agb .legal-group[open] > .legal-main-summary, #datenschutz .legal-group[open] > .legal-main-summary, #impressum .legal-group[open] > .legal-main-summary{
    margin-bottom:22px;
  }
  #agb .legal-content, #datenschutz .legal-content, #impressum .legal-content{
    padding:4px 20px 22px;
  }
}
/* Rechtliches kompakt: drei dezente Karten nebeneinander, Inhalt darunter. */
.legal-section{
  background:#fff;
  padding:42px 0 48px;
}
.legal-compact-heading{
  margin:0 0 16px;
  text-align:center;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem;
  line-height:1.2;
  font-weight:600;
  color:#496675;
}
.legal-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  max-width:980px;
  margin:0 auto;
}
#rechtliches #agb, #rechtliches #datenschutz, #rechtliches #impressum{
  padding:0 !important;
  background:transparent !important;
  min-width:0;
}
.legal-card-button{
  width:100%;
  min-height:92px;
  padding:16px 18px;
  border:1px solid rgba(82,145,165,.22);
  border-radius:16px;
  background:#f8fcfd;
  box-shadow:0 7px 18px rgba(45,82,103,.07);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  text-align:center;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.legal-card-title{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.08rem;
  line-height:1.2;
  font-weight:600;
  color:#315f6e;
}
.legal-card-more{
  color:var(--accent);
  font-size:.80rem;
  line-height:1.2;
  font-weight:650;
}
.legal-card-more::after{
  content:"  →";
}
.legal-card-wrap.is-open .legal-card-button{
  background:#eef8fa;
  border-color:rgba(57,127,148,.34);
  box-shadow:0 9px 22px rgba(45,82,103,.10);
}
.legal-card-wrap.is-open .legal-card-more::after{
  content:"  ↓";
}
.legal-panels{
  max-width:980px;
  margin:14px auto 0;
}
.legal-content-panel{
  width:100%;
  padding:8px 28px 28px;
  border:1px solid rgba(82,145,165,.22);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 28px rgba(45,82,103,.10);
  text-align:left;
}
.legal-content-panel[hidden]{
  display:none !important;
}
.legal-content-panel .legal-heading{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.28rem;
  font-weight:600;
  margin:22px 0 8px;
}
.legal-content-panel p{
  color:var(--muted);
  margin-bottom:10px;
}
.legal-content-panel a{
  color:var(--accent);
  font-weight:600;
}
@media (hover:hover){
  .legal-card-button:hover{
    transform:translateY(-2px);
    background:#f1f9fb;
    border-color:rgba(57,127,148,.34);
    box-shadow:0 10px 22px rgba(45,82,103,.10);
  }
}
@media (max-width:760px){
  .legal-section{
    padding:34px 0 38px;
  }
  .legal-compact-heading{
    font-size:1.22rem;
    margin-bottom:12px;
  }
  .legal-grid{
    grid-template-columns:1fr;
    gap:9px;
  }
  .legal-card-button{
    min-height:70px;
    padding:13px 16px;
  }
  .legal-panels{
    margin-top:9px;
  }
  .legal-content-panel{
    padding:4px 20px 22px;
  }
}
/* Desktop-Header: verfügbare Bildschirmbreite vollständig nutzen. */
@media (min-width:1101px){
  .site-header .container{
    width:calc(100% - 28px) !important;
    max-width:none !important;
  }
  .nav-bar{
    width:100%;
    gap:clamp(14px,1.35vw,28px) !important;
    flex-wrap:nowrap;
  }
  .brand{
    flex:0 0 auto !important;
  }
  .nav-links{
    flex:1 1 auto !important;
    min-width:0;
    width:auto;
    justify-content:center;
    gap:clamp(20px,1.7vw,30px) !important;
  }
  .nav-links a{
    font-size:clamp(1.02rem,1.20vw,1.22rem) !important;
    font-weight:750 !important;
  }
  .nav-actions{
    flex:0 0 auto;
    margin-left:clamp(4px,.55vw,10px);
  }
}
/* Auf schmaleren Desktopfenstern bleibt alles sicher in einer Zeile. */
@media (min-width:1101px) and (max-width:1240px){
  .site-header .container{
    width:calc(100% - 16px) !important;
  }
  .nav-bar{
    gap:8px !important;
  }
  .nav-links{
    gap:10px !important;
  }
  .nav-links a{
    font-size:.98rem !important;
  }
  .brand-copy strong{
    font-size:1.42rem !important;
  }
  .brand-specialty-desktop{
    font-size:.76rem !important;
  }
  .logo-shell{
    width:64px !important;
    height:64px !important;
    flex-basis:64px !important;
  }
  .nav-book-btn{
    padding:0 12px !important;
    font-size:.94rem !important;
  }
}
/* Desktop-Header – kompakte Premium-Variante */
@media (min-width:1101px){
  .site-header{
    padding:9px 0 !important;
  }
  .site-header .container{
    width:min(1480px,calc(100% - 36px)) !important;
    max-width:1480px !important;
  }
  .nav-bar{
    display:grid !important;
    grid-template-columns:max-content minmax(0,1fr) max-content;
    align-items:center;
    column-gap:clamp(24px,2.6vw,46px) !important;
    width:100%;
  }
  .brand{
    gap:11px !important;
    flex:none !important;
    white-space:nowrap;
  }
  .logo-shell{
    width:60px !important;
    height:60px !important;
    flex:0 0 60px !important;
    border-width:1.5px;
    box-shadow:0 6px 16px rgba(47,80,97,.12);
  }
  .brand-copy{
    display:grid;
    grid-template-columns:auto auto;
    grid-template-areas:"name name"
      "specialty badge";
    justify-content:start;
    align-items:center;
    column-gap:8px;
    row-gap:4px;
  }
  .brand-name-desktop{
    grid-area:name;
    font-size:clamp(1.42rem,1.55vw,1.62rem) !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:-.018em;
  }
  .brand-specialty-desktop{
    grid-area:specialty;
    display:block !important;
    font-size:clamp(.72rem,.78vw,.82rem) !important;
    line-height:1.1 !important;
    font-weight:700 !important;
    letter-spacing:.025em !important;
    color:var(--accent) !important;
  }
  .brand-wahlarzt{
    grid-area:badge;
    margin:0 !important;
    padding:3px 8px !important;
    border:1px solid rgba(57,127,148,.26);
    background:var(--accent-soft) !important;
    color:var(--accent) !important;
    font-size:.58rem !important;
    line-height:1.15 !important;
    font-weight:850 !important;
    letter-spacing:.08em !important;
    box-shadow:none !important;
  }
  .nav-links{
    display:flex !important;
    justify-content:center !important;
    align-items:center;
    gap:clamp(20px,1.6vw,28px) !important;
    min-width:0;
    width:auto;
    white-space:nowrap;
  }
  .nav-links a{
    font-size:clamp(.98rem,1.02vw,1.05rem) !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:-.01em;
  }
  .nav-actions{
    margin-left:0 !important;
    gap:0 !important;
  }
  .nav-book-btn{
    min-height:44px !important;
    padding:0 18px !important;
    font-size:.94rem !important;
    font-weight:800 !important;
    box-shadow:0 8px 18px rgba(57,127,148,.18) !important;
  }
}
/* Schmaler Desktop: gleiche Gestaltung, nur leicht kompakter. */
@media (min-width:1101px) and (max-width:1240px){
  .site-header .container{
    width:calc(100% - 20px) !important;
  }
  .nav-bar{
    column-gap:14px !important;
  }
  .logo-shell{
    width:56px !important;
    height:56px !important;
    flex-basis:56px !important;
  }
  .brand-name-desktop{
    font-size:1.30rem !important;
  }
  .brand-specialty-desktop{
    font-size:.67rem !important;
  }
  .brand-wahlarzt{
    font-size:.52rem !important;
    padding:3px 6px !important;
  }
  .nav-links{
    gap:12px !important;
  }
  .nav-links a{
    font-size:.91rem !important;
  }
  .nav-book-btn{
    min-height:42px !important;
    padding:0 13px !important;
    font-size:.88rem !important;
  }
}
/* Desktop-Header: bündig mit dem Inhalts-Container der Seite. */
@media (min-width:1101px){
  .site-header .container{
    width:min(var(--container),calc(100% - 40px)) !important;
    max-width:var(--container) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .nav-bar{
    grid-template-columns:max-content minmax(0,1fr) max-content !important;
    column-gap:clamp(18px,2vw,30px) !important;
  }
  .nav-links{
    gap:clamp(14px,1.25vw,21px) !important;
  }
  .nav-links a{
    font-size:clamp(.94rem,.98vw,1.02rem) !important;
  }
}
@media (min-width:1101px) and (max-width:1240px){
  .site-header .container{
    width:calc(100% - 28px) !important;
  }
  .nav-bar{
    column-gap:12px !important;
  }
  .nav-links{
    gap:9px !important;
  }
  .nav-links a{
    font-size:.89rem !important;
  }
  .brand-name-desktop{
    font-size:1.27rem !important;
  }
  .brand-specialty-desktop{
    font-size:.65rem !important;
  }
  .logo-shell{
    width:54px !important;
    height:54px !important;
    flex-basis:54px !important;
  }
  .nav-book-btn{
    padding:0 12px !important;
    font-size:.86rem !important;
  }
}
/* Desktop-Header: etwas höhere, präsentere Statusleiste. */
@media (min-width:1101px){
  .site-header{
    padding:15px 0 !important;
  }
  .logo-shell{
    width:66px !important;
    height:66px !important;
    flex-basis:66px !important;
  }
  .nav-book-btn{
    min-height:48px !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }
}
@media (min-width:1101px) and (max-width:1240px){
  .site-header{
    padding:13px 0 !important;
  }
  .logo-shell{
    width:60px !important;
    height:60px !important;
    flex-basis:60px !important;
  }
  .nav-book-btn{
    min-height:44px !important;
  }
}
/* Mobile Header – Variante 1: zweizeilig und deutlich präsenter */
.mobile-header-specialty{
  display:none;
}
@media (max-width:760px){
  :root{
    --header-offset:118px;
  }
  .site-header{
    padding:8px 0 9px !important;
    background:rgba(247,252,253,.99) !important;
    border-bottom:1px solid rgba(57,127,148,.16) !important;
    box-shadow:0 8px 24px rgba(45,82,103,.11) !important;
  }
  .site-header .container{
    width:calc(100% - 18px) !important;
  }
  .nav-bar{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:"brand menu"
      "specialty term" !important;
    align-items:center !important;
    column-gap:10px !important;
    row-gap:7px !important;
    width:100% !important;
  }
  .brand{
    grid-area:brand !important;
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
    min-width:0 !important;
    overflow:visible !important;
  }
  .logo-shell{
    width:62px !important;
    height:62px !important;
    flex:0 0 62px !important;
    border-width:1.5px !important;
  }
  .brand-copy{
    display:block !important;
    min-width:0 !important;
  }
  .brand-name-desktop, .brand-specialty-desktop, .brand-copy .brand-specialty-mobile, .brand-copy .brand-wahlarzt{
    display:none !important;
  }
  .brand-copy .brand-name-mobile{
    display:block !important;
    font-size:clamp(1.24rem,5.6vw,1.48rem) !important;
    line-height:1.02 !important;
    font-weight:800 !important;
    letter-spacing:-.03em !important;
    color:#203744 !important;
    white-space:nowrap !important;
  }
  .mobile-header-specialty{
    grid-area:specialty !important;
    display:block !important;
    min-width:0 !important;
    padding:1px 0 1px 2px !important;
    color:var(--accent) !important;
    font-size:clamp(.90rem,4vw,1.02rem) !important;
    line-height:1.15 !important;
    font-weight:750 !important;
    letter-spacing:-.015em !important;
    white-space:nowrap !important;
  }
  .nav-actions{
    display:contents !important;
  }
  .mobile-toggle{
    grid-area:menu !important;
    display:inline-flex !important;
    justify-self:end !important;
    align-self:center !important;
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
    border-radius:11px !important;
  }
  .mobile-toggle svg{
    width:24px !important;
    height:24px !important;
  }
  .nav-book-btn{
    grid-area:term !important;
    justify-self:end !important;
    width:auto !important;
    min-width:96px !important;
    max-width:none !important;
    min-height:42px !important;
    padding:0 16px !important;
    font-size:.92rem !important;
    line-height:1 !important;
    font-weight:800 !important;
    border-radius:14px !important;
  }
  .hero{
    padding-top:calc(var(--header-offset) + 12px) !important;
  }
}
@media (max-width:390px){
  :root{
    --header-offset:112px;
  }
  .logo-shell{
    width:56px !important;
    height:56px !important;
    flex-basis:56px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:clamp(1.08rem,5.35vw,1.28rem) !important;
  }
  .mobile-header-specialty{
    font-size:clamp(.82rem,3.8vw,.94rem) !important;
  }
  .nav-book-btn{
    min-width:90px !important;
    min-height:40px !important;
    padding:0 13px !important;
    font-size:.86rem !important;
  }
  .mobile-toggle{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
  }
}
@media (max-width:350px){
  :root{
    --header-offset:106px;
  }
  .site-header .container{
    width:calc(100% - 12px) !important;
  }
  .logo-shell{
    width:56px !important;
    height:56px !important;
    flex-basis:56px !important;
  }
  .brand{
    gap:7px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:1.02rem !important;
  }
  .mobile-header-specialty{
    font-size:.78rem !important;
  }
  .nav-book-btn{
    min-width:84px !important;
    min-height:40px !important;
    padding:0 12px !important;
    font-size:.84rem !important;
  }
  .mobile-toggle{
    width:36px !important;
    height:36px !important;
    flex-basis:36px !important;
  }
}
/* Mobile Header – kompakte Korrektur nach realer Geräteansicht */
@media (max-width:760px){
  :root{
    --header-offset:98px !important;
  }
  .site-header{
    padding:9px 0 !important;
  }
  .site-header .container{
    width:calc(100% - 16px) !important;
  }
  .nav-bar{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:6px !important;
  }
  .brand{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    overflow:hidden !important;
  }
  .logo-shell{
    width:60px !important;
    height:60px !important;
    flex:0 0 60px !important;
  }
  .brand-copy{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-width:0 !important;
    line-height:1 !important;
  }
  .brand-name-desktop, .brand-specialty-desktop, .mobile-header-specialty, .brand-copy .brand-wahlarzt{
    display:none !important;
  }
  .brand-copy .brand-name-mobile{
    display:block !important;
    font-size:clamp(1.14rem,5.0vw,1.30rem) !important;
    line-height:1.02 !important;
    font-weight:800 !important;
    letter-spacing:-.025em !important;
    color:#203744 !important;
    white-space:nowrap !important;
  }
  .brand-copy .brand-specialty-mobile{
    display:block !important;
    margin-top:4px !important;
    font-size:clamp(.78rem,3.35vw,.90rem) !important;
    line-height:1.05 !important;
    font-weight:700 !important;
    letter-spacing:-.01em !important;
    color:var(--accent) !important;
    white-space:nowrap !important;
  }
  .nav-actions{
    display:flex !important;
    align-items:center !important;
    gap:4px !important;
    flex:0 0 auto !important;
    margin-left:auto !important;
  }
  .nav-book-btn{
    width:auto !important;
    min-width:76px !important;
    max-width:none !important;
    min-height:40px !important;
    padding:0 12px !important;
    font-size:.84rem !important;
    font-weight:800 !important;
    border-radius:12px !important;
  }
  .mobile-toggle{
    display:inline-flex !important;
    width:40px !important;
    height:40px !important;
    flex:0 0 40px !important;
    border-radius:11px !important;
  }
  .mobile-toggle svg{
    width:22px !important;
    height:22px !important;
  }
  .hero{
    padding-top:calc(var(--header-offset) + 10px) !important;
  }
}
@media (max-width:390px){
  :root{
    --header-offset:94px !important;
  }
  .logo-shell{
    width:56px !important;
    height:56px !important;
    flex-basis:56px !important;
  }
  .brand{
    gap:7px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:clamp(1.06rem,4.85vw,1.20rem) !important;
  }
  .brand-copy .brand-specialty-mobile{
    font-size:clamp(.74rem,3.15vw,.84rem) !important;
  }
  .nav-book-btn{
    min-width:64px !important;
    min-height:36px !important;
    padding:0 9px !important;
    font-size:.74rem !important;
  }
  .mobile-toggle{
    width:36px !important;
    height:36px !important;
    flex-basis:36px !important;
  }
}
@media (max-width:350px){
  :root{
    --header-offset:84px !important;
  }
  .site-header .container{
    width:calc(100% - 12px) !important;
  }
  .logo-shell{
    width:48px !important;
    height:48px !important;
    flex-basis:48px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:.92rem !important;
  }
  .brand-copy .brand-specialty-mobile{
    font-size:.64rem !important;
  }
  .nav-book-btn{
    min-width:60px !important;
    min-height:34px !important;
    padding:0 8px !important;
    font-size:.70rem !important;
  }
  .mobile-toggle{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }
}
/* Mobile Header – zentriert: 1. Zeile Logo, 2. Zeile Name, 3. Zeile Berufsbezeichnung */
@media (max-width:760px){
  :root{
    --header-offset:126px !important;
  }
  .site-header{
    padding:10px 0 12px !important;
    background:rgba(247,252,253,.99) !important;
    border-bottom:1px solid rgba(57,127,148,.16) !important;
    box-shadow:0 8px 22px rgba(45,82,103,.10) !important;
  }
  .site-header .container{
    width:calc(100% - 20px) !important;
  }
  .nav-bar{
    position:relative !important;
    display:block !important;
    min-height:0 !important;
  }
  .brand{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
    text-align:center !important;
    padding-right:0 !important;
  }
  .logo-shell{
    width:66px !important;
    height:66px !important;
    flex:0 0 66px !important;
  }
  .brand-copy{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:0 !important;
    text-align:center !important;
  }
  .brand-name-desktop, .brand-specialty-desktop, .mobile-header-specialty, .brand-copy .brand-wahlarzt, .nav-book-btn{
    display:none !important;
  }
  .brand-copy .brand-name-mobile{
    display:block !important;
    font-size:clamp(1.26rem,5.9vw,1.54rem) !important;
    line-height:1.04 !important;
    font-weight:800 !important;
    letter-spacing:-.03em !important;
    color:#203744 !important;
    white-space:normal !important;
    text-align:center !important;
  }
  .brand-copy .brand-specialty-mobile{
    display:block !important;
    margin-top:4px !important;
    font-size:clamp(.82rem,3.7vw,.98rem) !important;
    line-height:1.12 !important;
    font-weight:750 !important;
    letter-spacing:-.01em !important;
    color:var(--accent) !important;
    white-space:normal !important;
    text-align:center !important;
  }
  .nav-actions{
    position:absolute !important;
    top:2px !important;
    right:0 !important;
    display:block !important;
    margin:0 !important;
  }
  .mobile-toggle{
    display:inline-flex !important;
    width:40px !important;
    height:40px !important;
    flex:0 0 40px !important;
    border-radius:11px !important;
  }
  .mobile-toggle svg{
    width:22px !important;
    height:22px !important;
  }
  .mobile-drawer-inner{
    justify-items:stretch !important;
    text-align:right !important;
    gap:0 !important;
  }
  .mobile-drawer a{
    text-align:right !important;
    padding-left:10px !important;
    padding-right:16px !important;
  }
  .hero{
    padding-top:calc(var(--header-offset) + 8px) !important;
  }
}
@media (max-width:390px){
  :root{
    --header-offset:118px !important;
  }
  .logo-shell{
    width:60px !important;
    height:60px !important;
    flex-basis:60px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:clamp(1.16rem,5.45vw,1.34rem) !important;
  }
  .brand-copy .brand-specialty-mobile{
    font-size:clamp(.78rem,3.45vw,.90rem) !important;
  }
  .mobile-toggle{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
  }
}
@media (max-width:350px){
  :root{
    --header-offset:112px !important;
  }
  .site-header .container{
    width:calc(100% - 14px) !important;
  }
  .logo-shell{
    width:56px !important;
    height:56px !important;
    flex-basis:56px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:1.08rem !important;
  }
  .brand-copy .brand-specialty-mobile{
    font-size:.74rem !important;
  }
  .mobile-toggle{
    width:36px !important;
    height:36px !important;
    flex-basis:36px !important;
  }
}
/* Mobil: mehr Abstand zwischen Header und e-card-Hinweis */
@media (max-width:760px){
  .hero{
    padding-top:calc(var(--header-offset) + 24px) !important;
  }
}
/* Mobil: 4. Zeile Wahlarzt-Badge + mehr Abstand zum wichtigen Hinweis */
@media (max-width:760px){
  .brand-copy .brand-wahlarzt{
    display:inline-flex !important;
    align-self:center !important;
    margin-top:7px !important;
    padding:4px 10px !important;
    border-radius:999px !important;
    background:var(--accent) !important;
    color:#fff !important;
    font-size:.62rem !important;
    line-height:1 !important;
    font-weight:850 !important;
    letter-spacing:.08em !important;
    text-transform:none !important;
  }
  .hero{
    padding-top:calc(var(--header-offset) + 38px) !important;
  }
}
@media (max-width:390px){
  .brand-copy .brand-wahlarzt{
    margin-top:6px !important;
    padding:4px 9px !important;
    font-size:.58rem !important;
  }
  .hero{
    padding-top:calc(var(--header-offset) + 34px) !important;
  }
}
@media (max-width:760px){
  .hero{
    padding-top:calc(var(--header-offset) + 56px) !important;
  }
}
@media (max-width:390px){
  .hero{
    padding-top:calc(var(--header-offset) + 50px) !important;
  }
}
@media (max-width:760px){
  :root{
    --header-offset:142px !important;
  }
  .site-header{
    padding:13px 0 15px !important;
    background:rgba(247,252,253,.995) !important;
    border-bottom:1px solid rgba(57,127,148,.22) !important;
    box-shadow:0 10px 28px rgba(45,82,103,.15) !important;
  }
  .brand{
    gap:10px !important;
  }
  .logo-shell{
    width:74px !important;
    height:74px !important;
    flex:0 0 74px !important;
    border-width:2px !important;
    box-shadow:0 8px 22px rgba(47,80,97,.17) !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:clamp(1.38rem,6.3vw,1.70rem) !important;
    line-height:1.03 !important;
    font-weight:850 !important;
    letter-spacing:-.035em !important;
  }
  .brand-copy .brand-specialty-mobile{
    margin-top:5px !important;
    font-size:clamp(.90rem,4.0vw,1.06rem) !important;
    line-height:1.12 !important;
    font-weight:800 !important;
    color:#32778d !important;
  }
  .brand-copy .brand-wahlarzt{
    margin-top:8px !important;
    padding:5px 12px !important;
    font-size:.66rem !important;
    font-weight:900 !important;
    letter-spacing:.09em !important;
    box-shadow:0 5px 14px rgba(57,127,148,.18) !important;
  }
  .mobile-toggle{
    top:1px !important;
    right:0 !important;
    width:42px !important;
    height:42px !important;
    flex-basis:42px !important;
    background:#fff !important;
    box-shadow:0 5px 14px rgba(45,82,103,.10) !important;
  }
  .mobile-toggle svg{
    width:24px !important;
    height:24px !important;
  }
  .hero{
    padding-top:calc(var(--header-offset) + 58px) !important;
  }
}
@media (max-width:390px){
  :root{
    --header-offset:132px !important;
  }
  .site-header{
    padding:12px 0 13px !important;
  }
  .logo-shell{
    width:68px !important;
    height:68px !important;
    flex-basis:68px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:clamp(1.24rem,5.9vw,1.48rem) !important;
  }
  .brand-copy .brand-specialty-mobile{
    font-size:clamp(.84rem,3.7vw,.98rem) !important;
  }
  .brand-copy .brand-wahlarzt{
    font-size:.62rem !important;
    padding:5px 11px !important;
  }
  .mobile-toggle{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }
  .hero{
    padding-top:calc(var(--header-offset) + 54px) !important;
  }
}
@media (max-width:350px){
  :root{
    --header-offset:124px !important;
  }
  .logo-shell{
    width:62px !important;
    height:62px !important;
    flex-basis:62px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:1.16rem !important;
  }
  .brand-copy .brand-specialty-mobile{
    font-size:.80rem !important;
  }
  .brand-copy .brand-wahlarzt{
    font-size:.58rem !important;
  }
}
/* Mobil: XL-Header + stabile visuelle Hierarchie */
@media (max-width:760px){
  :root{
    --header-offset:156px !important;
  }
  .site-header{
    padding:15px 0 17px !important;
  }
  .brand{
    gap:11px !important;
  }
  .logo-shell{
    width:82px !important;
    height:82px !important;
    flex:0 0 82px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:clamp(1.52rem,6.8vw,1.88rem) !important;
    line-height:1.02 !important;
    font-weight:850 !important;
  }
  .brand-copy .brand-specialty-mobile{
    margin-top:6px !important;
    font-size:clamp(.98rem,4.25vw,1.14rem) !important;
    line-height:1.1 !important;
    font-weight:800 !important;
  }
  .brand-copy .brand-wahlarzt{
    margin-top:9px !important;
    padding:6px 13px !important;
    font-size:.70rem !important;
  }
  .mobile-toggle{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
  }
  .mobile-toggle svg{
    width:25px !important;
    height:25px !important;
  }
  .hero{
    padding-top:calc(var(--header-offset) + 64px) !important;
  }
}
@media (max-width:390px){
  :root{
    --header-offset:146px !important;
  }
  .logo-shell{
    width:74px !important;
    height:74px !important;
    flex-basis:74px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:clamp(1.34rem,6.15vw,1.60rem) !important;
  }
  .brand-copy .brand-specialty-mobile{
    font-size:clamp(.90rem,3.9vw,1.02rem) !important;
  }
  .brand-copy .brand-wahlarzt{
    font-size:.66rem !important;
    padding:5px 12px !important;
  }
  .mobile-toggle{
    width:42px !important;
    height:42px !important;
    flex-basis:42px !important;
  }
  .hero{
    padding-top:calc(var(--header-offset) + 60px) !important;
  }
}
@media (max-width:350px){
  :root{
    --header-offset:136px !important;
  }
  .logo-shell{
    width:68px !important;
    height:68px !important;
    flex-basis:68px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:1.24rem !important;
  }
  .brand-copy .brand-specialty-mobile{
    font-size:.84rem !important;
  }
  .brand-copy .brand-wahlarzt{
    font-size:.62rem !important;
  }
}
/* Mobil: XXL-Header */
@media (max-width:760px){
  :root{
    --header-offset:174px !important;
  }
  .site-header{
    padding:17px 0 19px !important;
  }
  .brand{
    gap:12px !important;
  }
  .logo-shell{
    width:92px !important;
    height:92px !important;
    flex:0 0 92px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:clamp(1.68rem,7.4vw,2.06rem) !important;
    line-height:1.01 !important;
    font-weight:850 !important;
    letter-spacing:-.04em !important;
  }
  .brand-copy .brand-specialty-mobile{
    margin-top:7px !important;
    font-size:clamp(1.05rem,4.6vw,1.22rem) !important;
    line-height:1.08 !important;
    font-weight:800 !important;
  }
  .brand-copy .brand-wahlarzt{
    margin-top:10px !important;
    padding:6px 14px !important;
    font-size:.74rem !important;
  }
  .mobile-toggle{
    width:46px !important;
    height:46px !important;
    flex-basis:46px !important;
  }
  .mobile-toggle svg{
    width:26px !important;
    height:26px !important;
  }
  .hero{
    padding-top:calc(var(--header-offset) + 68px) !important;
  }
}
@media (max-width:390px){
  :root{
    --header-offset:162px !important;
  }
  .logo-shell{
    width:84px !important;
    height:84px !important;
    flex-basis:84px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:clamp(1.46rem,6.8vw,1.76rem) !important;
  }
  .brand-copy .brand-specialty-mobile{
    font-size:clamp(.98rem,4.25vw,1.10rem) !important;
  }
  .brand-copy .brand-wahlarzt{
    font-size:.70rem !important;
    padding:6px 13px !important;
  }
  .mobile-toggle{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
  }
  .hero{
    padding-top:calc(var(--header-offset) + 64px) !important;
  }
}
@media (max-width:350px){
  :root{
    --header-offset:150px !important;
  }
  .logo-shell{
    width:76px !important;
    height:76px !important;
    flex-basis:76px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:1.34rem !important;
  }
  .brand-copy .brand-specialty-mobile{
    font-size:.90rem !important;
  }
  .brand-copy .brand-wahlarzt{
    font-size:.66rem !important;
  }
}
/* Mobil: XXXL-Header */
@media (max-width:760px){
  :root{
    --header-offset:194px !important;
  }
  .site-header{
    padding:19px 0 21px !important;
  }
  .brand{
    gap:13px !important;
  }
  .logo-shell{
    width:104px !important;
    height:104px !important;
    flex:0 0 104px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:clamp(1.88rem,8.1vw,2.28rem) !important;
    line-height:1.0 !important;
    font-weight:850 !important;
    letter-spacing:-.045em !important;
  }
  .brand-copy .brand-specialty-mobile{
    margin-top:8px !important;
    font-size:clamp(1.14rem,4.95vw,1.34rem) !important;
    line-height:1.06 !important;
    font-weight:800 !important;
  }
  .brand-copy .brand-wahlarzt{
    margin-top:11px !important;
    padding:7px 15px !important;
    font-size:.78rem !important;
  }
  .mobile-toggle{
    width:48px !important;
    height:48px !important;
    flex-basis:48px !important;
  }
  .mobile-toggle svg{
    width:27px !important;
    height:27px !important;
  }
  .hero{
    padding-top:calc(var(--header-offset) + 72px) !important;
  }
}
@media (max-width:390px){
  :root{
    --header-offset:180px !important;
  }
  .logo-shell{
    width:94px !important;
    height:94px !important;
    flex-basis:94px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:clamp(1.62rem,7.45vw,1.94rem) !important;
  }
  .brand-copy .brand-specialty-mobile{
    font-size:clamp(1.04rem,4.55vw,1.18rem) !important;
  }
  .brand-copy .brand-wahlarzt{
    font-size:.74rem !important;
    padding:6px 14px !important;
  }
  .mobile-toggle{
    width:46px !important;
    height:46px !important;
    flex-basis:46px !important;
  }
  .hero{
    padding-top:calc(var(--header-offset) + 68px) !important;
  }
}
@media (max-width:350px){
  :root{
    --header-offset:166px !important;
  }
  .logo-shell{
    width:84px !important;
    height:84px !important;
    flex-basis:84px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:1.44rem !important;
  }
  .brand-copy .brand-specialty-mobile{
    font-size:.96rem !important;
  }
  .brand-copy .brand-wahlarzt{
    font-size:.70rem !important;
  }
}
/* Mobil: Header etwas kleiner und beim Scrollen nicht fixiert */
@media (max-width:760px){
  :root{
    --header-offset:164px !important;
  }
  .site-header{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    padding:16px 0 18px !important;
  }
  .logo-shell{
    width:88px !important;
    height:88px !important;
    flex:0 0 88px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:clamp(1.58rem,7vw,1.92rem) !important;
    line-height:1.01 !important;
  }
  .brand-copy .brand-specialty-mobile{
    margin-top:7px !important;
    font-size:clamp(1.02rem,4.45vw,1.18rem) !important;
  }
  .brand-copy .brand-wahlarzt{
    margin-top:9px !important;
    padding:6px 14px !important;
    font-size:.72rem !important;
  }
  .mobile-toggle{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
  }
  .mobile-toggle svg{
    width:25px !important;
    height:25px !important;
  }
  .hero{
    padding-top:calc(var(--header-offset) + 56px) !important;
  }
}
@media (max-width:390px){
  :root{
    --header-offset:152px !important;
  }
  .logo-shell{
    width:80px !important;
    height:80px !important;
    flex-basis:80px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:clamp(1.42rem,6.5vw,1.68rem) !important;
  }
  .brand-copy .brand-specialty-mobile{
    font-size:clamp(.94rem,4.05vw,1.06rem) !important;
  }
  .brand-copy .brand-wahlarzt{
    font-size:.68rem !important;
  }
  .mobile-toggle{
    width:42px !important;
    height:42px !important;
    flex-basis:42px !important;
  }
  .hero{
    padding-top:calc(var(--header-offset) + 52px) !important;
  }
}
@media (max-width:350px){
  :root{
    --header-offset:142px !important;
  }
  .logo-shell{
    width:72px !important;
    height:72px !important;
    flex-basis:72px !important;
  }
  .brand-copy .brand-name-mobile{
    font-size:1.30rem !important;
  }
  .brand-copy .brand-specialty-mobile{
    font-size:.88rem !important;
  }
}
/* Mobil: deutlich mehr Abstand nach dem Header */
@media (max-width:760px){
  .hero{
    padding-top:calc(var(--header-offset) + 78px) !important;
  }
}
@media (max-width:390px){
  .hero{
    padding-top:calc(var(--header-offset) + 70px) !important;
  }
}
/* Mobil: türkisen Kreis/Rand um das Logo entfernen */
@media (max-width:760px){
  .logo-shell{
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }
}
/* Mobil: Logo exakt kreisrund statt oval */
@media (max-width:760px){
  .logo-shell{
    aspect-ratio:1 / 1 !important;
    border-radius:50% !important;
    overflow:hidden !important;
    padding:0 !important;
  }
  .logo-shell img{
    width:100% !important;
    height:100% !important;
    aspect-ratio:1 / 1 !important;
    object-fit:cover !important;
    object-position:center !important;
    border-radius:50% !important;
    clip-path:circle(50% at 50% 50%) !important;
  }
}
/* Logo auf Desktop und Mobil ohne türkisen Rand, exakt kreisrund */
.logo-shell img{
  aspect-ratio:1 / 1 !important;
}
/* Logo optisch perfekt rund: echte Kreis-Maske + minimaler Innen-Zoom */
.logo-shell{
  position:relative !important;
  clip-path:circle(50% at 50% 50%) !important;
  -webkit-clip-path:circle(50% at 50% 50%) !important;
}
.logo-shell img{
  position:absolute !important;
  inset:0 !important;
  transform-origin:center center !important;
}
/* Desktop: zentraler Praxisblock im Header */
@media (min-width:1101px){
  .site-header{
    padding:16px 0 12px !important;
  }
  .nav-bar{
    display:grid !important;
    grid-template-columns:1fr auto 1fr !important;
    grid-template-areas:"brand brand brand"
      ". nav actions" !important;
    align-items:center !important;
    row-gap:15px !important;
    column-gap:16px !important;
  }
  .brand{
    grid-area:brand !important;
    justify-self:center !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;
    width:auto !important;
    text-align:center !important;
    white-space:normal !important;
  }
  .logo-shell{
    width:88px !important;
    height:88px !important;
    flex:0 0 88px !important;
  }
  .brand-copy{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    text-align:center !important;
  }
  .brand-name-desktop{
    display:block !important;
    font-size:clamp(1.90rem,2.15vw,2.30rem) !important;
    line-height:1.02 !important;
    font-weight:760 !important;
    letter-spacing:-.035em !important;
    color:#203744 !important;
    text-align:center !important;
  }
  .brand-specialty-desktop{
    display:block !important;
    margin-top:7px !important;
    font-size:clamp(1.00rem,1.12vw,1.16rem) !important;
    line-height:1.10 !important;
    font-weight:800 !important;
    letter-spacing:-.01em !important;
    color:var(--accent) !important;
    text-align:center !important;
  }
  .brand-wahlarzt{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin-top:10px !important;
    padding:6px 14px !important;
    border:1px solid rgba(57,127,148,.20) !important;
    border-radius:999px !important;
    background:var(--accent-soft) !important;
    color:var(--accent) !important;
    font-size:.70rem !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.08em !important;
    font-style:normal !important;
    box-shadow:none !important;
  }
  .nav-links{
    grid-area:nav !important;
    justify-self:center !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:clamp(18px,1.55vw,28px) !important;
    width:auto !important;
  }
  .nav-links a{
    font-size:clamp(.96rem,1vw,1.04rem) !important;
    font-weight:700 !important;
  }
  .nav-actions{
    grid-area:actions !important;
    justify-self:end !important;
    margin:0 !important;
  }
  .nav-book-btn{
    min-height:44px !important;
    padding:0 17px !important;
  }
}
@media (min-width:1101px) and (max-width:1240px){
  .logo-shell{
    width:80px !important;
    height:80px !important;
    flex-basis:80px !important;
  }
  .brand-name-desktop{
    font-size:1.80rem !important;
  }
  .brand-specialty-desktop{
    font-size:.96rem !important;
  }
  .nav-bar{
    row-gap:13px !important;
  }
  .nav-links{
    gap:12px !important;
  }
  .nav-links a{
    font-size:.90rem !important;
  }
}
/* Desktop: Header scrollt mit, Statusleiste gestreckter, Navigation größer */
@media (min-width:1101px){
  .site-header{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    padding:20px 0 18px !important;
  }
  .nav-bar{
    row-gap:18px !important;
  }
  .nav-links{
    gap:clamp(22px,1.9vw,34px) !important;
  }
  .nav-links a{
    font-size:clamp(1.04rem,1.08vw,1.14rem) !important;
    font-weight:760 !important;
    line-height:1.15 !important;
  }
  .nav-book-btn{
    min-height:48px !important;
    padding:0 20px !important;
    font-size:1rem !important;
  }
  .hero{
    padding-top:72px !important;
  }
}
@media (min-width:1101px) and (max-width:1240px){
  .nav-links{
    gap:16px !important;
  }
  .nav-links a{
    font-size:.98rem !important;
  }
  .hero{
    padding-top:64px !important;
  }
}
/* Desktop 2026-10-05: zentraler Markenblock wie im freigegebenen Entwurf */
@media (min-width:1101px){
  .site-header{
    position:relative !important;
    inset:auto !important;
    z-index:auto !important;
    padding:24px 0 0 !important;
    background:radial-gradient(circle at 50% 0%,rgba(180,222,231,.18),transparent 42%),
      linear-gradient(180deg,#ffffff 0%,#fbfeff 100%) !important;
    border-bottom:1px solid rgba(57,127,148,.13) !important;
    box-shadow:none !important;
  }
  .site-header .container{
    width:min(1380px,calc(100% - 48px)) !important;
  }
  .nav-bar{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    grid-template-areas:"brand brand"
      "nav actions" !important;
    align-items:center !important;
    row-gap:24px !important;
    column-gap:24px !important;
    min-height:0 !important;
  }
  .brand{
    grid-area:brand !important;
    justify-self:center !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    width:auto !important;
    max-width:100% !important;
    text-align:center !important;
    white-space:normal !important;
    padding:0 !important;
  }
  .logo-shell{
    width:118px !important;
    height:118px !important;
    flex:0 0 118px !important;
    aspect-ratio:1 / 1 !important;
    border:0 !important;
    border-radius:50% !important;
    overflow:hidden !important;
    background:#fff !important;
    box-shadow:none !important;
    clip-path:circle(50% at 50% 50%) !important;
    -webkit-clip-path:circle(50% at 50% 50%) !important;
  }
  .logo-shell img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center !important;
    transform:scale(1.055) !important;
    transform-origin:center !important;
  }
  .brand-copy{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .brand-name-desktop{
    display:block !important;
    margin:0 !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:clamp(2.35rem,3.2vw,3.35rem) !important;
    line-height:1.00 !important;
    font-weight:600 !important;
    letter-spacing:-.04em !important;
    color:#203744 !important;
  }
  .brand-specialty-desktop{
    display:block !important;
    margin-top:8px !important;
    font-size:clamp(1.16rem,1.55vw,1.48rem) !important;
    line-height:1.08 !important;
    font-weight:850 !important;
    letter-spacing:-.018em !important;
    color:var(--accent) !important;
  }
  .brand-wahlarzt{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin-top:13px !important;
    padding:8px 22px !important;
    min-height:36px !important;
    border:1px solid rgba(57,127,148,.18) !important;
    border-radius:999px !important;
    background:linear-gradient(180deg,#edf9fb 0%,#e2f5f8 100%) !important;
    color:#287990 !important;
    box-shadow:none !important;
    font-size:.82rem !important;
    line-height:1 !important;
    font-weight:900 !important;
    font-style:normal !important;
    letter-spacing:.06em !important;
  }
  .nav-links{
    grid-area:nav !important;
    justify-self:start !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:clamp(24px,2.6vw,46px) !important;
    min-height:76px !important;
    width:auto !important;
    white-space:nowrap !important;
  }
  .nav-links a{
    position:relative !important;
    padding:8px 0 !important;
    color:#1f4658 !important;
    font-size:clamp(1.08rem,1.18vw,1.20rem) !important;
    line-height:1.15 !important;
    font-weight:760 !important;
    letter-spacing:-.012em !important;
  }
  .nav-links a::after{
    content:"";
    position:absolute;
    left:50%;
    right:50%;
    bottom:0;
    height:2px;
    border-radius:2px;
    background:var(--accent);
    transition:left .18s ease,right .18s ease;
  }
  .nav-links a:hover::after{
    left:0;
    right:0;
  }
  .nav-actions{
    grid-area:actions !important;
    justify-self:end !important;
    position:static !important;
    display:flex !important;
    align-items:center !important;
    margin:0 !important;
  }
  .nav-book-btn{
    display:inline-flex !important;
    min-height:52px !important;
    padding:0 24px !important;
    border-radius:999px !important;
    font-size:1.04rem !important;
    font-weight:850 !important;
    box-shadow:0 8px 20px rgba(57,127,148,.14) !important;
  }
  .mobile-toggle, .mobile-drawer, .mobile-header-specialty, .brand-name-mobile, .brand-specialty-mobile{
    display:none !important;
  }
  /* Header-Navigation als eigener, luftiger unterer Streifen */
  .nav-bar::after{
    content:"";
    grid-column:1/-1;
    height:0;
  }
  /* Hinweis als breite horizontale Statusleiste direkt nach dem Header */
  .hero{
    padding-top:0 !important;
    background:radial-gradient(circle at 10% 15%,rgba(172,216,226,.24),transparent 24%),
      radial-gradient(circle at 88% 28%,rgba(127,185,200,.08),transparent 22%),
      linear-gradient(135deg,#f7fcfd 0%,#fff 58%,#edf8fb 100%) !important;
  }
  .hero-grid{
    padding-top:0 !important;
    row-gap:46px !important;
  }
  
  
  .hero-copy, .hero-visual{
    margin-top:22px !important;
  }
  .hero-copy h1{
    font-size:clamp(2.65rem,4.3vw,4.15rem) !important;
    line-height:1.04 !important;
  }
  .hero-copy > p:not(.booking-privacy-note){
    font-size:1.12rem !important;
    line-height:1.55 !important;
  }
}
@media (min-width:1101px) and (max-width:1280px){
  .site-header .container{
    width:min(1180px,calc(100% - 34px)) !important;
  }
  .logo-shell{
    width:104px !important;
    height:104px !important;
    flex-basis:104px !important;
  }
  .brand-name-desktop{
    font-size:2.38rem !important;
  }
  .brand-specialty-desktop{
    font-size:1.12rem !important;
  }
  .nav-links{
    gap:18px !important;
  }
  .nav-links a{
    font-size:1rem !important;
  }
  .nav-book-btn{
    min-height:48px !important;
    padding:0 18px !important;
    font-size:.98rem !important;
  }
}
/* Desktop: Statusleiste volle Breite und exakt mittig */
@media (min-width:1101px){
  
  
}
/* Desktop: Statusleiste exakt auf Viewport-Mitte zentrieren */
@media (min-width:1101px){
  
  
}
/* Desktop: Navigation exakt auf Seitenmitte – deutlich weiter rechts */
@media (min-width:1101px){
  .nav-bar{
    grid-template-columns:1fr auto 1fr !important;
    grid-template-areas:"brand brand brand"
      ". nav actions" !important;
  }
  .nav-links{
    grid-area:nav !important;
    justify-self:center !important;
    justify-content:center !important;
    margin:0 !important;
  }
  .nav-actions{
    grid-area:actions !important;
    justify-self:end !important;
  }
}
/* Desktop: Navigation breiter und mit großzügigeren Abständen */
@media (min-width:1101px){
  .nav-links{
    gap:clamp(28px,2.6vw,52px) !important;
    min-width:min(760px,64vw) !important;
    justify-content:center !important;
  }
  .nav-links a{
    font-size:clamp(1rem,1.08vw,1.10rem) !important;
    padding:8px 2px !important;
    white-space:nowrap !important;
  }
}
@media (min-width:1101px) and (max-width:1240px){
  .nav-links{
    gap:22px !important;
    min-width:min(690px,66vw) !important;
  }
  .nav-links a{
    font-size:.96rem !important;
  }
}
/* Desktop Hero: zentrale Achse mit Portrait unter Text und Buttons */
@media (min-width:1101px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr) !important;
    column-gap:0 !important;
    row-gap:0 !important;
    align-items:start !important;
  }
  /* Kinder des bisherigen Textblocks direkt im Hero-Raster anordnen. */
  .hero-copy{
    display:contents !important;
  }
  
  .hero-copy .section-kicker{
    grid-column:1 !important;
    grid-row:2 !important;
    justify-self:center !important;
    text-align:center !important;
    margin:0 auto 14px !important;
  }
  .hero-copy h1{
    grid-column:1 !important;
    grid-row:3 !important;
    justify-self:center !important;
    width:min(100%,1050px) !important;
    max-width:1050px !important;
    margin:0 auto 18px !important;
    text-align:center !important;
    font-size:clamp(2.8rem,4.35vw,4.2rem) !important;
    line-height:1.04 !important;
  }
  .hero-copy > p:not(.booking-privacy-note){
    grid-column:1 !important;
    grid-row:4 !important;
    justify-self:center !important;
    width:min(100%,780px) !important;
    max-width:780px !important;
    margin:0 auto 26px !important;
    text-align:center !important;
    font-size:1.14rem !important;
    line-height:1.65 !important;
  }
  .hero-actions{
    grid-column:1 !important;
    grid-row:5 !important;
    justify-self:center !important;
    justify-content:center !important;
    margin:0 auto 38px !important;
  }
  .hero-visual{
    grid-column:1 !important;
    grid-row:6 !important;
    justify-self:center !important;
    width:340px !important;
    max-width:340px !important;
    margin:0 auto 24px !important;
  }
  .hero-card{
    width:100% !important;
    padding:9px !important;
    border-radius:24px !important;
    border:1px solid rgba(82,145,165,.20) !important;
    box-shadow:0 12px 30px rgba(45,82,103,.12) !important;
  }
  .hero-card img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    border-radius:18px !important;
  }
  .booking-privacy-note{
    grid-column:1 !important;
    grid-row:7 !important;
    justify-self:center !important;
    width:min(100%,720px) !important;
    max-width:720px !important;
    margin:0 auto 28px !important;
    text-align:center !important;
  }
  .trust-row{
    grid-column:1 !important;
    grid-row:8 !important;
    justify-self:center !important;
    width:min(100%,920px) !important;
    max-width:920px !important;
    margin:0 auto !important;
  }
}
/* Finale Logo-Darstellung: hochauflösend, glatt, exakt rund */
.logo-shell{
  aspect-ratio:1 / 1 !important;
  border:0 !important;
  border-radius:50% !important;
  overflow:hidden !important;
  padding:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  -webkit-mask-image:-webkit-radial-gradient(white, black) !important;
}
.logo-shell img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
  border-radius:50% !important;
  clip-path:none !important;
  -webkit-clip-path:none !important;
  image-rendering:auto !important;
  -ms-interpolation-mode:bicubic;
}
/* Desktop 2026-10-05: harmonischer, ruhiger Marken-Header */
@media (min-width:1101px){
  .site-header{
    padding:18px 0 0 !important;
    background:radial-gradient(circle at 50% -10%,rgba(167,216,226,.16),transparent 38%),
      linear-gradient(180deg,#fafdfE 0%,#f1f8fa 100%) !important;
    border-bottom:1px solid rgba(40,70,83,.10) !important;
  }
  .nav-bar{
    row-gap:14px !important;
  }
  .brand{
    gap:7px !important;
  }
  .logo-shell{
    width:106px !important;
    height:106px !important;
    flex:0 0 106px !important;
  }
  .brand-name-desktop{
    color:#284653 !important;
    font-size:clamp(2.12rem,2.78vw,2.92rem) !important;
    font-weight:600 !important;
    letter-spacing:-.035em !important;
  }
  .brand-specialty-desktop{
    margin-top:5px !important;
    color:#2f8193 !important;
    font-size:clamp(1.04rem,1.32vw,1.30rem) !important;
    font-weight:760 !important;
    letter-spacing:-.012em !important;
  }
  .brand-wahlarzt{
    margin-top:8px !important;
    min-height:31px !important;
    padding:6px 17px !important;
    border:1px solid rgba(47,129,147,.18) !important;
    background:rgba(232,247,250,.72) !important;
    color:#347f91 !important;
    font-size:.75rem !important;
    font-weight:800 !important;
    letter-spacing:.055em !important;
    box-shadow:none !important;
  }
  .nav-links{
    min-height:64px !important;
    gap:clamp(30px,2.75vw,54px) !important;
  }
  .nav-links a{
    color:#284653 !important;
    font-size:clamp(.98rem,1.04vw,1.08rem) !important;
    font-weight:700 !important;
  }
  .nav-links a::after{
    background:#4a93a3 !important;
    height:1.5px !important;
  }
  .nav-actions{
    align-self:center !important;
  }
  .nav-book-btn{
    min-height:47px !important;
    padding:0 22px !important;
    background:#32859a !important;
    border-color:#32859a !important;
    color:#fff !important;
    font-size:.98rem !important;
    font-weight:800 !important;
    box-shadow:0 6px 16px rgba(50,133,154,.12) !important;
  }
  .nav-book-btn:hover{
    background:#2b788b !important;
    border-color:#2b788b !important;
  }
  /* feine Trennung zwischen Markenblock und Navigation */
  .nav-bar::before{
    content:"" !important;
    grid-column:1/-1 !important;
    grid-row:2 !important;
    align-self:start !important;
    width:min(980px,78vw) !important;
    height:1px !important;
    justify-self:center !important;
    margin-top:-3px !important;
    background:linear-gradient(90deg,transparent,rgba(40,70,83,.11),transparent) !important;
    pointer-events:none !important;
  }
  .hero-grid{
    padding-top:0 !important;
  }
}
@media (min-width:1101px) and (max-width:1280px){
  .logo-shell{
    width:94px !important;
    height:94px !important;
    flex-basis:94px !important;
  }
  .brand-name-desktop{
    font-size:2.16rem !important;
  }
  .brand-specialty-desktop{
    font-size:1.04rem !important;
  }
  .nav-links{
    min-height:60px !important;
    gap:20px !important;
  }
}
/* Desktop 2026-10-05: freundlicher, weicher Praxis-Header */
@media (min-width:1101px){
  .site-header{
    background:radial-gradient(circle at 18% 0%,rgba(135,190,170,.10),transparent 30%),
      radial-gradient(circle at 82% 0%,rgba(110,177,197,.11),transparent 32%),
      linear-gradient(180deg,#fcfefe 0%,#f3faf9 52%,#eef7f8 100%) !important;
    border-bottom:1px solid rgba(48,111,121,.10) !important;
  }
  .brand{
    gap:8px !important;
  }
  .logo-shell{
    width:100px !important;
    height:100px !important;
    flex-basis:100px !important;
  }
  .brand-name-desktop{
    color:#355566 !important;
    font-size:clamp(2.04rem,2.62vw,2.76rem) !important;
    font-weight:560 !important;
    letter-spacing:-.028em !important;
  }
  .brand-specialty-desktop{
    color:#3a8891 !important;
    font-size:clamp(1.03rem,1.26vw,1.24rem) !important;
    font-weight:700 !important;
    letter-spacing:-.006em !important;
  }
  .brand-wahlarzt{
    margin-top:9px !important;
    padding:7px 18px !important;
    min-height:32px !important;
    border:1px solid rgba(73,143,115,.18) !important;
    background:linear-gradient(180deg,#f0faf4 0%,#e6f5ec 100%) !important;
    color:#3f7d67 !important;
    font-size:.75rem !important;
    font-weight:800 !important;
    box-shadow:0 3px 10px rgba(73,143,115,.06) !important;
  }
  .nav-bar{
    row-gap:13px !important;
  }
  .nav-bar::before{
    background:linear-gradient(90deg,transparent,rgba(52,103,116,.09),transparent) !important;
  }
  .nav-links{
    min-height:62px !important;
    gap:clamp(30px,2.8vw,56px) !important;
  }
  .nav-links a{
    color:#355566 !important;
    font-weight:680 !important;
    transition:color .18s ease,background .18s ease,transform .18s ease !important;
    border-radius:999px !important;
    padding:9px 10px !important;
  }
  .nav-links a::after{
    display:none !important;
  }
  .nav-links a:hover, .nav-links a:focus-visible{
    color:#2f7e8b !important;
    background:rgba(223,243,245,.76) !important;
    transform:translateY(-1px) !important;
  }
  .nav-book-btn{
    min-height:46px !important;
    padding:0 22px !important;
    background:linear-gradient(180deg,#4b9bad 0%,#3e899d 100%) !important;
    border-color:#3e899d !important;
    color:#fff !important;
    box-shadow:0 7px 18px rgba(62,137,157,.14) !important;
  }
  .nav-book-btn:hover{
    background:linear-gradient(180deg,#438fa1 0%,#347b8e 100%) !important;
    border-color:#347b8e !important;
    transform:translateY(-1px) !important;
  }
  
  
}
@media (min-width:1101px) and (max-width:1280px){
  .logo-shell{
    width:92px !important;
    height:92px !important;
    flex-basis:92px !important;
  }
}
/* Desktop: Name bewusst ruhiger und freundlicher */
@media (min-width:1101px){
  .site-header .brand .brand-copy .brand-name-desktop{
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
    color:#557789 !important;
    font-size:clamp(1.72rem,2.10vw,2.18rem) !important;
    font-weight:620 !important;
    line-height:1.06 !important;
    letter-spacing:-.022em !important;
    text-shadow:none !important;
  }
  .site-header .brand .brand-copy .brand-specialty-desktop{
    color:#388798 !important;
    font-size:clamp(1.02rem,1.18vw,1.18rem) !important;
    font-weight:720 !important;
  }
}
@media (min-width:1101px){
  .site-header{
    padding-top:14px !important;
  }
  .site-header .brand{
    gap:5px !important;
  }
  .site-header .logo-shell{
    width:88px !important;
    height:88px !important;
    flex:0 0 88px !important;
  }
  .site-header .brand .brand-copy .brand-name-desktop{
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
    color:#607985 !important;
    font-size:clamp(1.56rem,1.85vw,1.95rem) !important;
    line-height:1.08 !important;
    font-weight:560 !important;
    letter-spacing:-.018em !important;
    text-shadow:none !important;
  }
  .site-header .brand .brand-copy .brand-specialty-desktop{
    margin-top:4px !important;
    color:#4a8b98 !important;
    font-size:clamp(.92rem,1.04vw,1.04rem) !important;
    line-height:1.12 !important;
    font-weight:680 !important;
  }
  .site-header .brand .brand-copy .brand-wahlarzt{
    margin-top:7px !important;
    min-height:27px !important;
    padding:5px 14px !important;
    background:rgba(236,247,241,.78) !important;
    border:1px solid rgba(75,137,110,.18) !important;
    color:#5b826f !important;
    font-size:.68rem !important;
    font-weight:760 !important;
    letter-spacing:.045em !important;
    box-shadow:none !important;
  }
}
@media (max-width:1100px){
  .site-header .brand{
    gap:6px !important;
  }
  .site-header .logo-shell{
    width:74px !important;
    height:74px !important;
    flex:0 0 74px !important;
  }
  .site-header .brand .brand-copy .brand-name-mobile{
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
    color:#607985 !important;
    font-size:clamp(1.16rem,5.2vw,1.42rem) !important;
    line-height:1.06 !important;
    font-weight:600 !important;
    letter-spacing:-.018em !important;
    text-shadow:none !important;
  }
  .site-header .brand .brand-copy .brand-specialty-mobile{
    margin-top:4px !important;
    color:#4a8b98 !important;
    font-size:clamp(.82rem,3.7vw,.96rem) !important;
    line-height:1.10 !important;
    font-weight:680 !important;
  }
  .site-header .brand .brand-copy .brand-wahlarzt{
    margin-top:6px !important;
    min-height:25px !important;
    padding:5px 12px !important;
    background:rgba(236,247,241,.78) !important;
    border:1px solid rgba(75,137,110,.18) !important;
    color:#5b826f !important;
    font-size:.64rem !important;
    font-weight:760 !important;
    letter-spacing:.04em !important;
    box-shadow:none !important;
  }
}
@media (min-width:1101px){
  .site-header .brand .brand-copy .brand-name-desktop{
    font-size:clamp(1.72rem,2.05vw,2.12rem) !important;
  }
}
@media (max-width:1100px){
  .site-header .brand .brand-copy .brand-name-mobile{
    font-size:clamp(1.28rem,5.7vw,1.54rem) !important;
  }
}
@media (min-width:1101px){
  .site-header .brand .brand-copy .brand-name-desktop{
    font-size:clamp(1.90rem,2.30vw,2.38rem) !important;
  }
}
@media (max-width:1100px){
  .site-header .brand .brand-copy .brand-name-mobile{
    font-size:clamp(1.38rem,6.15vw,1.68rem) !important;
  }
}
@media (min-width:1101px){
  .site-header .brand .brand-copy .brand-name-desktop{
    font-size:clamp(2.35rem,3.20vw,3.35rem) !important;
    color:#607985 !important;
    font-weight:560 !important;
    line-height:1.02 !important;
    letter-spacing:-.028em !important;
    text-shadow:none !important;
  }
}
@media (max-width:1100px){
  .site-header .brand .brand-copy .brand-name-mobile{
    font-size:clamp(1.58rem,7vw,1.92rem) !important;
    color:#607985 !important;
    font-weight:600 !important;
    line-height:1.03 !important;
    letter-spacing:-.02em !important;
    text-shadow:none !important;
  }
}
body, main, main p, main li, main dd, main dt, main label, main small, main .text, main .copy, main .description, main .accordion-content, main .details-content, main .legal-content, main .contact-copy, main .cost-copy{
  color:#53646d !important;
}
main h1, main h2, main h3, main h4, main h5, main h6, .section-title, .card-title, .accordion-trigger, summary, .contact-title, .cost-title, .footer-name{
  color:#3f515a !important;
}
/* Navigation und heller Header: dunkles Grau statt Schwarz */
.site-header .nav-links a{
  color:#4a5d66 !important;
}
.site-header .nav-links a:hover, .site-header .nav-links a:focus-visible{
  color:#2f6f82 !important;
}
/* Markenname behält die aktuelle Blau-Grau-Farblogik */
.site-header .brand-name-desktop, .site-header .brand-name-mobile{
  color:#607985 !important;
}
/* Akzenttexte bleiben bewusst türkis/grün */
/* Weiße Schrift auf dunklen Flächen beibehalten */
:root{
  --text:#465b66 !important;
  --muted:#5d727c !important;
  --heading:#415763 !important;
}
/* Einheitliche Schriftfamilie überall */
html, body, button, input, textarea, select, a, p, span, strong, em, small, label, li, summary, h1,h2,h3,h4,h5,h6, .section-title, .section-kicker, .brand-name, .brand-specialty, .nav-links, .btn, .card, .accordion-item, footer{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
}
/* Schwarze/dunkle Texte auf harmonisches Dunkelgrau */
body{
  color:var(--text) !important;
}
h1,h2,h3,h4,h5,h6, .section-title{
  color:var(--heading) !important;
}
/* Headername etwas dunkler als bisher, aber nicht schwarz */
.site-header .brand .brand-copy .brand-name-desktop, .site-header .brand .brand-copy .brand-name-mobile{
  color:#4c626d !important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
}
/* Hero-Hauptüberschrift verwendet exakt dieselbe Schriftlogik */
.hero h1, .hero-copy h1{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  color:var(--heading) !important;
}
/* Fließtext gut lesbar und etwas weicher */
p, li, .card p, .accordion-content, .footer-location{
  color:var(--muted);
}
/* Akzenttexte bleiben bewusst farbig */
.section-kicker, .brand-specialty, a.btn, .btn, .ecard-notice, .badge, .pill{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
}
@media (min-width:1101px){
  .site-header .brand .brand-copy .brand-name-desktop{
    font-size:clamp(2.25rem,2.75vw,2.85rem) !important;
    line-height:1.02 !important;
  }
  .site-header .brand .brand-copy .brand-specialty-desktop{
    margin-top:7px !important;
    font-size:clamp(1.16rem,1.35vw,1.34rem) !important;
    line-height:1.10 !important;
  }
}
@media (max-width:1100px){
  .site-header .brand .brand-copy .brand-name-mobile{
    font-size:clamp(1.52rem,6.5vw,1.84rem) !important;
  }
  .site-header .brand .brand-copy .brand-specialty-mobile{
    font-size:clamp(.94rem,4.15vw,1.08rem) !important;
  }
}
@media (min-width:1101px){
  .site-header .brand .brand-copy .brand-name-desktop{
    font-size:clamp(2.35rem,2.9vw,2.85rem) !important;
    line-height:1.02 !important;
  }
}
@media (max-width:1100px){
  .site-header .brand .brand-copy .brand-name-mobile{
    font-size:clamp(1.60rem,6.8vw,1.92rem) !important;
    line-height:1.03 !important;
  }
}
@media (min-width:1101px){
  .hero{
    padding-top:96px !important;
  }
}
@media (max-width:1100px){
  .hero{
    padding-top:calc(var(--header-offset) + 82px) !important;
  }
}
@media (min-width:1101px){
  .hero{
    padding-top:52px !important;
  }
  .site-header .logo-shell{
    width:96px !important;
    height:96px !important;
    flex:0 0 96px !important;
  }
  .site-header .brand .brand-copy .brand-name-desktop{
    font-size:clamp(2.35rem,3.05vw,3.05rem) !important;
    line-height:1.02 !important;
  }
}
@media (max-width:1100px){
  .hero{
    padding-top:calc(var(--header-offset) + 44px) !important;
  }
  .site-header .logo-shell{
    width:92px !important;
    height:92px !important;
    flex:0 0 92px !important;
  }
  .site-header .brand .brand-copy .brand-name-mobile{
    font-size:clamp(1.70rem,7.2vw,2.05rem) !important;
    line-height:1.02 !important;
  }
}
@media (max-width:390px){
  .hero{
    padding-top:calc(var(--header-offset) + 40px) !important;
  }
  .site-header .logo-shell{
    width:84px !important;
    height:84px !important;
    flex-basis:84px !important;
  }
}
/* Galerie: Überschrift auf dunklem Hintergrund weiß */
#galerie h2, #galerie .section-title, #galerie .gallery-title{
  color:#ffffff !important;
}
#galerie, .cta-section, .site-footer, footer{
  color:#ffffff !important;
}
#galerie h1, #galerie h2, #galerie h3, #galerie h4, #galerie h5, #galerie h6, #galerie p, #galerie span, #galerie strong, #galerie small, #galerie li, #galerie a, #galerie .section-title, #galerie .section-kicker, .cta-section h1, .cta-section h2, .cta-section h3, .cta-section h4, .cta-section h5, .cta-section h6, .cta-section p, .cta-section span, .cta-section strong, .cta-section small, .cta-section li, .cta-section a, .site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6, .site-footer p, .site-footer span, .site-footer strong, .site-footer small, .site-footer li, .site-footer a, .site-footer button, footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, footer p, footer span, footer strong, footer small, footer li, footer a, footer button{
  color:#ffffff !important;
}
/* etwas weichere Abstufung für sekundären Text auf dunklem Grund */
#galerie .section-intro, .cta-section p, .site-footer .footer-specialty, .site-footer .footer-location, .site-footer .footer-bottom{
  color:rgba(255,255,255,.88) !important;
}
/* Icons/SVG übernehmen ebenfalls Weiß */
#galerie svg, .cta-section svg, .site-footer svg, footer svg{
  color:#ffffff !important;
  stroke:currentColor !important;
}
/* Buttons auf dunklen Flächen: Kontrast erhalten */
#galerie .btn-primary, .cta-section .btn-primary, .site-footer .btn-primary, footer .btn-primary{
  color:#ffffff !important;
}
#galerie .btn-white, .cta-section .btn-white, .site-footer .btn-white, footer .btn-white, #galerie .btn-outline, .cta-section .btn-outline, .site-footer .btn-outline, footer .btn-outline{
  color:#2f6678 !important;
}
/* Galerie-Kicker: Striche vor/nach „ORDINATION“ auf dunklem Hintergrund weiß */
#galerie .section-kicker::before, #galerie .section-kicker::after, #galerie .eyebrow::before, #galerie .eyebrow::after{
  background:#ffffff !important;
  border-color:#ffffff !important;
  color:#ffffff !important;
}
/* Footer: Name explizit weiß */
.site-footer .footer-name, footer .footer-name{
  color:#ffffff !important;
}




@media (min-width:1101px){
  .hero{
    padding-top:22px !important;
  }
}
@media (max-width:760px){
  
  
  
}
@media (min-width:1101px){
  .site-header{
    padding-top:22px !important;
    padding-bottom:18px !important;
  }
  .site-header .logo-shell{
    width:108px !important;
    height:108px !important;
    flex:0 0 108px !important;
  }
  .site-header .brand{
    gap:11px !important;
  }
  .site-header .brand .brand-copy .brand-name-desktop{
    font-size:clamp(2.55rem,3.25vw,3.30rem) !important;
    line-height:1.01 !important;
  }
  .site-header .brand .brand-copy .brand-specialty-desktop{
    margin-top:8px !important;
    font-size:clamp(1.20rem,1.35vw,1.42rem) !important;
    line-height:1.08 !important;
  }
  .site-header .brand .brand-copy .brand-wahlarzt{
    margin-top:11px !important;
    padding:7px 16px !important;
    font-size:.78rem !important;
  }
  .site-header .nav-bar{
    row-gap:18px !important;
  }
  .site-header .nav-links{
    padding-top:16px !important;
    gap:clamp(30px,3vw,54px) !important;
  }
  .site-header .nav-links a{
    font-size:1.04rem !important;
  }
  .site-header .nav-book-btn{
    min-height:48px !important;
    padding:0 22px !important;
    font-size:1rem !important;
  }
}
@media (max-width:1100px){
  .site-header{
    padding-top:17px !important;
    padding-bottom:18px !important;
  }
  .site-header .logo-shell{
    width:98px !important;
    height:98px !important;
    flex:0 0 98px !important;
  }
  .site-header .brand .brand-copy .brand-name-mobile{
    font-size:clamp(1.82rem,7.5vw,2.18rem) !important;
  }
  .site-header .brand .brand-copy .brand-specialty-mobile{
    font-size:clamp(1.04rem,4.5vw,1.20rem) !important;
  }
}
@media (max-width:390px){
  .site-header .logo-shell{
    width:88px !important;
    height:88px !important;
    flex-basis:88px !important;
  }
}
.cta-section{
  background:#62889a !important;
  color:#ffffff !important;
}
.cta-section h1, .cta-section h2, .cta-section h3, .cta-section p, .cta-section span, .cta-section strong, .cta-section a:not(.btn){
  color:#ffffff !important;
}
@media (min-width:1101px){
  .site-header .nav-bar{
    align-items:end !important;
  }
  .site-header .nav-links{
    align-items:center !important;
  }
  .site-header .nav-actions{
    align-self:end !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    margin:0 !important;
    padding:0 !important;
  }
  .site-header .nav-book-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    transform:none !important;
    vertical-align:middle !important;
  }
}
a.btn[href*="app.cituro.com/booking"]{
  background:#397f94 !important;
  border-color:#397f94 !important;
  color:#ffffff !important;
  box-shadow:0 10px 24px rgba(57,127,148,.20) !important;
}
a.btn[href*="app.cituro.com/booking"]:hover, a.btn[href*="app.cituro.com/booking"]:focus-visible{
  background:#2f6f82 !important;
  border-color:#2f6f82 !important;
  color:#ffffff !important;
}
/* Header ist nicht fixiert: beim Anspringen nur kleiner optischer Abstand */
section[id], #ueber-mich, #bewertungen, #leistungen, #erkrankungen, #kosten, #kontakt{
  scroll-margin-top:18px !important;
}
/* Alle Cituro-Terminbuttons optisch und typografisch identisch */
a.btn[href*="app.cituro.com/booking"], .site-header a.nav-book-btn[href*="app.cituro.com/booking"]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:48px !important;
  padding:0 22px !important;
  border:1px solid #397f94 !important;
  border-radius:14px !important;
  background:#397f94 !important;
  color:#ffffff !important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:1rem !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  box-shadow:0 10px 24px rgba(57,127,148,.20) !important;
  transform:none !important;
  white-space:nowrap !important;
}
a.btn[href*="app.cituro.com/booking"]:hover, a.btn[href*="app.cituro.com/booking"]:focus-visible, .site-header a.nav-book-btn[href*="app.cituro.com/booking"]:hover, .site-header a.nav-book-btn[href*="app.cituro.com/booking"]:focus-visible{
  background:#2f6f82 !important;
  border-color:#2f6f82 !important;
  color:#ffffff !important;
}
a.btn[href*="app.cituro.com/booking"] svg, .site-header a.nav-book-btn[href*="app.cituro.com/booking"] svg{
  width:18px !important;
  height:18px !important;
  flex:0 0 18px !important;
}
@media (min-width:1101px){
  .site-header .brand .brand-copy .brand-name-desktop{
    font-size:clamp(2.85rem,3.7vw,3.75rem) !important;
    line-height:1.0 !important;
  }
}
@media (max-width:1100px){
  .site-header .brand .brand-copy .brand-name-mobile{
    font-size:clamp(2.00rem,8.0vw,2.38rem) !important;
    line-height:1.0 !important;
  }
}
@media (max-width:390px){
  .site-header .brand .brand-copy .brand-name-mobile{
    font-size:1.82rem !important;
  }
}
html{
  scroll-padding-top:var(--header-offset) !important;
}
section[id], #top, #ueber-mich, #bewertungen, #leistungen, #erkrankungen, #galerie, #kosten, #kontakt, #agb, #datenschutz, #impressum{
  scroll-margin-top:var(--header-offset) !important;
}
@media (min-width:1101px){
  .site-header .logo-shell{
    width:122px !important;
    height:122px !important;
    flex:0 0 122px !important;
  }
}
@media (max-width:1100px){
  .site-header .logo-shell{
    width:106px !important;
    height:106px !important;
    flex:0 0 106px !important;
  }
}
@media (max-width:390px){
  .site-header .logo-shell{
    width:94px !important;
    height:94px !important;
    flex-basis:94px !important;
  }
}
.site-header .brand-wahlarzt{
  color:var(--accent) !important;
}
.site-header .brand .brand-copy .brand-specialty-desktop, .site-header .brand .brand-copy .brand-specialty-mobile, .site-header .brand .brand-copy .brand-wahlarzt{
  color:#4a8b98 !important;
}
@media (max-width:1100px){
  .site-header a.nav-book-btn, .site-header a.nav-book-btn[href*="app.cituro.com/booking"]{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
  .site-header .mobile-toggle{
    display:inline-flex !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  .site-header .nav-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
  }
}



@media (max-width:760px){
  
  
  
}
.trust-item > span[data-icon="check"] svg{
  width:16px !important;
  height:16px !important;
  stroke:#5c9d53 !important;
  stroke-width:2.4 !important;
  color:#5c9d53 !important;
}
@media (max-width:760px){
  .trust-item > span[data-icon="check"]{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    flex-basis:26px !important;
  }
  .trust-item > span[data-icon="check"] svg{
    width:15px !important;
    height:15px !important;
  }
}
.trust-item > span[data-icon="check"]{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  flex:0 0 30px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:#eef8ec !important;
  border:1px solid rgba(91,157,82,.28) !important;
  color:#5b9d52 !important;
  box-shadow:0 3px 8px rgba(74,126,68,.08) !important;
  font-size:18px !important;
  font-weight:900 !important;
  line-height:1 !important;
}
.trust-item > span[data-icon="check"] svg{
  display:none !important;
}
.trust-item > span[data-icon="check"]::before{
  content:"✓" !important;
  display:block !important;
  color:#5b9d52 !important;
  font-family:Arial,sans-serif !important;
  font-size:18px !important;
  font-weight:900 !important;
  line-height:1 !important;
  transform:translateY(-1px);
}
@media (max-width:760px){
  .trust-item > span[data-icon="check"]{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    flex-basis:28px !important;
  }
  .trust-item > span[data-icon="check"]::before{
    font-size:17px !important;
  }
}
.site-header .brand .brand-copy .brand-wahlarzt{
  display:inline-grid !important;
  place-items:center !important;
  box-sizing:border-box !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 16px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  line-height:1 !important;
  vertical-align:middle !important;
  font-style:normal !important;
  transform:none !important;
  position:static !important;
}
@media (max-width:760px){
  .site-header .brand .brand-copy .brand-wahlarzt{
    height:34px !important;
    min-height:34px !important;
    padding:0 14px !important;
  }
}

@media (max-width:900px){
  
  
}
@media (max-width:760px){
  
  
  
}
@media (max-width:390px){
  
}



@media (max-width:760px){
  
  
}
@media (max-width:390px){
  
}
/* Alle klassischen CTA-Buttons exakt gleich */
a.btn, button.btn, .site-header .nav-book-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:50px !important;
  padding:0 22px !important;
  border:1px solid #4f8f9f !important;
  border-radius:12px !important;
  background:#4f8f9f !important;
  color:#ffffff !important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:1rem !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-align:center !important;
  box-shadow:0 8px 18px rgba(57,127,148,.16) !important;
  transform:none !important;
  white-space:nowrap !important;
}
a.btn:hover, a.btn:focus-visible, button.btn:hover, button.btn:focus-visible, .site-header .nav-book-btn:hover, .site-header .nav-book-btn:focus-visible{
  background:#3f7f90 !important;
  border-color:#3f7f90 !important;
  color:#ffffff !important;
  transform:translateY(-1px) !important;
  box-shadow:0 10px 22px rgba(57,127,148,.22) !important;
}
a.btn svg, button.btn svg, .site-header .nav-book-btn svg{
  width:18px !important;
  height:18px !important;
  flex:0 0 18px !important;
  color:#ffffff !important;
  stroke:currentColor !important;
}
/* "Mehr erfahren" in Akkordeons/Rechtlichem ebenfalls in Termin-Farbe */
.click-hint, .legal-card-more{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:0 17px !important;
  margin-top:12px !important;
  border:1px solid #4f8f9f !important;
  border-radius:10px !important;
  background:#4f8f9f !important;
  color:#ffffff !important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:.90rem !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  box-shadow:0 6px 14px rgba(57,127,148,.13) !important;
}
/* Sicherstellen, dass alte Sekundärbutton-Regeln nicht mehr greifen */
.btn-outline, .btn-white{
  background:#4f8f9f !important;
  border-color:#4f8f9f !important;
  color:#ffffff !important;
}
/* CTA-Titel exakt in derselben Typologik wie "Einblicke in die Ordination" */
.cta-section h2{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:clamp(1.9rem,3.5vw,3rem) !important;
  line-height:1.12 !important;
  font-weight:500 !important;
  letter-spacing:-.02em !important;
  color:#ffffff !important;
  margin:0 auto 14px !important;
}
.cta-section h2::after{
  content:"" !important;
  display:block !important;
  width:72px !important;
  height:3px !important;
  margin:12px auto 0 !important;
  border-radius:999px !important;
  background:#ffffff !important;
  opacity:.88 !important;
}
/* Das neue Portrait sauber und hochwertig darstellen */
.hero-card img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:3 / 4 !important;
  object-fit:cover !important;
  object-position:center 42% !important;
  border-radius:22px !important;
}
/* Mobil: gleiche Buttons, nur besser nutzbare Breite */
@media (max-width:760px){
  .hero-actions .btn, .cta-section .btn{
    width:100% !important;
  }
  .click-hint, .legal-card-more{
    min-height:38px !important;
    padding:0 15px !important;
    font-size:.88rem !important;
  }
}
main .hero-actions{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
}
main a.btn, main button.btn{
  display:flex !important;
  width:260px !important;
  max-width:calc(100% - 24px) !important;
  min-height:50px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
main .click-hint, main .legal-card-more{
  display:flex !important;
  width:260px !important;
  max-width:calc(100% - 24px) !important;
  min-height:40px !important;
  margin:12px auto 0 !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
main .cta-section .container{
  text-align:center !important;
}
main .cta-section .btn{
  margin-top:18px !important;
}
/* Auch dynamisch eingeblendete Inhaltsbuttons sauber zentrieren */
main .external-privacy-placeholder .btn{
  margin-left:auto !important;
  margin-right:auto !important;
}
@media (max-width:760px){
  main a.btn, main button.btn, main .click-hint, main .legal-card-more{
    width:min(320px, calc(100% - 24px)) !important;
    max-width:calc(100% - 24px) !important;
  }
}
:root{
  --page-content-max:1180px;
  --page-gutter-desktop:24px;
  --page-gutter-mobile:12px;
}
/* Jede Hauptsektion verwendet exakt dieselbe horizontale Achse. */
main > section > .container, main > .hero > .container, main > .section > .container, main > .cta-section > .container, main > .legal-section > .container{
  width:min(var(--page-content-max), calc(100% - 48px)) !important;
  max-width:var(--page-content-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
/* Keine Sektion darf durch eigene Seiten-Paddings aus der Mittelachse rutschen. */
main > section{
  padding-left:0 !important;
  padding-right:0 !important;
}
/* Zentrierte Bereiche behalten überall dieselbe Mittelachse. */
main .centered-head, main .about-centered-head, main .gallery-head, main .cta-section .container{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
main .section-title, main .section-intro{
  margin-left:auto !important;
  margin-right:auto !important;
}
/* Hero sauber auf derselben Seitenachse halten. */
main .hero-grid{
  margin-left:auto !important;
  margin-right:auto !important;
}
/* Alle Inhalts-CTA-Buttons auf exakt derselben vertikalen Mittelachse. */
main .hero-actions, main .cta-section .container{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}
main .hero-actions{
  gap:12px !important;
}
main a.btn, main button.btn, main .click-hint, main .legal-card-more{
  width:260px !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  justify-content:center !important;
  text-align:center !important;
}
/* Karten/Raster dürfen nie über das gemeinsame Seitenraster hinausragen. */
main .about-grid, main .service-grid, main .condition-grid, main .contact-grid, main .fee-grid, main .practice-notes, main .docfinder-gallery, main .gallery-grid, main .legal-grid{
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
@media (max-width:760px){
  main > section > .container, main > .hero > .container, main > .section > .container, main > .cta-section > .container, main > .legal-section > .container{
    width:calc(100% - 24px) !important;
    max-width:none !important;
  }
  main a.btn, main button.btn, main .click-hint, main .legal-card-more{
    width:min(100%, 320px) !important;
  }
}
@media (max-width:390px){
  main > section > .container, main > .hero > .container, main > .section > .container, main > .cta-section > .container, main > .legal-section > .container{
    width:calc(100% - 20px) !important;
  }
}
@media (max-width:760px), (min-width:1101px){
  html{
    scroll-padding-top:14px !important;
  }
  section[id], #top,#ueber-mich,#bewertungen,#leistungen,#erkrankungen,#galerie,#kosten,#kontakt, #rechtliches,#agb,#datenschutz,#impressum{
    scroll-margin-top:14px !important;
  }
}

/* FINAL: Alle "Mehr erfahren"-Buttons kompakt wie im Bereich Rechtliches */
main .click-hint,
main .legal-card-more,
main .hero-actions a.btn[href="#ueber-mich"]{
  width:max-content !important;
  min-width:0 !important;
  max-width:100% !important;
  flex:0 0 auto !important;
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:15px !important;
  padding-right:15px !important;
}

@media (max-width:760px){
  main .click-hint,
  main .legal-card-more,
  main .hero-actions a.btn[href="#ueber-mich"]{
    width:max-content !important;
    min-width:0 !important;
    max-width:calc(100% - 24px) !important;
  }
}

/* MOBILE: alle Plus/Minus-Symbole bei aufklappbaren Rubriken entfernen */
@media (max-width:760px){
  .accordion-summary::after,
  .mobile-section-summary::after,
  .condition-pill::after,
  .docfinder-mobile-summary::after{
    display:none !important;
    content:none !important;
    background:none !important;
    border:0 !important;
  }

  .about-summary,
  .contact-summary,
  .service-group > .accordion-summary,
  .condition-group > .accordion-summary,
  .legal-group > .accordion-summary,
  #leistungen .mobile-section-summary,
  #erkrankungen .mobile-section-summary,
  #kosten .cost-group > .mobile-section-summary,
  .docfinder-mobile-summary{
    padding-right:20px !important;
  }

  #leistungen .mobile-section-summary,
  #erkrankungen .mobile-section-summary,
  #kosten .cost-group > .mobile-section-summary{
    padding-left:20px !important;
  }
}

/* FOOTER: Logo deutlich kleiner */
.site-footer .footer-brand .logo-shell{
  width:40px !important;
  height:40px !important;
  flex:0 0 40px !important;
}

@media (max-width:760px){
  .site-footer .footer-brand .logo-shell{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
  }
}

/* MOBILE: Nur bei einzelnen Erkrankungen wieder +/- als Aufklapphinweis anzeigen */
@media (max-width:760px){
  #erkrankungen .condition-pill::after{
    display:inline-block !important;
    content:"" !important;
    box-sizing:border-box !important;
    width:18px !important;
    height:18px !important;
    flex:0 0 18px !important;
    border-radius:50% !important;
    border:1px solid var(--line) !important;
    background-color:var(--accent-soft) !important;
    background-image:
      linear-gradient(currentColor,currentColor),
      linear-gradient(currentColor,currentColor) !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-size:8px 1.5px,1.5px 8px !important;
    color:var(--accent) !important;
  }

  #erkrankungen .condition-detail[open] .condition-pill::after{
    background-image:linear-gradient(currentColor,currentColor) !important;
    background-size:8px 1.5px !important;
  }
}

/* ÜBER MICH: Kopfbereich exakt wie die übrigen Haupt-Rubriken */
#ueber-mich .about-summary .section-kicker{
  margin-left:auto !important;
  margin-right:auto !important;
}

/* RECHTLICHES: Haupt-Rubrik nach derselben Logik wie Leistungen/Kosten/Kontakt */
#rechtliches .legal-main-group{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

#rechtliches .legal-main-summary{
  padding:0 !important;
}

#rechtliches .legal-main-summary .centered-head{
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
}

#rechtliches .legal-main-summary .section-kicker,
#rechtliches .legal-main-summary .section-title,
#rechtliches .legal-main-summary .click-hint{
  margin-left:auto !important;
  margin-right:auto !important;
}

#rechtliches .legal-main-group[open] > .legal-main-summary{
  margin-bottom:28px !important;
}

#rechtliches .legal-main-content{
  width:100%;
}

/* Der alte kompakte Einzel-Heading wird nicht mehr verwendet. */
#rechtliches .legal-compact-heading{
  display:none !important;
}

/* Mobil weiterhin keine +/- an der Haupt-Rubrik Rechtliches. */
@media (max-width:760px){
  #rechtliches .legal-main-summary::after{
    display:none !important;
    content:none !important;
  }

  #rechtliches .legal-main-group[open] > .legal-main-summary{
    margin-bottom:22px !important;
  }
}


/* =========================================================
   Desktop Hero – 2026-10-07 v15
   Profilbild bleibt kompakt; seitliche Gestaltung statt Vergrößerung.
   ========================================================= */
@media (min-width:1101px){
  .hero{
    position:relative !important;
    overflow:hidden !important;
    isolation:isolate !important;
    background:
      linear-gradient(180deg,#f7fbfc 0%,#ffffff 52%,#f7fbfc 100%) !important;
  }
  
  
  
  .hero > .container,
  .hero .hero-grid{
    position:relative !important;
    z-index:1 !important;
  }
  .hero-visual{
    width:340px !important;
    max-width:340px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .hero-card{
    padding:9px !important;
    border-radius:24px !important;
    border:1px solid rgba(82,145,165,.20) !important;
    background:#ffffff !important;
    box-shadow:0 12px 30px rgba(45,82,103,.12) !important;
  }
  .hero-card img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:3 / 4 !important;
    object-fit:cover !important;
    object-position:center 42% !important;
    border-radius:18px !important;
  }
}


/* HERO HOTFIX 2026-10-07 v16 */

/* Mobile: Hinweis -> Profilbild -> Hero-Text. Keine Doppelanzeige. */
@media (max-width:1100px){
  .hero .hero-grid{display:grid !important;grid-template-columns:minmax(0,1fr) !important;}
  
  .hero .hero-visual{order:2 !important;grid-column:1 !important;}
  .hero .hero-copy{order:3 !important;grid-column:1 !important;}
  .hero .hero-visual.reveal,
  .js .hero .hero-visual.reveal{opacity:1 !important;transform:none !important;visibility:visible !important;}
  
  
  
}
@media (max-width:760px){
  .hero{padding-top:34px !important;}
  .hero .hero-grid{gap:24px !important;}
  
  
  
  .hero .hero-visual{width:76% !important;max-width:340px !important;margin:0 auto 4px !important;display:block !important;}
  .hero .hero-card{width:100% !important;padding:8px !important;border-radius:22px !important;}
  .hero .hero-card img{display:block !important;width:100% !important;height:auto !important;max-height:none !important;object-fit:contain !important;border-radius:18px !important;}
}

/* Desktop: Bild bleibt kompakt; kein seitliches Balkendekor. */
@media (min-width:1101px){
  .hero{position:relative !important;overflow:hidden !important;isolation:isolate !important;}
  
  
  
  .hero > .container,.hero .hero-grid{position:relative !important;z-index:1 !important;}
  
  
  .hero .hero-visual{width:340px !important;max-width:340px !important;margin-left:auto !important;margin-right:auto !important;}
  .hero .hero-card img{aspect-ratio:auto !important;object-fit:contain !important;object-position:center !important;}
}



/* === RHEUMAINTERNIST 2026-10-08: konsolidierte Layoutkorrekturen ===
   Die alten, einander widersprechenden e-card-Styles wurden entfernt.
   Bestehende Farben, Bildeffekte, Texte und Akkordeon-Logik bleiben erhalten. */

/* Barrierefreier Sprunglink: nur sichtbar bei Tastaturfokus. */
a.skip-link {
  position:fixed !important;
  inset:8px auto auto 12px !important;
  z-index:3000 !important;
  transform:translateY(-180px) !important;
  display:inline-flex !important;
  background:#fff !important;
  color:#244d5c !important;
  padding:9px 15px !important;
  border-radius:9px !important;
  box-shadow:0 4px 18px rgba(0,0,0,.16) !important;
}
a.skip-link:focus, a.skip-link:focus-visible {
  transform:none !important;
}

/* Header und hero im Dokumentenfluss halten: kein verdeckter Inhalt. */
.site-header {
  position:relative !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
}
.hero { padding-top:24px !important; }
html { scroll-padding-top:12px !important; }
section[id], #top, #ueber-mich, #bewertungen, #leistungen,
#erkrankungen, #galerie, #kosten, #kontakt, #agb, #datenschutz, #impressum {
  scroll-margin-top:12px !important;
}

/* Konsolidierter Hinweis (genau ein Textblock, zwei responsive Textlängen). */
.hero .ecard-notice {
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) !important;
  align-items:center !important;
  gap:12px !important;
  width:fit-content !important;
  max-width:100% !important;
  margin:0 auto 16px !important;
  padding:12px 16px !important;
  border:1px solid rgba(64,132,151,.20) !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 8px 22px rgba(45,82,103,.08) !important;
  text-align:left !important;
}
.hero .ecard-notice-icon {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  margin:0 !important;
  border-radius:50% !important;
  background:#eef7f9 !important;
  color:#3b879b !important;
}
.hero .ecard-notice-icon svg {width:20px!important;height:20px!important;}
.hero .ecard-notice > .ecard-notice-text-desktop {
  display:block !important;
  min-width:0 !important;
  width:auto !important;
  line-height:1.4 !important;
  font-size:.94rem !important;
  overflow-wrap:break-word !important;
}
.hero .ecard-notice > .ecard-notice-text-desktop strong {
  display:inline !important;
  color:#355f70 !important;
  margin:0 !important;
}
.hero .ecard-copy-short { display:none !important; }
.hero .ecard-copy-long { display:inline !important; }
@media(max-width:767px){
  .hero .ecard-copy-short { display:inline !important; }
  .hero .ecard-copy-long { display:none !important; }
  .hero .ecard-notice {grid-template-columns:30px minmax(0,1fr)!important;gap:10px!important;padding:12px!important;}
  .hero .ecard-notice-icon {width:30px!important;height:30px!important;min-width:30px!important;}
  .hero .ecard-notice > .ecard-notice-text-desktop{font-size:.89rem!important;line-height:1.38!important;}
}

/* Gleiche Seitenachsen, kein Überstand von Karten oder Text. */
main .container {max-width:100%;}
main .contact-grid,main .contact-card,main .contact-meta,
main .contact-line,main .contact-copy,main .map-card {
  min-width:0 !important;
  box-sizing:border-box !important;
}
main .contact-card,main .map-card {max-width:100%!important;}
main .contact-value {overflow-wrap:anywhere!important;word-break:normal!important;}
@media(max-width:600px){
  main .contact-grid {grid-template-columns:minmax(0,1fr)!important;width:100%!important;}
  main .contact-card,main .map-card {width:100%!important;padding:clamp(12px,4vw,20px)!important;}
  main .contact-meta {width:100%!important;}
  main .contact-line {width:100%!important;grid-template-columns:34px minmax(0,1fr)!important;gap:10px!important;}
  main .contact-ic {width:34px!important;height:34px!important;}
}

/* Weniger große Abstände in der Startsektion; Foto- und Verlaufsgestaltung bleibt. */
@media(min-width:1101px){
  .site-header { padding:12px 0 10px !important; }
  .site-header .nav-bar {
    display:grid !important;
    grid-template-areas:"brand brand" "navigation action" !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:auto auto !important;
    gap:8px 12px !important;
    align-items:center !important;
    justify-items:stretch !important;
    min-height:0 !important;
    height:auto !important;
  }
  .site-header .nav-bar::before {display:none!important;content:none!important;}
  .site-header .brand {
    grid-area:brand !important;
    grid-column:1/-1 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    justify-self:center !important;
    gap:3px !important;
    margin:0 !important;
    padding:0 !important;
    min-height:0 !important;
  }
  .site-header .logo-shell {
    width:65px !important;height:65px !important;
    flex:0 0 65px !important;
  }
  .site-header .brand-copy {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:0 !important;
  }
  .site-header .brand .brand-copy .brand-name-desktop {
    font-size:clamp(2.0rem,2.45vw,2.55rem) !important;
    line-height:1.05 !important;
  }
  .site-header .brand .brand-copy .brand-specialty-desktop {
    font-size:clamp(.98rem,1.13vw,1.16rem) !important;
    line-height:1.15 !important;
    margin-top:3px !important;
  }
  .site-header .brand .brand-copy .brand-wahlarzt {
    height:27px !important;
    min-height:27px !important;
    padding:0 12px !important;
    margin:6px auto 0 !important;
    font-size:.69rem !important;
  }
  .site-header .nav-links {
    grid-area:navigation !important;
    grid-column:1 !important;
    grid-row:2 !important;
    display:flex !important;
    justify-self:center !important;
    justify-content:center !important;
    align-items:center !important;
    gap:clamp(8px,1.4vw,26px) !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
  }
  .site-header .nav-links a {font-size:.95rem!important;padding:5px 6px!important;}
  .site-header .nav-actions {
    grid-area:action !important;
    grid-column:2 !important;
    grid-row:2 !important;
    align-self:center !important;
    justify-self:end !important;
    margin:0 !important;
  }
  .hero .hero-grid {row-gap:18px !important;}
  .hero .ecard-notice {margin-bottom:4px!important;}
}
@media(max-width:1100px){
  .site-header { padding-top:12px!important;padding-bottom:12px!important; }
  .hero {padding-top:18px !important;}
  .hero .hero-grid {row-gap:20px !important;}
  .hero .ecard-notice {margin:0 auto 4px!important;}
}
@media(max-width:760px){
  .site-header .nav-bar {min-height:0!important;}
  .site-header .logo-shell {width:72px!important;height:72px!important;flex:0 0 72px!important;}
  .site-header .brand .brand-copy .brand-name-mobile {
    font-size:clamp(1.38rem,6.5vw,1.76rem)!important;
    white-space:normal!important;
    text-wrap:balance!important;
    line-height:1.08!important;
  }
  .site-header .brand .brand-copy .brand-specialty-mobile {font-size:clamp(.85rem,3.9vw,1.05rem)!important;}
  .site-header .brand .brand-copy .brand-wahlarzt {height:27px!important;min-height:27px!important;padding:0 12px!important;}
  .hero .hero-grid {gap:20px!important;}
  /* Nur mobil: die Kicker-Zeile samt beiden Zierstrichen zentrieren. */
  .hero .hero-copy > .section-kicker {
    display:flex;
    width:fit-content;
    max-width:100%;
    margin-inline:auto;
    justify-content:center;
    text-align:center;
  }
}
@media(max-width:350px){
  .site-header .logo-shell {width:62px!important;height:62px!important;flex:0 0 62px!important;}
  .site-header .brand .brand-copy .brand-name-mobile {font-size:1.31rem!important;}
}
@media(prefers-reduced-motion:reduce){
  html {scroll-behavior:auto!important;}
  *, *::before,*::after {scroll-behavior:auto!important;}
}

/* Aus dem HTML in die zentrale CSS-Datei übernommene Regeln. */

/* desktop-profile-side-gradient-stronger */

@media (min-width:1101px){
  .hero{
    position:relative !important;
    overflow:hidden !important;
    background:linear-gradient(90deg,#e5f0f6 0%,#edf6f9 20%,#fbfdfe 42%,#fbfdfe 58%,#edf6f9 80%,#e5f0f6 100%) !important;
  }
  .hero .container,
  .hero .hero-grid{
    position:relative !important;
    z-index:1 !important;
  }
  .hero .hero-visual{
    position:relative !important;
    isolation:isolate !important;
    z-index:2 !important;
    overflow:visible !important;
  }
  .hero .hero-visual::before,
  .hero .hero-visual::after{
    content:"" !important;
    position:absolute !important;
    top:50% !important;
    width:clamp(420px, 34vw, 620px) !important;
    height:clamp(320px, 30vw, 500px) !important;
    transform:translateY(-50%) !important;
    pointer-events:none !important;
    z-index:-1 !important;
    opacity:1 !important;
    filter:blur(1px) !important;
  }
  .hero .hero-visual::before{
    right:calc(100% + 18px) !important;
    background:
      radial-gradient(ellipse at 90% 50%, rgba(196,220,231,.96) 0%, rgba(204,226,236,.88) 22%, rgba(215,233,240,.70) 40%, rgba(226,239,245,.46) 58%, rgba(238,246,249,.24) 72%, rgba(251,253,254,0) 88%) !important;
  }
  .hero .hero-visual::after{
    left:calc(100% + 18px) !important;
    background:
      radial-gradient(ellipse at 10% 50%, rgba(196,220,231,.96) 0%, rgba(204,226,236,.88) 22%, rgba(215,233,240,.70) 40%, rgba(226,239,245,.46) 58%, rgba(238,246,249,.24) 72%, rgba(251,253,254,0) 88%) !important;
  }
}


/* ecard-notice-layout-fix-v2 */

/* One notice text container. Two inline phrases swap only on narrow viewports. */
.ecard-notice > .ecard-notice-text-desktop {
  display: inline !important;
  min-width: 0;
}
.ecard-notice .ecard-copy-short { display: none !important; }
@media (max-width: 767px) {
  .ecard-notice .ecard-copy-long { display: none !important; }
  .ecard-notice .ecard-copy-short { display: inline !important; }
}


/* rubrik-plus-minus-entfernt */

/* Nur die vier Haupt-Rubriken: Plus/Minus-Markierungen ausblenden.
   Aufklappen, Pfeil bei „Mehr erfahren“ und sonstiges Design bleiben erhalten. */
#ueber-mich-details > .about-summary::after,
#leistungen-mobile-details > .mobile-section-summary::after,
#erkrankungen-mobile-details > .mobile-section-summary::after,
#kontakt-details > .contact-summary::after {
  display: none !important;
  content: none !important;
  background-image: none !important;
}
#erkrankungen-mobile-details > .mobile-section-summary .krankheitsbilder-toggle-icon {
  display: none !important;
}


/* ============================================================
   RESPONSIVE FINALISIERUNG 2026-10-08-3
   Eine zentrale Nachsteuerung für Tablet/Desktop; Mobil-Design
   und alle Inhalte bleiben unangetastet.
   ============================================================ */

/* Tablet: Foto nicht auf 520px anwachsen lassen; Inhalt direkt
   darunter zentriert präsentieren, statt unter die Falz zu rutschen. */
@media (min-width:761px) and (max-width:1100px) {
  .hero .hero-grid {
    grid-template-columns:minmax(0,1fr) !important;
    row-gap:14px !important;
  }
  .hero .hero-visual {
    width:min(320px, 70%) !important;
    max-width:320px !important;
    margin:0 auto 8px !important;
  }
  .hero .hero-copy {
    width:100% !important;
    max-width:850px !important;
    margin:0 auto !important;
    text-align:center !important;
  }
  .hero .hero-copy .section-kicker {
    margin-left:auto !important;
    margin-right:auto !important;
    justify-content:center !important;
  }
  .hero .hero-copy h1,
  .hero .hero-copy > p {
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .hero .hero-copy h1 {
    font-size:clamp(2.1rem,4.8vw,3.25rem) !important;
    max-width:780px !important;
  }
  .hero .hero-copy .trust-row {
    max-width:750px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:left !important;
  }
  .hero .booking-privacy-note {max-width:690px !important;}
}

/* Desktop: kompakterer, weiterhin mittig ausgerichteter Markenkopf.
   Die Navigation und die Bild-/Farbgestaltung bleiben bestehen. */
@media (min-width:1101px) {
  .site-header {padding:8px 0 8px !important;}
  .site-header .nav-bar {gap:5px 10px !important;}
  .site-header .logo-shell {
    width:112px !important;
    height:112px !important;
    flex:0 0 112px !important;
  }
  .site-header .brand {gap:2px !important;}
  .site-header .brand .brand-copy .brand-name-desktop {
    font-size:clamp(1.85rem,2.15vw,2.24rem) !important;
    line-height:1.06 !important;
  }
  .site-header .brand .brand-copy .brand-specialty-desktop {
    font-size:clamp(.93rem,1.02vw,1.08rem) !important;
    margin-top:2px !important;
  }
  .site-header .brand .brand-copy .brand-wahlarzt {
    min-height:24px !important;
    height:24px !important;
    margin:4px auto 0 !important;
    padding:0 11px !important;
  }
  .site-header .nav-links {
    min-height:42px !important;
    padding:0 !important;
    gap:clamp(8px,1.4vw,26px) !important;
  }
  .site-header .nav-links a {
    font-size:.94rem !important;
    padding:5px 6px !important;
  }
  .site-header .nav-book-btn {min-height:44px !important;}
  .hero .hero-copy .section-kicker {margin-bottom:10px !important;}
  .hero .hero-copy h1 {margin-bottom:14px !important;}
  .hero .hero-copy > p:not(.booking-privacy-note) {margin-bottom:18px !important;}
  .hero .hero-actions {margin-bottom:23px !important;}
}

/* Inhaltsbreiten: Texte und Icons sicher innerhalb der Spalten. */
@media (max-width:1100px) {
  .hero-copy,.hero-visual,.service-grid,.condition-grid,.contact-grid,
  .contact-meta,.contact-copy,.contact-line {min-width:0 !important;}
}

/* Bedienbarkeit: aufklebbare Sprunglinks nur fokussiert, nicht dauerhaft sichtbar. */
.skip-link:not(:focus):not(:focus-visible) {pointer-events:none !important;}

/* Zentrierung der Desktop-Navigation unabhängig vom Buchungsbutton. */
@media (min-width:1101px) {
  .site-header .nav-bar {
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;
    grid-template-areas:"brand brand brand" ". navigation action" !important;
  }
  .site-header .brand {grid-column:1 / -1 !important;grid-row:1 !important;}
  .site-header .nav-links {
    grid-area:navigation !important;
    grid-column:2 !important;
    grid-row:2 !important;
    justify-self:center !important;
    width:max-content !important;
    min-width:0 !important;
  }
  .site-header .nav-actions {
    grid-area:action !important;
    grid-column:3 !important;
    grid-row:2 !important;
    justify-self:end !important;
  }
}

/* Desktop: gezielte Schriftgrößen – 13.10.2026 */
@media screen and (min-width:1101px) {
  html body .site-header .brand .brand-copy strong.brand-name-desktop {
    font-size:48px !important;
  }
  html body .site-header .brand .brand-copy span.brand-specialty-desktop {
    font-size:28px !important;
  }
}
