
:root{--ink:#15242b;--muted:#66757c;--blue:#cfe8f1;--blue2:#eaf6fa;--paper:#fbfcfc;--line:#dce5e8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration:none}.wrap{max-width:1280px;margin:auto;padding:0 5vw}header{position:sticky;top:0;z-index:20;background:rgba(251,252,252,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,229,232,.65)}nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:58px;height:58px;object-fit:cover;border-radius:50%}.brand strong{letter-spacing:.08em;font-size:14px}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.13em;margin-top:4px}.links{display:flex;align-items:center;gap:28px;font-size:13px}.cta{padding:13px 18px;border:1px solid var(--ink);transition:.25s;background:var(--ink);color:#fff}.cta:hover{background:#263841;color:#fff;border-color:#263841}.hero{min-height:88vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:5vw;padding:70px 0}.eyebrow{font-size:11px;letter-spacing:.18em;color:#587985;text-transform:uppercase;margin-bottom:25px}.hero h1,.section h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:.96;letter-spacing:-.045em;margin:0}.hero h1{font-size:clamp(62px,8vw,128px)}.hero p{max-width:580px;color:var(--muted);font-size:18px;line-height:1.7;margin:32px 0}.actions{display:flex;gap:14px;align-items:center}.primary{background:var(--ink);color:#fff;padding:16px 22px}.secondary{padding:16px 8px;border-bottom:1px solid var(--ink)}.visual{height:68vh;min-height:500px;background:linear-gradient(145deg,var(--blue2),#fff);position:relative;overflow:hidden}.visual img{position:absolute;width:76%;left:12%;top:10%;opacity:.92}.placeholder{position:absolute;bottom:28px;left:30px;font-size:11px;letter-spacing:.15em;color:#69808a}.section{padding:130px 0;border-top:1px solid var(--line)}.section h2{font-size:clamp(48px,6vw,90px);max-width:900px}.lead{max-width:690px;color:var(--muted);font-size:18px;line-height:1.8;margin:35px 0 0 auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:75px}.stat{background:var(--paper);padding:38px}.stat b{display:block;font-family:Georgia,serif;font-weight:400;font-size:42px}.stat span{font-size:12px;color:var(--muted);letter-spacing:.08em}.services{display:grid;grid-template-columns:1fr 1fr;margin-top:70px;border-top:1px solid var(--line)}.service{padding:48px 4vw 48px 0;border-bottom:1px solid var(--line);min-height:230px}.service:nth-child(even){padding-left:4vw;border-left:1px solid var(--line)}.service i{font-style:normal;font-size:11px;color:#71909c}.service h3{font-family:Georgia,serif;font-size:34px;font-weight:400;margin:25px 0 12px}.service p{color:var(--muted);line-height:1.6;max-width:480px}.dark{background:#17272e;color:#f7fbfc}.dark .eyebrow,.dark p{color:#aebdc2}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.photo{min-height:560px;background:linear-gradient(150deg,#dcecf1,#f8fbfc);display:flex;align-items:flex-end;padding:30px;color:#6f858d;font-size:11px;letter-spacing:.13em}.tech{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:65px}.tech article{padding:28px;border-top:1px solid #708087}.tech h3{font-family:Georgia,serif;font-size:28px;font-weight:400}.booking{text-align:center;padding:150px 5vw}.booking h2{margin:auto}.booking p{color:var(--muted);font-size:18px;margin:30px auto 40px}.booking .primary{display:inline-block}footer{border-top:1px solid var(--line);padding:60px 0;color:var(--muted);font-size:13px}.foot{display:flex;justify-content:space-between;gap:40px}.foot strong{color:var(--ink)}
@media(max-width:850px){.links a:not(.cta){display:none}.hero,.split{grid-template-columns:1fr}.hero{padding-top:45px}.hero h1{font-size:58px}.visual{height:48vh;min-height:380px}.section{padding:90px 0}.stats,.tech{grid-template-columns:1fr}.services{grid-template-columns:1fr}.service:nth-child(even){padding-left:0;border-left:0}.foot{flex-direction:column}.brand strong{font-size:12px}}

.portrait-placeholder{position:absolute;inset:0;background:linear-gradient(145deg,#e7f3f7 0%,#f9fbfc 55%,#d7eaf1 100%);display:flex;align-items:flex-end;padding:34px;color:#647b84;letter-spacing:.11em;font-size:11px;text-transform:uppercase}.portrait-placeholder:before{content:'';position:absolute;width:54%;height:72%;right:8%;bottom:0;border-radius:46% 46% 7% 7%;background:linear-gradient(180deg,#b9d3dc,#7fa7b5);opacity:.27}.portrait-placeholder span{position:relative;z-index:1}.portrait-placeholder small{display:block;margin-top:7px;font-size:10px;letter-spacing:.04em;text-transform:none;color:#7c9097}.service a{display:inline-block;margin-top:15px;padding-bottom:4px;border-bottom:1px solid currentColor}.details{margin-top:90px}.detail{display:grid;grid-template-columns:.35fr 1fr;gap:5vw;padding:70px 0;border-top:1px solid var(--line);scroll-margin-top:110px}.detail .num{font-size:12px;letter-spacing:.16em;color:#71909c}.detail h3{font-family:Georgia,serif;font-size:clamp(38px,4.5vw,66px);font-weight:400;line-height:1.02;margin:0 0 22px}.detail p{color:var(--muted);line-height:1.75;max-width:760px}.detail ul{margin:25px 0 0;padding-left:18px;color:var(--muted);line-height:1.8}.photo.doctor-secondary{min-height:600px;background:linear-gradient(145deg,#20343d,#526b75);position:relative;overflow:hidden}.photo.doctor-secondary:before{content:'';position:absolute;width:58%;height:78%;left:22%;bottom:0;border-radius:48% 48% 8% 8%;background:linear-gradient(180deg,#9bb7c1,#dce9ed);opacity:.28}.photo.doctor-secondary span{position:relative;z-index:1}@media(max-width:850px){.detail{grid-template-columns:1fr;gap:20px}.details{margin-top:50px}}

/* V6: no-JavaScript page routing for reliable preview */
.site-home{display:block}
.subpage{display:none}
.subpage:target{display:block}
.subpage:target ~ .site-home{display:none}

.service-page-hero{padding:90px 0 70px;border-bottom:1px solid var(--line)}
.service-page-hero h1{
  font-family:Georgia,'Times New Roman',serif;font-weight:400;
  line-height:.96;letter-spacing:-.045em;margin:0;
  font-size:clamp(58px,7.4vw,112px);max-width:1050px
}
.service-page-hero p{max-width:780px;color:var(--muted);font-size:18px;line-height:1.8;margin:34px 0 0}
.back-link{display:inline-block;margin-bottom:34px;padding-bottom:4px;border-bottom:1px solid currentColor;color:#587985;font-size:13px}
.service-page-grid{display:grid;grid-template-columns:1fr .9fr;gap:7vw;align-items:start}
.service-copy h2,.service-copy h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.05}
.service-copy h2{font-size:clamp(40px,4.7vw,68px);margin:0 0 24px}
.service-copy h3{font-size:32px;margin:52px 0 16px}
.service-copy p,.service-copy li{color:var(--muted);font-size:17px;line-height:1.78}
.service-copy ul{padding-left:20px}
.image-column{display:grid;gap:24px;position:sticky;top:110px}
.image-placeholder{
  min-height:330px;background:linear-gradient(145deg,#e7f3f7 0%,#fbfcfc 58%,#d7eaf1 100%);
  border:1px solid var(--line);padding:28px;display:flex;align-items:flex-end;
  position:relative;overflow:hidden;color:#647b84;font-size:11px;
  letter-spacing:.11em;text-transform:uppercase
}
.image-placeholder:before{
  content:'';position:absolute;inset:10% 10% auto auto;width:44%;height:52%;
  border:1px solid rgba(88,121,133,.2);border-radius:50%
}
.image-placeholder span{position:relative;z-index:1}
.image-placeholder small{
  display:block;margin-top:8px;font-size:10px;letter-spacing:.035em;
  text-transform:none;line-height:1.5;color:#7c9097;max-width:430px
}
.service-note{margin-top:36px;padding:20px 22px;background:#eff8fb;border-left:3px solid var(--blue);color:var(--muted);line-height:1.7}

/* Keep the established dark section exactly dark */
#ansprechpartner{background:var(--dark);color:#f7fbfc}
#ansprechpartner p,#ansprechpartner .eyebrow{color:#b5c2c7}

@media(max-width:850px){
  .service-page-hero{padding:58px 0 48px}
  .service-page-hero h1{font-size:54px}
  .service-page-grid{grid-template-columns:1fr}
  .image-column{position:static;margin-top:24px}
  .image-placeholder{min-height:270px}
}


/* V52 — Bildhintergründe in Erfahren / Kompetent / Digital klar sichtbar */
.practice-principles-v34 article{position:relative;overflow:hidden;isolation:isolate;min-height:320px;border:1px solid rgba(21,36,43,.08);box-shadow:0 16px 36px rgba(17,33,38,.05);background-color:#f7fafb}
.practice-principles-v34 article::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center center;opacity:.42;transform:scale(1.03);z-index:0}
.practice-principles-v34 article::after{display:block;content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(255,255,255,.70) 0%, rgba(250,252,252,.80) 48%, rgba(255,255,255,.88) 100%);z-index:0}
.practice-principles-v34 .principle-experience::before{background-image:url('../images/d302dcfd38e16378.webp')}
.practice-principles-v34 .principle-competence::before{background-image:url('../images/49860009f43f5edb.webp')}
.practice-principles-v34 .principle-digital::before{background-image:url('../images/d95a6cedf2a7b61b.webp')}
.practice-principles-v34 .principle-mark,.practice-principles-v34 h3,.practice-principles-v34 p,.practice-principles-v34 article>div{position:relative;z-index:1}
@media(max-width:560px){.practice-principles-v34 article{min-height:0}.practice-principles-v34 article::before{opacity:.34}}



/* V8 fix: restore the established dark "Ein Zahnarzt. Ein Ansprechpartner." section only */
#ansprechpartner.section.dark{
  background:#17272e !important;
  color:#f7fbfc !important;
}
#ansprechpartner.section.dark h2,
#ansprechpartner.section.dark h3,
#ansprechpartner.section.dark strong{
  color:#f7fbfc !important;
}
#ansprechpartner.section.dark p,
#ansprechpartner.section.dark .lead,
#ansprechpartner.section.dark .eyebrow{
  color:#b5c2c7 !important;
}
#ansprechpartner .photo{
  border-color:rgba(255,255,255,.16) !important;
  color:#d9e4e8 !important;
  background:linear-gradient(145deg,#23363e,#1b2e36) !important;
}



/* V10 additions only — existing design intentionally preserved */
#leistungen,#ansprechpartner,#praxis,#kontaktbereich,#google-bewertungen,#termin{
  scroll-margin-top:118px;
}

/* Exact top-nav targets */
.anchor-target{position:relative;top:-1px;height:1px;width:1px;overflow:hidden}

/* Keep the established dark section and make heading fit cleanly */
#ansprechpartner.section.dark{
  background:#17272e !important;
  color:#f7fbfc !important;
}
#ansprechpartner.section.dark h2{color:#f7fbfc !important;font-size:clamp(42px,4.1vw,62px)}
#ansprechpartner.section.dark p,
#ansprechpartner.section.dark .lead,
#ansprechpartner.section.dark .eyebrow{color:#b5c2c7 !important}
#ansprechpartner .one-line{white-space:nowrap}

/* Practice slideshow */
.practice-slideshow{
  position:relative;min-height:560px;overflow:hidden;
  background:linear-gradient(150deg,#dcecf1,#f8fbfc);
  border:1px solid var(--line);
}
.practice-slide{
  position:absolute;inset:0;opacity:0;
  display:flex;align-items:flex-end;padding:30px;
  color:#647b84;font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  animation:practiceFade 25s infinite;
}
.practice-slide:nth-child(1){animation-delay:0s;background:linear-gradient(145deg,#dcecf1,#f8fbfc)}
.practice-slide:nth-child(2){animation-delay:5s;background:linear-gradient(145deg,#eef7fa,#cfe2e9)}
.practice-slide:nth-child(3){animation-delay:10s;background:linear-gradient(145deg,#d8e8ed,#fafcfc)}
.practice-slide:nth-child(4){animation-delay:15s;background:linear-gradient(145deg,#edf6f8,#d2e6ec)}
.practice-slide:nth-child(5){animation-delay:20s;background:linear-gradient(145deg,#eef6f8,#d8e7eb)}
.practice-slide:before{
  content:"";position:absolute;width:48%;height:58%;right:9%;top:10%;
  border:1px solid rgba(88,121,133,.2);border-radius:48%;
}
.practice-slide span{position:relative;z-index:2}
.practice-slide small{
  display:block;margin-top:8px;font-size:10px;letter-spacing:.035em;
  text-transform:none;line-height:1.5;color:#7c9097;max-width:430px
}
.practice-counter{
  position:absolute;right:22px;bottom:20px;z-index:10;
  font-size:10px;letter-spacing:.13em;color:#6c828b
}
@keyframes practiceFade{
  0%{opacity:0}
  3%{opacity:1}
  22%{opacity:1}
  25%{opacity:0}
  100%{opacity:0}
}

/* Google rating header + review CTA */
.google-top{
  display:grid;grid-template-columns:.75fr 1.25fr;
  gap:1px;background:var(--line);margin-top:56px
}
.google-score,.google-actions{background:var(--paper);padding:42px}
.google-score strong{
  display:block;font-family:Georgia,serif;font-weight:400;font-size:54px;line-height:1
}
.google-score .stars{font-size:22px;letter-spacing:.12em;margin:14px 0 10px}
.google-score span{font-size:12px;color:var(--muted);letter-spacing:.05em}
.google-actions h3{
  font-family:Georgia,serif;font-size:34px;font-weight:400;margin:0 0 12px
}
.google-actions p{color:var(--muted);line-height:1.65;max-width:640px}
.google-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

/* Continuous review ticker inspired by the reference site, but with our design */
.review-window{
  overflow:hidden;margin-top:36px;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 5%,#000 95%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0,#000 5%,#000 95%,transparent 100%);
}
.review-track{
  display:flex;gap:18px;width:max-content;
  animation:reviewMarquee 54s linear infinite;
}
.review-window:hover .review-track{animation-play-state:paused}
.review-card{
  width:min(390px,78vw);min-height:245px;padding:28px;
  border:1px solid var(--line);background:#fff;
  display:flex;flex-direction:column;justify-content:space-between
}
.review-card .stars{letter-spacing:.11em;font-size:15px}
.review-card p{
  font-family:Georgia,'Times New Roman',serif;font-size:23px;
  line-height:1.35;margin:24px 0;color:var(--ink)
}
.review-card small{color:var(--muted);line-height:1.45}
.review-disclaimer{
  margin-top:20px;color:var(--muted);font-size:11px;line-height:1.5
}
@keyframes reviewMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - 9px))}
}

/* Dedicated contact section, not only a footer */
.contact-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:var(--line);margin-top:56px
}
.contact-card{background:var(--paper);padding:36px;min-height:190px}
.contact-card span{
  display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#6d858e;margin-bottom:20px
}
.contact-card strong{
  font-family:Georgia,serif;font-size:28px;font-weight:400;line-height:1.35
}
.contact-card p{color:var(--muted);line-height:1.65}
.contact-card a.linkline{display:inline-block;margin-top:14px;border-bottom:1px solid currentColor;padding-bottom:3px}

@media(min-width:851px){
  .services .service:last-child{grid-column:1 / 2}
}
@media(max-width:850px){
  #ansprechpartner.section.dark h2{font-size:34px}
  #ansprechpartner .one-line{white-space:nowrap}
  .practice-slideshow{min-height:390px}
  .google-top,.contact-grid{grid-template-columns:1fr}
  .google-score,.google-actions,.contact-card{padding:30px}
  .review-card{width:82vw}
}
@media(max-width:390px){
  #ansprechpartner.section.dark h2{font-size:31px}
}



/* V11 targeted fixes only */
.back-link{
  display:inline-flex !important;
  align-items:center;
  gap:10px;
  margin-bottom:38px !important;
  padding:14px 18px !important;
  border:1px solid var(--ink) !important;
  color:var(--ink) !important;
  background:#fff;
  font-size:14px !important;
  letter-spacing:.02em;
  transition:.2s;
}
.back-link:hover{transform:translateY(-1px);background:#f5f9fa}

/* Dedicated contact page for robust navigation */
#kontakt-page .service-page-grid{grid-template-columns:1fr}
#kontakt-page .contact-grid{margin-top:0}
#kontakt-page .service-page-hero p{max-width:680px}

@media(max-width:850px){
  .back-link{font-size:13px !important;padding:13px 15px !important}
}



/* V13 mobile final — desktop design intentionally preserved */
.mobile-nav{display:none}
.mobile-booking-bar{display:none}

/* Slightly more robust header spacing */
header nav{position:relative}

/* Mobile-specific layout */
@media(max-width:850px){
  body{padding-bottom:78px}

  header .wrap{padding-left:18px;padding-right:18px}
  header nav{
    height:72px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
  }
  header .brand{gap:10px;min-width:0}
  header .brand img{width:44px;height:44px;flex:0 0 44px}
  header .brand span{min-width:0}
  header .brand strong{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:11px;
    letter-spacing:.075em
  }
  header .brand small{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:8.5px;
    letter-spacing:.11em
  }

  header .links{display:none !important}

  .mobile-nav{
    display:block;
    position:relative;
  }
  .mobile-nav summary{
    list-style:none;
    width:44px;height:44px;
    display:flex;align-items:center;justify-content:center;
    border:1px solid var(--line);
    background:#fff;
    cursor:pointer;
    font-size:0;
  }
  .mobile-nav summary::-webkit-details-marker{display:none}
  .mobile-nav summary:before,
  .mobile-nav summary:after,
  .mobile-nav summary span{
    content:"";
    display:block;
    position:absolute;
    width:18px;height:1.5px;
    background:var(--ink);
    transition:.2s;
  }
  .mobile-nav summary:before{transform:translateY(-6px)}
  .mobile-nav summary:after{transform:translateY(6px)}
  .mobile-nav[open] summary span{opacity:0}
  .mobile-nav[open] summary:before{transform:rotate(45deg)}
  .mobile-nav[open] summary:after{transform:rotate(-45deg)}

  .mobile-menu{
    position:fixed;
    top:72px;left:0;right:0;
    z-index:70;
    background:rgba(251,252,252,.98);
    backdrop-filter:blur(16px);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:10px 18px 18px;
    box-shadow:0 18px 40px rgba(15,30,38,.08);
  }
  .mobile-menu a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:54px;
    border-bottom:1px solid var(--line);
    font-family:Georgia,'Times New Roman',serif;
    font-size:22px;
  }
  .mobile-menu a:last-child{border-bottom:0}
  .mobile-menu .mobile-doctolib{
    margin-top:12px;
    padding:15px 16px;
    min-height:auto;
    background:var(--ink);
    color:#fff;
    font-family:Inter,Arial,sans-serif;
    font-size:13px;
    justify-content:center;
    border:0;
  }

  /* Hero */
  .hero{
    padding:42px 0 68px !important;
    gap:34px !important;
  }
  .hero h1{
    font-size:clamp(46px,13.2vw,62px) !important;
    line-height:.98 !important;
  }
  .hero p{
    font-size:16px !important;
    line-height:1.65 !important;
    margin:24px 0 !important;
  }
  .hero .actions{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .hero .actions a{text-align:center}
  .hero .visual{
    height:54vh !important;
    min-height:390px !important;
  }

  /* Sections */
  .wrap{padding-left:20px;padding-right:20px}
  .section{padding:76px 0 !important}
  .section h2{
    font-size:clamp(40px,11vw,56px) !important;
    line-height:1.0 !important;
  }
  .lead{
    font-size:16px !important;
    line-height:1.7 !important;
    margin-top:24px !important;
  }

  /* Dark personal section */
  #ansprechpartner .split{gap:34px}
  #ansprechpartner.section.dark h2{
    font-size:clamp(34px,9.2vw,44px) !important;
    line-height:1.03 !important;
  }
  #ansprechpartner .one-line{white-space:normal !important}
  #ansprechpartner .doctor-secondary{
    min-height:360px;
    order:2;
  }

  /* Stats */
  .stats{margin-top:44px !important}
  .stat{padding:28px 22px !important}
  .stat b{font-size:34px !important}

  /* Services */
  .services{margin-top:42px !important}
  .service{
    min-height:auto !important;
    padding:34px 0 !important;
  }
  .service h3{
    font-size:30px !important;
    line-height:1.1 !important;
    margin:18px 0 10px !important;
  }
  .service p{font-size:15px;line-height:1.65}
  .service a{font-size:14px}

  /* Practice slideshow */
  .practice-slideshow{
    min-height:380px !important;
    margin-top:8px;
  }
  .practice-slide{padding:22px !important}
  .practice-counter{right:16px !important;bottom:14px !important}

  /* Reviews */
  .google-top{margin-top:38px !important}
  .google-score,.google-actions{padding:26px 22px !important}
  .google-score strong{font-size:44px !important}
  .google-actions h3{font-size:30px !important}
  .google-buttons{
    flex-direction:column;
    align-items:stretch;
  }
  .google-buttons a{text-align:center}
  .review-window{
    margin-left:-20px;
    margin-right:-20px;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .review-track{gap:12px}
  .review-card{
    width:82vw !important;
    min-height:220px !important;
    padding:22px !important;
  }
  .review-card p{font-size:20px !important}

  /* Contact */
  .contact-grid{margin-top:38px !important}
  .contact-card{
    min-height:0 !important;
    padding:28px 22px !important;
  }
  .contact-card strong{font-size:24px !important}

  /* Detail pages */
  .service-page-hero{padding:46px 0 42px !important}
  .service-page-hero h1{
    font-size:clamp(44px,12vw,58px) !important;
    line-height:.98 !important;
  }
  .service-page-hero p{
    font-size:16px !important;
    line-height:1.7 !important;
  }
  .back-link{
    width:100%;
    justify-content:center;
    text-align:center;
    margin-bottom:28px !important;
  }
  .service-copy h2{font-size:38px !important}
  .service-copy h3{font-size:28px !important}
  .service-copy p,.service-copy li{font-size:16px !important}
  .image-placeholder{min-height:250px !important}

  /* Booking */
  .booking{padding:90px 20px 105px !important}
  .booking h2{font-size:46px !important}
  .booking .primary{width:100%;text-align:center}

  /* Footer */
  footer{padding:44px 0 110px !important}

  /* Persistent mobile conversion bar */
  .mobile-booking-bar{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:10px;
    position:fixed;
    left:10px;right:10px;bottom:10px;
    z-index:100;
    padding:10px;
    background:rgba(255,255,255,.96);
    border:1px solid var(--line);
    box-shadow:0 12px 38px rgba(18,36,43,.16);
    backdrop-filter:blur(14px);
  }
  .mobile-booking-bar span{
    font-size:11px;
    line-height:1.3;
    color:var(--muted);
    padding-left:4px;
  }
  .mobile-booking-bar a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 16px;
    background:var(--ink);
    color:#fff;
    font-size:12px;
    white-space:nowrap;
  }
}

/* Extra narrow phones */
@media(max-width:390px){
  header .brand img{width:40px;height:40px;flex-basis:40px}
  header .brand strong{font-size:10px}
  header .brand small{font-size:7.8px}
  .mobile-booking-bar{
    grid-template-columns:1fr;
  }
  .mobile-booking-bar span{display:none}
  .mobile-booking-bar a{width:100%}
}



/* V15 mobile menu — pure CSS/hash routing, no JS dependency */
.mobile-menu-trigger{display:none}
.mobile-menu-overlay{display:none}

@media(max-width:850px){
  .mobile-menu-trigger{
    display:flex;
    width:44px;height:44px;
    align-items:center;justify-content:center;
    border:1px solid var(--line);
    background:#fff;
    position:relative;
    z-index:91;
  }
  .mobile-menu-trigger i,
  .mobile-menu-trigger:before,
  .mobile-menu-trigger:after{
    content:"";
    position:absolute;
    width:18px;height:1.5px;
    background:var(--ink);
  }
  .mobile-menu-trigger:before{transform:translateY(-6px)}
  .mobile-menu-trigger:after{transform:translateY(6px)}

  .mobile-menu-overlay{
    display:none;
    position:fixed;
    inset:0;
    z-index:120;
    background:rgba(251,252,252,.985);
    backdrop-filter:blur(18px);
    padding:18px;
  }
  .mobile-menu-overlay:target{display:block}

  .mobile-menu-top{
    height:54px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--line);
  }
  .mobile-menu-title{
    font-size:11px;
    letter-spacing:.12em;
    color:var(--muted);
  }
  .mobile-menu-close{
    width:42px;height:42px;
    display:flex;
    align-items:center;justify-content:center;
    border:1px solid var(--line);
    font-size:24px;
    line-height:1;
  }
  .mobile-menu-list{
    padding-top:14px;
  }
  .mobile-menu-list a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:64px;
    border-bottom:1px solid var(--line);
    font-family:Georgia,'Times New Roman',serif;
    font-size:26px;
  }
  .mobile-menu-list .mobile-doctolib{
    margin-top:18px;
    min-height:52px;
    padding:0 16px;
    background:var(--ink);
    color:#fff;
    font-family:Inter,Arial,sans-serif;
    font-size:13px;
    justify-content:center;
    border:0;
  }
}



/* V16 mobile refinement only */
@media(max-width:850px){
  /* Hero CTA: keep it prominent, but not edge-to-edge */
  .hero .actions{
    align-items:flex-start !important;
  }
  .hero .actions .primary{
    width:auto !important;
    min-width:220px;
    max-width:100%;
    padding-left:20px !important;
    padding-right:20px !important;
  }
  .hero .actions .secondary{
    width:auto !important;
  }

  /* Hamburger menu: strict vertical stack */
  .mobile-menu-overlay{
    overflow-y:auto;
  }
  .mobile-menu-list{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    gap:0 !important;
  }
  .mobile-menu-list > a{
    display:flex !important;
    width:100% !important;
    flex:0 0 auto !important;
    justify-content:space-between !important;
    align-items:center !important;
  }
  .mobile-menu-list .mobile-doctolib{
    width:100% !important;
    justify-content:center !important;
  }
}



/* V17: extend services only; existing design preserved */
#leistungen .services .service{min-height:250px}
@media(min-width:851px){
  #leistungen .services .service:last-child{grid-column:auto}
}



/* V20 legal/SEO pages */
.legal-hero{padding:82px 0 56px;border-bottom:1px solid var(--line)}
.legal-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(54px,7vw,96px);line-height:1;margin:0}
.legal-wrap{max-width:900px;margin:auto;padding:76px 5vw 110px}
.legal-wrap h2{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:400;margin:52px 0 16px}
.legal-wrap h3{font-family:Georgia,'Times New Roman',serif;font-size:24px;font-weight:400;margin:34px 0 12px}
.legal-wrap p,.legal-wrap li{color:var(--muted);line-height:1.75;font-size:16px}
.legal-wrap ul{padding-left:22px}
.legal-wrap a{text-decoration:underline;text-underline-offset:3px}
.legal-draft{border-left:3px solid #b5d7e3;background:#f1f8fa;padding:18px 20px;margin:0 0 40px;color:#536c75;line-height:1.6}
.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.legal-card{border:1px solid var(--line);padding:26px}
@media(max-width:850px){.legal-grid{grid-template-columns:1fr}.legal-wrap{padding:56px 20px 100px}.legal-hero{padding:55px 0 42px}}



/* V22 Dr. Gülich page */
.profile-hero{
  padding:92px 0 78px;
  border-bottom:1px solid var(--line);
}
.profile-hero-grid{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:7vw;
  align-items:center;
}
.profile-hero h1{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:clamp(58px,7vw,108px);
  line-height:.96;
  letter-spacing:-.045em;
  margin:0;
}
.profile-hero p{
  color:var(--muted);
  font-size:18px;
  line-height:1.8;
  max-width:680px;
  margin-top:30px;
}
.profile-portrait{
  min-height:620px;
  background:linear-gradient(145deg,#e8f3f6,#fbfcfc 58%,#d5e7ed);
  border:1px solid var(--line);
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  padding:30px;
}
.profile-portrait:before{
  content:"";
  position:absolute;
  width:54%;
  height:72%;
  right:10%;
  bottom:0;
  border-radius:46% 46% 7% 7%;
  background:linear-gradient(180deg,#b9d3dc,#7fa7b5);
  opacity:.20;
}
.profile-portrait span{
  position:relative;
  z-index:2;
  font-size:11px;
  letter-spacing:.13em;
  color:#69808a;
  text-transform:uppercase;
}
.profile-portrait small{
  display:block;
  margin-top:8px;
  max-width:420px;
  font-size:10px;
  line-height:1.5;
  letter-spacing:.02em;
  text-transform:none;
}
.profile-copy{
  max-width:820px;
}
.profile-copy p{
  color:var(--muted);
  font-size:17px;
  line-height:1.8;
}
.timeline{
  margin-top:58px;
  border-top:1px solid var(--line);
}
.timeline-row{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:34px;
  padding:28px 0;
  border-bottom:1px solid var(--line);
}
.timeline-row b{
  font-family:Georgia,'Times New Roman',serif;
  font-size:32px;
  font-weight:400;
}
.timeline-row p{
  margin:2px 0 0;
}
.profile-values{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line);
  margin-top:60px;
}
.profile-value{
  background:var(--paper);
  padding:34px;
  min-height:210px;
}
.profile-value h3{
  font-family:Georgia,'Times New Roman',serif;
  font-size:29px;
  font-weight:400;
  margin:0 0 14px;
}
.profile-value p{
  color:var(--muted);
  line-height:1.7;
}
.profile-photo-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:22px;
  margin-top:52px;
}
.profile-photo{
  min-height:420px;
  border:1px solid var(--line);
  background:linear-gradient(145deg,#edf6f8,#dcecf1);
  display:flex;
  align-items:flex-end;
  padding:26px;
  color:#647b84;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.profile-photo small{
  display:block;
  margin-top:8px;
  max-width:400px;
  font-size:10px;
  line-height:1.5;
  text-transform:none;
  letter-spacing:.02em;
}
.profile-cta{
  margin-top:60px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
@media(max-width:850px){
  .profile-hero{padding:56px 0 46px}
  .profile-hero-grid{grid-template-columns:1fr}
  .profile-hero h1{font-size:clamp(48px,13vw,64px)}
  .profile-portrait{min-height:440px}
  .timeline-row{grid-template-columns:1fr;gap:8px}
  .profile-values{grid-template-columns:1fr}
  .profile-photo-grid{grid-template-columns:1fr}
  .profile-photo{min-height:300px}
  .profile-cta{flex-direction:column}
  .profile-cta a{text-align:center}
}



/* V23 — subtle AI imagery in the eight service cards */
#leistungen .service{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center right;
}
#leistungen .service::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(251,252,252,.985) 0%,
    rgba(251,252,252,.955) 38%,
    rgba(251,252,252,.78) 58%,
    rgba(251,252,252,.36) 82%,
    rgba(251,252,252,.18) 100%
  );
}
#leistungen .service > *{
  position:relative;
  z-index:2;
}
#leistungen .service i{
  color:#668793;
}
#leistungen .service p{
  color:#566970;
}
@media(max-width:850px){
  #leistungen .service{
    background-position:center right;
    background-size:cover;
  }
  #leistungen .service::before{
    background:linear-gradient(
      90deg,
      rgba(251,252,252,.99) 0%,
      rgba(251,252,252,.96) 48%,
      rgba(251,252,252,.72) 76%,
      rgba(251,252,252,.36) 100%
    );
  }
}



/* V25 — Öffnungszeiten */
.hours-card{grid-column:1/-1;min-height:auto}
.hours-list{margin-top:22px;border-top:1px solid var(--line)}
.hours-list>div{
  display:grid;
  grid-template-columns:minmax(120px,.55fr) 1.45fr;
  gap:22px;
  align-items:baseline;
  padding:13px 0;
  border-bottom:1px solid var(--line)
}
.hours-list span{font-size:13px !important;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hours-list strong{font-family:inherit !important;font-size:16px !important;font-weight:500 !important;letter-spacing:0 !important}
@media(max-width:850px){
  .hours-list>div{grid-template-columns:1fr;gap:4px;padding:12px 0}
  .hours-list strong{font-size:15px !important}
}



/* V29 — SEO-Inhalte, FAQs und interne Verlinkung */
.service-copy a{color:inherit;text-decoration:underline;text-decoration-color:rgba(65,103,116,.35);text-underline-offset:4px}
.seo-steps{margin:18px 0 28px;padding-left:22px;color:var(--muted);line-height:1.75}
.seo-steps li{margin:9px 0}.seo-steps strong{color:var(--ink);font-weight:600}
.seo-faq{border-top:1px solid var(--line);padding:76px 0}
.seo-faq h2{max-width:760px}.seo-faq-list{margin-top:34px;border-top:1px solid var(--line)}
.seo-faq details{border-bottom:1px solid var(--line);padding:0}
.seo-faq summary{cursor:pointer;list-style:none;padding:22px 42px 22px 0;position:relative;font-size:18px;line-height:1.45;font-weight:500}
.seo-faq summary::-webkit-details-marker{display:none}.seo-faq summary::after{content:"+";position:absolute;right:2px;top:20px;font-size:24px;font-weight:300}
.seo-faq details[open] summary::after{content:"–"}.seo-faq details p{max-width:820px;margin:0;padding:0 42px 24px 0;color:var(--muted);line-height:1.75}
.related-services{padding:0 0 82px}.related-services .related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px}
.related-services a{display:flex;align-items:center;min-height:120px;padding:26px;background:var(--paper);color:var(--ink);text-decoration:none;line-height:1.4;transition:.2s ease}
.related-services a:hover{background:#f2f7f8}.related-services a::after{content:"→";margin-left:auto;padding-left:18px;color:var(--muted)}
.local-service-cta{border-top:1px solid var(--line);padding:0 0 88px}.local-service-cta .cta-box{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:34px 0}
.local-service-cta h2{margin:0 0 8px;font-size:clamp(28px,3vw,42px)}.local-service-cta p{margin:0;color:var(--muted)}
.local-service-cta .actions{margin:0;flex-shrink:0}
@media(max-width:850px){.seo-faq{padding:56px 0}.seo-faq summary{font-size:16px}.related-services .related-links{grid-template-columns:1fr}.related-services{padding-bottom:58px}.local-service-cta{padding-bottom:64px}.local-service-cta .cta-box{align-items:flex-start;flex-direction:column}.local-service-cta .actions{width:100%}.local-service-cta .actions a{width:100%;text-align:center}}



/* V30: Einwilligungsbanner für Google Analytics 4 */
.consent-backdrop{
  position:fixed;inset:0;z-index:9998;background:rgba(15,23,27,.22);
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
}
.consent-banner{
  position:fixed;z-index:9999;left:50%;bottom:24px;transform:translateX(-50%);
  width:min(720px,calc(100% - 32px));background:#fff;border:1px solid rgba(31,49,56,.16);
  box-shadow:0 24px 70px rgba(24,37,42,.18);padding:28px 30px 24px;
}
.consent-banner h2{margin:0 0 10px;font-size:23px;line-height:1.2}
.consent-banner p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.consent-banner a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.consent-actions{display:flex;gap:10px;margin-top:21px;flex-wrap:wrap}
.consent-actions button{
  appearance:none;border:1px solid var(--ink);padding:12px 18px;font:inherit;font-size:14px;
  cursor:pointer;background:#fff;color:var(--ink);transition:.18s ease;
}
.consent-actions button[data-consent="accept"]{background:var(--ink);color:#fff}
.consent-actions button:hover{opacity:.82}
.cookie-settings-link{cursor:pointer}
@media(max-width:600px){
  .consent-banner{bottom:78px;padding:23px 20px 20px}
  .consent-banner h2{font-size:20px}
  .consent-actions{display:grid;grid-template-columns:1fr}
  .consent-actions button{width:100%}
}



/* V31 — technical quality, accessibility and rendering stability */
html{scroll-padding-top:104px}
img{max-width:100%}
.brand img{aspect-ratio:1/1}
.skip-link{
  position:fixed;left:14px;top:14px;z-index:10001;
  padding:12px 16px;background:#15242b;color:#fff;
  transform:translateY(-180%);transition:transform .16s ease;
}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:3px solid #6c9dad;outline-offset:4px
}
body.consent-open{overflow:hidden}
.cookie-settings-link{
  display:inline-block;margin:22px 5vw 0;color:var(--muted);
  text-decoration:underline;text-underline-offset:3px
}
.consent-actions button{min-height:46px}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important
  }
  .practice-slide{opacity:0!important}
  .practice-slide:first-child{opacity:1!important}
}
@media print{
  header,.mobile-menu,.mobile-menu-trigger,.mobile-booking-bar,
  .consent-banner,.consent-backdrop,.cookie-settings-link{display:none!important}
  body{background:#fff!important;color:#000!important}
  main{padding-top:0!important}
}



/* V33 — patientennahe Praxisprinzipien statt Zahlen-Statistik */
.practice-principles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:64px;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.practice-principles article{
  position:relative;
  min-height:220px;
  padding:28px 30px 30px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,.08));
  overflow:hidden;
}
.practice-principles article::after{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:-65px;
  top:-65px;
  border:1px solid rgba(72,118,133,.13);
  border-radius:50%;
}
.practice-principles .principle-mark{
  display:block;
  margin-bottom:52px;
  font-size:9px;
  letter-spacing:.18em;
  color:var(--muted);
}
.practice-principles h3{
  position:relative;
  z-index:2;
  margin:0 0 14px;
  font-size:clamp(25px,2.7vw,39px);
  line-height:1.04;
  letter-spacing:-.03em;
  font-weight:400;
}
.practice-principles p{
  position:relative;
  z-index:2;
  max-width:330px;
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
@media(max-width:850px){
  .practice-principles{grid-template-columns:1fr}
  .practice-principles article{min-height:auto}
  .practice-principles .principle-mark{margin-bottom:30px}
}



/* V34 — Erfahren. Kompetent. Digital. */
.practice-principles-v34 article{
  min-height:205px;
  padding:25px 28px 28px;
}
.practice-principles-v34 h3{
  font-size:clamp(30px,3.2vw,46px);
  line-height:.96;
  font-weight:400;
  letter-spacing:-.04em;
}
.practice-principles-v34 p{
  max-width:330px;
  font-size:13px;
  line-height:1.6;
}
.practice-principles-v34 .principle-digital{
  background:
    radial-gradient(circle at 100% 0%,rgba(102,151,166,.16),transparent 44%),
    var(--paper);
}
.practice-principles-v34 .principle-digital h3{
  color:#416c7b;
}



/* V35 — kleine typografische Feinheiten */
.section h2.intro-one-line{
  max-width:none;
  white-space:nowrap;
  font-size:clamp(42px,4.55vw,72px);
  letter-spacing:-.045em;
}
@media(max-width:1050px){
  .section h2.intro-one-line{
    white-space:normal;
    max-width:900px;
    font-size:clamp(44px,6vw,72px);
  }
}



/* V36 — exakt zweizeilige Intro-Headline + einheitliche Kartenfarbe */
.section h2.intro-two-lines{
  max-width:none;
  white-space:normal;
  font-size:clamp(48px,5.8vw,84px);
  line-height:.96;
  letter-spacing:-.05em;
}
.practice-principles-v34 .principle-digital h3{
  color:inherit;
}
@media(max-width:850px){
  .section h2.intro-two-lines{
    font-size:clamp(42px,9vw,68px);
  }
}



/* V43 — saubere zweizeilige Einstiegsheadline, ohne Überlappung */
.section h2.intro-two-lines-clean{
  max-width:none;
  display:flex;
  flex-direction:column;
  gap:.12em;
  white-space:normal;
  font-size:clamp(48px,5.35vw,82px);
  line-height:1.04;
  letter-spacing:-.048em;
  padding-bottom:.05em;
}
.section h2.intro-two-lines-clean span{
  display:block;
  line-height:1.04;
}
@media(max-width:850px){
  .section h2.intro-two-lines-clean{
    font-size:clamp(42px,9vw,68px);
    gap:.14em;
  }
}



.footer-local-area{display:inline-block;margin-top:9px;color:rgba(255,255,255,.55);font-size:11px;line-height:1.55}
.local-reach,.local-contact-note{color:#66777d}


/* V46 — Google + Jameda als getrennte Vertrauenssignale */
.review-platform-top{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:1px;
  background:var(--line);
  margin-top:56px;
}
.review-platforms{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--line);
}
.platform-rating{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:270px;
  padding:34px;
  background:var(--paper);
  color:var(--ink);
  text-decoration:none;
  transition:background .2s ease, transform .2s ease;
}
.platform-rating:hover{
  background:#fff;
}
.platform-name{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-bottom:24px;
  padding:7px 10px;
  border:1px solid var(--line);
  font-size:10px;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.platform-google .platform-name{color:#506b74}
.platform-jameda .platform-name{color:#6e7d82}
.platform-rating strong{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:48px;
  line-height:1;
}
.platform-stars{
  margin:13px 0 9px;
  font-size:17px;
  letter-spacing:.10em;
}
.platform-rating span{
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}
.review-platform-actions{
  background:var(--paper);
  padding:42px;
}
.review-platform-actions h3{
  margin:0 0 12px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:34px;
  font-weight:400;
}
.review-platform-actions p{
  max-width:620px;
  margin:0;
  color:var(--muted);
  line-height:1.65;
}
.review-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.review-source{
  padding:6px 8px;
  border:1px solid var(--line);
  color:var(--muted);
  font-size:9px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.source-jameda .review-source{
  background:#f8faf9;
}
.source-google .review-source{
  background:#f8fafb;
}
.review-track{
  animation-duration:68s;
}

@media(max-width:850px){
  .review-platform-top{
    grid-template-columns:1fr;
    margin-top:38px !important;
  }
  .review-platforms{
    grid-template-columns:1fr 1fr;
  }
  .platform-rating{
    min-height:210px;
    padding:24px 20px;
  }
  .platform-rating strong{
    font-size:38px;
  }
  .review-platform-actions{
    padding:28px 22px;
  }
}
@media(max-width:560px){
  .review-platforms{
    grid-template-columns:1fr;
  }
  .platform-rating{
    min-height:0;
  }
}



.platform-rating-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}
.platform-rating-head .platform-name{margin-bottom:0}
.brand-logo{display:inline-flex;align-items:center;justify-content:center;min-width:76px;height:28px;padding:0 3px;opacity:.82;filter:saturate(.88);transition:opacity .2s ease,transform .2s ease}
.jameda-wordmark{display:inline-flex;align-items:baseline;font-family:Arial,Helvetica,sans-serif;font-size:19px;font-weight:600;letter-spacing:-.045em;line-height:1}
.jameda-wordmark b{color:#00a39f;font-size:21px;font-weight:700}
.jameda-wordmark span{color:#5e696d}
.google-wordmark{display:inline-flex;align-items:baseline;font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:600;letter-spacing:-.055em;line-height:1}
.g-blue{color:#4285F4}.g-red{color:#EA4335}.g-yellow{color:#FBBC05}.g-green{color:#34A853}
.platform-rating:hover .brand-logo{opacity:1;transform:translateY(-1px)}
.review-card-brand{display:flex;align-items:center}.review-card-brand .brand-logo{min-width:auto;height:22px;opacity:.62}
.review-card-brand .jameda-wordmark{font-size:15px}.review-card-brand .jameda-wordmark b{font-size:17px}.review-card-brand .google-wordmark{font-size:14px}
.review-track{animation-duration:72s}
@media(max-width:560px){.platform-rating-head{margin-bottom:18px}.brand-logo{min-width:68px}}



.google-score-row{display:flex;align-items:center;gap:16px;margin-top:2px}
.google-score-row .google-g-logo{width:42px;height:42px;flex:0 0 42px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.08))}
.google-score-row strong{margin:0}
.platform-google .platform-name{color:#53666d}
@media(max-width:560px){.google-score-row{gap:13px}.google-score-row .google-g-logo{width:36px;height:36px;flex-basis:36px}}



.platform-rating{position:relative}
.platform-has-corner-logo .platform-rating-head{padding-right:58px}
.platform-has-corner-logo > .jameda-star-logo,.platform-has-corner-logo > .google-g-logo{position:absolute;top:28px;right:28px;width:38px;height:38px;z-index:2;filter:drop-shadow(0 2px 5px rgba(0,0,0,.07))}
.platform-has-corner-logo > .jameda-star-logo{width:40px;height:40px}
.platform-has-corner-logo > .google-g-logo{width:39px;height:39px}
.google-score-row{display:contents}
.review-card-brand .review-mini-logo{width:21px;height:21px;min-width:21px;opacity:.72;filter:drop-shadow(0 1px 3px rgba(0,0,0,.05))}
.review-card-brand .jameda-star-logo.review-mini-logo{width:22px;height:22px;min-width:22px}
.review-platform-actions .google-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.review-platform-actions .google-buttons a{min-width:min(100%,310px);justify-content:space-between}
.review-platform-actions .review-action-google{background:#16262c;border-color:#16262c;color:#fff}
.review-platform-actions .review-action-google:hover{background:#0f1c21;border-color:#0f1c21}
.review-platform-actions .review-action-jameda{background:transparent;color:#16262c}
@media(max-width:560px){
  .platform-has-corner-logo > .jameda-star-logo,.platform-has-corner-logo > .google-g-logo{top:22px;right:20px;width:34px;height:34px}
  .platform-has-corner-logo > .jameda-star-logo{width:35px;height:35px}
  .platform-has-corner-logo .platform-rating-head{padding-right:48px}
  .review-platform-actions .google-buttons,.review-platform-actions .google-buttons a{width:100%}
}



.legal-wrap-minimal{max-width:900px}
.legal-wrap-minimal .legal-block{padding:30px 0;border-bottom:1px solid rgba(17,33,38,.12)}
.legal-wrap-minimal .legal-block:first-child{padding-top:8px}
.legal-wrap-minimal .legal-block:last-child{border-bottom:0}
.legal-wrap-minimal h2{margin:0 0 16px}
.legal-wrap-minimal p{max-width:760px;margin:0 0 14px}
.legal-wrap-minimal p:last-child{margin-bottom:0}
.legal-inline-links a{display:inline-block;padding:2px 0}
.legal-source-note{margin-top:16px!important;color:var(--muted);font-size:13px}



.practice-principles article::after{display:none}
.practice-principles-v34 article{background-repeat:no-repeat;background-size:cover;background-position:center center}
.practice-principles-v34 .principle-experience{background-image:linear-gradient(180deg, rgba(255,255,255,.94), rgba(249,252,252,.84)), url('../images/724891e57e41209a.webp')}
.practice-principles-v34 .principle-competence{background-image:linear-gradient(180deg, rgba(255,255,255,.94), rgba(249,252,252,.84)), url('../images/5f30cee3acf0e6ab.webp')}
.practice-principles-v34 .principle-digital{background-image:linear-gradient(180deg, rgba(255,255,255,.93), rgba(247,251,251,.83)), url('../images/f28dcdf35e37f6b3.webp');background-position:center center}
.practice-principles-v34 .principle-mark,.practice-principles-v34 h3,.practice-principles-v34 p{position:relative;z-index:1}
.platform-has-corner-logo>.jameda-meterstein-logo,.platform-has-corner-logo>.google-g-logo{position:absolute;top:28px;right:28px;width:38px;height:38px;z-index:2;object-fit:contain;filter:drop-shadow(0 2px 5px rgba(0,0,0,.07))}
.platform-has-corner-logo>.jameda-meterstein-logo{width:42px;height:42px}
.review-card-brand .jameda-meterstein-logo.review-mini-logo,.review-card-brand .review-mini-logo{width:21px;height:21px;min-width:21px;opacity:.78;filter:drop-shadow(0 1px 3px rgba(0,0,0,.05));object-fit:contain}
.review-card-brand .jameda-meterstein-logo.review-mini-logo{width:22px;height:22px;min-width:22px}
@media(max-width:560px){.platform-has-corner-logo>.jameda-meterstein-logo,.platform-has-corner-logo>.google-g-logo{top:22px;right:20px;width:34px;height:34px}.platform-has-corner-logo>.jameda-meterstein-logo{width:36px;height:36px}}



.practice-principles-v34 article{position:relative;overflow:visible;isolation:auto;min-height:205px;background:var(--paper)!important}
.practice-principles-v34 article::before,
.practice-principles-v34 article::after{content:none!important;display:none!important}
.practice-principles-v34 .principle-experience,
.practice-principles-v34 .principle-competence,
.practice-principles-v34 .principle-digital{background-image:none!important}
.practice-principles-v34 .principle-digital{background:radial-gradient(circle at 100% 0%,rgba(102,151,166,.16),transparent 44%),var(--paper)!important}
#guelich{position:relative;overflow:hidden;background:#17272e}
#guelich::before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(13,24,29,.90) 0%,rgba(13,24,29,.82) 24%,rgba(13,24,29,.58) 48%,rgba(13,24,29,.72) 72%,rgba(13,24,29,.88) 100%),url('../images/d256096d0122ab90.webp');background-size:cover;background-position:center center;opacity:.66;pointer-events:none}
#guelich .wrap{position:relative;z-index:1}
#guelich .tech{max-width:760px}
#guelich h2,#guelich .eyebrow,#guelich .tech article{position:relative;z-index:1}
#guelich .tech article{backdrop-filter:blur(1px)}
@media(max-width:850px){
  .practice-principles-v34 article{min-height:auto}
  #guelich::before{background-position:center center;opacity:.58}
}



/* V60 — echte Praxisbilder eingebunden */
.portrait-placeholder.real-photo, .profile-photo.real-photo, .practice-slide.has-photo{
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  color:#fff !important;
}
.portrait-placeholder.real-photo:before, .practice-slide.has-photo:before{display:none !important;}
.portrait-placeholder.real-photo span, .profile-photo.real-photo span, .practice-slide.has-photo span{
  display:inline-block;
  padding:14px 16px;
  background:rgba(23,39,46,.46);
  backdrop-filter:blur(4px);
  border-radius:14px;
  max-width:min(92%,460px);
  color:#fff !important;
}
.portrait-placeholder.real-photo small, .profile-photo.real-photo small, .practice-slide.has-photo small{
  color:rgba(255,255,255,.92) !important;
}
.profile-photo.real-photo{
  position:relative;
  overflow:hidden;
}
.profile-photo.real-photo::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(17,27,32,.08) 0%, rgba(17,27,32,.42) 100%);
}
.profile-photo.real-photo span{position:relative; z-index:1;}
.hero-portrait.real-photo{min-height:560px;}



/* V62 — responsive Bildgrößen / Hero ohne Bild */
.hero .visual{
  width:100%;
  max-width:540px;
  justify-self:end;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 5;
  border:1px solid var(--line);
  background:linear-gradient(145deg,#edf6f8 0%,#fbfcfc 56%,#dcecf1 100%);
}
.hero-portrait.future-portrait{
  position:absolute;
  inset:0;
  padding:0 !important;
  background:transparent !important;
}
.hero-portrait.future-portrait::before,
.hero-portrait.future-portrait::after{
  display:none !important;
  content:none !important;
}

/* Praxisbilder bewusst größer und bilddominanter */
#praxis .wrap.split{
  grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr);
  gap:5vw;
  align-items:center;
}
#praxis .practice-slideshow{
  min-height:680px !important;
  width:100%;
  border:1px solid var(--line);
}
#praxis .practice-slide.has-photo{
  padding:0 !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
#praxis .practice-slide.has-photo span{display:none !important;}

/* Auch die übrigen Praxisfotos etwas großzügiger */
.profile-photo-grid{
  grid-template-columns:1.15fr .85fr;
  gap:26px;
}
.profile-photo.real-photo{
  min-height:520px !important;
  padding:0 !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.profile-photo.real-photo span{display:none !important;}

/* Terminbereich wieder clean ohne Bildhintergrund */
#termin.booking{
  background:var(--paper) !important;
  background-image:none !important;
}

/* Tablet / kleineres Notebook */
@media (min-width:851px) and (max-width:1199px){
  .hero{grid-template-columns:1.08fr .78fr;gap:4vw;}
  .hero .visual{max-width:470px;aspect-ratio:4/5;}
  #praxis .wrap.split{grid-template-columns:.72fr 1.28fr;gap:4vw;}
  #praxis .practice-slideshow{min-height:590px !important;}
  .profile-photo.real-photo{min-height:460px !important;}
}

/* iPad portrait + Smartphone */
@media (max-width:850px){
  .hero{grid-template-columns:1fr !important;}
  .hero .visual{
    width:min(100%,520px);
    max-width:520px;
    justify-self:center;
    margin-top:6px;
    aspect-ratio:4/5;
    height:auto !important;
    min-height:0 !important;
  }
  #praxis .wrap.split{grid-template-columns:1fr;gap:42px;}
  #praxis .practice-slideshow{
    min-height:0 !important;
    aspect-ratio:4 / 3;
    margin-top:0 !important;
  }
  .profile-photo-grid{grid-template-columns:1fr;gap:18px;}
  .profile-photo.real-photo{
    min-height:0 !important;
    aspect-ratio:4 / 3;
  }
}

/* Kleine Smartphones: Portraitfläche bleibt groß, ohne zu überlaufen */
@media (max-width:480px){
  .hero .visual{width:100%;aspect-ratio:4/5;}
  #praxis .practice-slideshow{aspect-ratio:1 / 1.05;}
  .profile-photo.real-photo{aspect-ratio:1 / 1.02;}
}



/* V63 adjustments */
.profile-hero-grid{grid-template-columns:.94fr 1.06fr;gap:6vw;align-items:stretch}
.profile-portrait{min-height:760px}
.profile-photo-grid{grid-template-columns:1.08fr .92fr;gap:24px}
.profile-photo{min-height:460px;padding:0;background-size:cover;background-position:center center;background-repeat:no-repeat}
.profile-photo::before{content:"";display:block;position:absolute;inset:0}
.profile-photo{position:relative;overflow:hidden}
.practice-slideshow{min-height:500px}
.practice-slide{padding:0;background-size:cover;background-position:center center;background-repeat:no-repeat}
.practice-slide::before{display:none}
#praxis .wrap.split{align-items:start}
#guelich{position:relative;overflow:hidden;background:#17272e}
#guelich::before{display:none!important;background:none!important}
#termin{background:none!important}
@media (max-width:1180px){
  .profile-portrait{min-height:680px}
  .practice-slideshow{min-height:460px}
}
@media (max-width:850px){
  .profile-hero-grid{grid-template-columns:1fr}
  .profile-portrait{min-height:460px}
  .profile-photo{min-height:320px}
  .practice-slideshow{min-height:340px}
}



/* V64 fine-tuning */
#praxis h2{max-width:none;font-size:clamp(28px,5.6vw,82px);line-height:.96;letter-spacing:-.04em}
#praxis h2 .line-lock{display:block;white-space:nowrap}

/* Homepage hero portrait area larger across desktop / tablet / mobile */
.hero{grid-template-columns:.92fr 1.08fr;gap:4.5vw}
.hero .visual{height:74vh;min-height:620px}
.hero .portrait-placeholder{padding:42px}
@media (min-width:1400px){
  .hero .visual{min-height:700px;height:76vh}
}
@media (max-width:1024px){
  .hero{grid-template-columns:1fr}
  .hero .visual{order:-1;height:56vh;min-height:520px}
}
@media (max-width:640px){
  .hero .visual{height:48vh;min-height:360px}
  #praxis h2{font-size:clamp(28px,9vw,46px)}
}

/* Balance brightness of the two profile images */
.profile-photo-grid{grid-template-columns:1fr 1fr;gap:24px}
.profile-photo.real-photo:first-child{filter:brightness(1.14) contrast(1.02)}
.profile-photo.real-photo:last-child{filter:brightness(.93) saturate(.95)}
.profile-photo.real-photo{min-height:500px}
@media (max-width:850px){
  .profile-photo.real-photo{min-height:320px}
}



/* V65 — requested image/layout fixes */

/* 1) Hero right portrait area on homepage: much larger and clearly prepared for a big portrait */
.hero{
  grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr) !important;
  gap:clamp(28px,4vw,68px) !important;
  align-items:center !important;
}
.hero h1{
  font-size:clamp(72px,7.6vw,124px) !important;
}
.hero .visual{
  width:100% !important;
  max-width:none !important;
  justify-self:stretch !important;
  height:clamp(640px,78vh,880px) !important;
  min-height:640px !important;
  aspect-ratio:auto !important;
  border:1px solid var(--line);
  background:linear-gradient(150deg,#e9f4f7 0%,#fbfcfc 50%,#dbeaf0 100%) !important;
}
.hero .portrait-placeholder.hero-portrait.future-portrait{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  background:radial-gradient(circle at 74% 20%, rgba(255,255,255,.92) 0%, rgba(255,255,255,0) 22%), linear-gradient(160deg,#eef7fa 0%,#fbfcfc 48%,#d8e9ef 100%) !important;
}
.hero .portrait-placeholder.hero-portrait.future-portrait::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  width:58% !important;
  height:82% !important;
  right:9% !important;
  bottom:0 !important;
  border-radius:46% 46% 10% 10% !important;
  background:linear-gradient(180deg,#c6dae2 0%,#95b5c0 100%) !important;
  opacity:.34 !important;
}
.hero .portrait-placeholder.hero-portrait.future-portrait::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:18px !important;
  border:1px solid rgba(110,142,152,.16) !important;
}

/* 2) Dr. Gülich lower image pair: brighter, clearer, sharper-feeling */
.profile-photo-grid{
  grid-template-columns:1fr 1fr !important;
  gap:24px !important;
  align-items:stretch !important;
}
.profile-photo.real-photo{
  min-height:520px !important;
  padding:0 !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  filter:brightness(1.16) contrast(1.05) saturate(1.02) !important;
  image-rendering:auto;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.profile-photo.real-photo:first-child{
  filter:brightness(1.24) contrast(1.05) saturate(1.02) !important;
}
.profile-photo.real-photo:last-child{
  filter:brightness(1.10) contrast(1.04) saturate(1.00) !important;
}
.profile-photo.real-photo::after{
  display:none !important;
  content:none !important;
}
.profile-photo.real-photo span,
.profile-photo.real-photo small{
  display:none !important;
}

/* 3) Praxis section: exactly two headline lines, no overlap with the right image, slightly smaller/slimmer visual block */
#praxis .wrap.split{
  grid-template-columns:minmax(330px,540px) minmax(0,1fr) !important;
  gap:clamp(28px,4vw,56px) !important;
  align-items:start !important;
}
#praxis .wrap.split > div:first-child{
  position:relative;
  z-index:2;
}
#praxis h2{
  max-width:none !important;
  font-size:clamp(34px,5.1vw,76px) !important;
  line-height:.95 !important;
  letter-spacing:-.045em !important;
  margin-bottom:22px !important;
}
#praxis h2 .line-lock{
  display:block !important;
  white-space:nowrap !important;
}
#praxis .lead{
  max-width:500px !important;
  margin:0 !important;
}
#praxis .practice-slideshow{
  min-height:560px !important;
  height:560px !important;
  aspect-ratio:auto !important;
  margin-top:8px !important;
  align-self:start !important;
}
#praxis .practice-slide,
#praxis .practice-slide.has-photo{
  background-size:cover !important;
  background-position:center center !important;
  filter:brightness(1.05) contrast(1.04) saturate(1.01) !important;
}
#praxis .practice-slide span,
#praxis .practice-slide small{
  display:none !important;
}

/* 4) Tablet */
@media (min-width:851px) and (max-width:1199px){
  .hero{
    grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr) !important;
    gap:32px !important;
  }
  .hero .visual{
    height:clamp(520px,64vh,720px) !important;
    min-height:520px !important;
  }
  #praxis .wrap.split{
    grid-template-columns:minmax(280px,420px) minmax(0,1fr) !important;
    gap:30px !important;
  }
  #praxis .practice-slideshow{
    min-height:470px !important;
    height:470px !important;
  }
  .profile-photo.real-photo{
    min-height:430px !important;
  }
}

/* 5) Mobile / iPad portrait */
@media (max-width:850px){
  .hero{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }
  .hero .visual{
    width:min(100%,560px) !important;
    max-width:560px !important;
    justify-self:center !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 5 !important;
  }
  #praxis .wrap.split{
    grid-template-columns:1fr !important;
    gap:36px !important;
  }
  #praxis h2{
    font-size:clamp(34px,9vw,52px) !important;
  }
  #praxis .lead{
    max-width:none !important;
  }
  #praxis .practice-slideshow{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 3 !important;
  }
  .profile-photo-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .profile-photo.real-photo{
    min-height:0 !important;
    aspect-ratio:4 / 3 !important;
  }
}

@media (max-width:480px){
  .hero h1{font-size:clamp(54px,14vw,68px) !important;}
  .hero .visual{aspect-ratio:4 / 5 !important;}
  #praxis h2 .line-lock{white-space:normal !important;}
}



/* V66 — clean hero fix only: big portrait area without overlap */
.wrap.hero,
.hero{
  grid-template-columns:minmax(0,1.08fr) clamp(420px, 39vw, 560px) !important;
  gap:clamp(34px,4vw,64px) !important;
  align-items:center !important;
}
.hero > div:first-child{
  min-width:0 !important;
  max-width:720px !important;
  position:relative;
  z-index:2;
}
.hero h1{
  font-size:clamp(66px,7vw,118px) !important;
  line-height:.93 !important;
  max-width:9.5ch !important;
  margin:0 !important;
}
.hero p{
  max-width:560px !important;
  margin:28px 0 0 0 !important;
}
.hero .actions{
  margin-top:28px !important;
  flex-wrap:wrap !important;
}
.hero .visual{
  position:relative !important;
  justify-self:end !important;
  align-self:center !important;
  width:100% !important;
  max-width:clamp(420px, 39vw, 560px) !important;
  height:clamp(560px,72vh,760px) !important;
  min-height:560px !important;
  aspect-ratio:auto !important;
  overflow:hidden !important;
  isolation:isolate;
  margin-left:auto !important;
}
.hero .portrait-placeholder.hero-portrait.future-portrait{
  inset:0 !important;
}
.hero .portrait-placeholder.hero-portrait.future-portrait::before{
  width:56% !important;
  right:10% !important;
}

@media (min-width:1200px) and (max-width:1440px){
  .wrap.hero,
  .hero{
    grid-template-columns:minmax(0,1fr) clamp(380px, 36vw, 500px) !important;
    gap:32px !important;
  }
  .hero .visual{
    max-width:clamp(380px, 36vw, 500px) !important;
    height:clamp(520px,67vh,700px) !important;
    min-height:520px !important;
  }
}

@media (min-width:851px) and (max-width:1199px){
  .wrap.hero,
  .hero{
    grid-template-columns:minmax(0,1fr) minmax(340px,420px) !important;
    gap:28px !important;
  }
  .hero h1{
    font-size:clamp(58px,6.4vw,82px) !important;
    max-width:10.5ch !important;
  }
  .hero .visual{
    max-width:420px !important;
    height:560px !important;
    min-height:560px !important;
  }
}

@media (max-width:850px){
  .wrap.hero,
  .hero{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .hero > div:first-child,
  .hero p{max-width:none !important;}
  .hero h1{
    font-size:clamp(54px,13vw,74px) !important;
    max-width:none !important;
  }
  .hero .visual{
    justify-self:center !important;
    width:min(100%, 560px) !important;
    max-width:560px !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 5 !important;
  }
}



/* V67 — restore the original wide technology layout */
#guelich .wrap{
  max-width:1280px !important;
}
#guelich .tech{
  width:100% !important;
  max-width:none !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
  margin-top:65px !important;
}
#guelich .tech article{
  width:100% !important;
  min-width:0 !important;
  padding:28px 0 0 !important;
  border-top:1px solid #708087 !important;
  background:transparent !important;
  backdrop-filter:none !important;
}
#guelich .tech h3{
  font-size:28px !important;
  margin:0 0 14px !important;
}
#guelich .tech p{
  max-width:330px !important;
  margin:0 !important;
  line-height:1.7 !important;
}
@media(max-width:850px){
  #guelich .tech{
    grid-template-columns:1fr !important;
    gap:0 !important;
    margin-top:44px !important;
  }
  #guelich .tech article{
    padding:26px 0 !important;
  }
  #guelich .tech p{
    max-width:none !important;
  }
}



/* V68 — responsive spacing + service CTA repair */
:root{--section-space:clamp(84px,8.5vw,132px);--gutter:clamp(20px,5vw,72px)}
.wrap{padding-left:var(--gutter)!important;padding-right:var(--gutter)!important}
.section{padding-top:var(--section-space)!important;padding-bottom:var(--section-space)!important}

/* Intro: paragraph removed, cards keep a deliberate clean gap */
.site-home > main > .section:nth-of-type(2) .practice-principles{
  margin-top:clamp(38px,4.5vw,64px)!important;
}

/* Practice block remains clean after removing local reach copy */
#praxis .lead{
  margin-top:clamp(24px,2.6vw,34px)!important;
  line-height:1.72!important;
}

/* Service detail page booking CTAs: strong black buttons with white type */
.subpage .service-copy .actions .primary,
.subpage .local-service-cta .actions .primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:100%!important;
  padding:15px 21px!important;
  background:#15242b!important;
  color:#ffffff!important;
  border:1px solid #15242b!important;
  box-shadow:none!important;
  transition:background .2s ease,border-color .2s ease,color .2s ease!important;
}
.subpage .service-copy .actions .primary:hover,
.subpage .local-service-cta .actions .primary:hover{
  background:#263841!important;
  border-color:#263841!important;
  color:#ffffff!important;
}

/* Consistent vertical rhythm on service pages */
.service-page-hero{padding-top:clamp(58px,6vw,90px)!important;padding-bottom:clamp(48px,5vw,70px)!important}
.service-page-grid{gap:clamp(34px,6vw,86px)!important}
.service-copy h3{margin-top:clamp(38px,5vw,52px)!important}
.seo-faq,.related-services,.local-service-cta{padding-top:clamp(72px,7vw,108px)!important;padding-bottom:clamp(72px,7vw,108px)!important}
.cta-box{gap:clamp(24px,4vw,54px)!important}

/* Laptop/Desktop */
@media (min-width:1200px){
  .hero{padding-top:clamp(64px,6vw,84px)!important;padding-bottom:clamp(70px,6vw,92px)!important}
  #praxis .wrap.split{column-gap:clamp(40px,4vw,64px)!important}
}

/* Tablet + compact laptop */
@media (min-width:851px) and (max-width:1199px){
  :root{--section-space:clamp(76px,8vw,104px);--gutter:clamp(28px,4.5vw,52px)}
  .hero{padding-top:58px!important;padding-bottom:72px!important}
  .practice-principles{margin-top:46px!important}
  .service-page-grid{grid-template-columns:1fr .78fr!important}
  .cta-box{align-items:center!important}
}

/* Mobile / iPad portrait */
@media (max-width:850px){
  :root{--section-space:72px;--gutter:20px}
  .hero{padding-top:42px!important;padding-bottom:64px!important}
  .section h2{margin-bottom:0!important}
  .practice-principles{margin-top:34px!important}
  .practice-principles article{padding:24px 22px!important}
  .service-page-grid{grid-template-columns:1fr!important;gap:44px!important}
  .service-copy .actions{margin-top:30px!important}
  .subpage .service-copy .actions .primary,
  .subpage .local-service-cta .actions .primary{
    width:100%!important;
    min-height:50px!important;
    text-align:center!important;
  }
  .cta-box{grid-template-columns:1fr!important;gap:24px!important}
  #praxis .lead{font-size:16px!important;margin-top:22px!important}
}

@media (max-width:480px){
  :root{--section-space:62px;--gutter:18px}
  .eyebrow{margin-bottom:18px!important}
  .hero{padding-top:34px!important;padding-bottom:56px!important}
  .practice-principles{margin-top:28px!important}
  .service-page-hero{padding-top:40px!important;padding-bottom:38px!important}
  .seo-faq,.related-services,.local-service-cta{padding-top:58px!important;padding-bottom:58px!important}
}



/* V70 — team voice + prominent Dr. Gülich CTA + four-image practice slideshow */
#ansprechpartner .doctor-cta-prominent{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  padding:16px 24px !important;
  background:#f7fbfc !important;
  color:#17272e !important;
  border:1px solid #f7fbfc !important;
  border-bottom:1px solid #f7fbfc !important;
  font-weight:650;
  letter-spacing:.01em;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
#ansprechpartner .doctor-cta-prominent:hover{
  background:#eaf6fa !important;
  border-color:#eaf6fa !important;
  transform:translateY(-1px);
}
#praxis .practice-slide{
  animation-duration:20s !important;
}



/* V71 — robust rendering of the two Dr.-Gülich images, especially on iPhone/iPad */
#dr-guelich-page .profile-photo-grid{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
}
#dr-guelich-page .profile-photo.real-photo{
  position:relative !important;
  display:block !important;
  overflow:hidden !important;
  visibility:visible !important;
  opacity:1 !important;
  background-size:cover !important;
  background-position:center !important;
}
#dr-guelich-page .profile-photo-img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center !important;
  opacity:1 !important;
}
#dr-guelich-page .profile-photo.real-photo:first-child .profile-photo-img{
  filter:brightness(1.20) contrast(1.04) saturate(1.02) !important;
}
#dr-guelich-page .profile-photo.real-photo:last-child .profile-photo-img{
  filter:brightness(1.08) contrast(1.03) saturate(1.00) !important;
}
/* Remove parent filters so Safari does not drop the rendered child layer. */
#dr-guelich-page .profile-photo.real-photo,
#dr-guelich-page .profile-photo.real-photo:first-child,
#dr-guelich-page .profile-photo.real-photo:last-child{
  filter:none !important;
  transform:none !important;
  backface-visibility:visible !important;
}
@media (max-width:850px){
  #dr-guelich-page .profile-photo-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  #dr-guelich-page .profile-photo.real-photo{
    width:100% !important;
    height:clamp(300px,72vw,430px) !important;
    min-height:300px !important;
    aspect-ratio:auto !important;
  }
}
@media (max-width:480px){
  #dr-guelich-page .profile-photo.real-photo{
    height:clamp(290px,78vw,380px) !important;
    min-height:290px !important;
  }
}



/* V72 — viewport-first hero + responsive spacing pass */
html,body{max-width:100%;overflow-x:hidden}

/* Desktop hero: first view reads as one complete premium screen */
.site-home > main > .hero{
  min-height:calc(100svh - 86px) !important;
  padding-top:clamp(28px,4vh,48px) !important;
  padding-bottom:clamp(28px,4vh,48px) !important;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr) !important;
  gap:clamp(38px,4.5vw,72px) !important;
  align-items:center !important;
}
.site-home > main > .hero > div:first-child{
  min-width:0;
  max-width:690px;
}
.site-home > main > .hero h1{
  font-size:clamp(64px,6.5vw,110px) !important;
  line-height:.94 !important;
  max-width:9.4ch !important;
}
.site-home > main > .hero p{
  margin:26px 0 !important;
  max-width:560px !important;
}
.site-home > main > .hero .actions{
  flex-wrap:wrap !important;
  gap:12px 16px !important;
}
.site-home > main > .hero .visual{
  width:100% !important;
  max-width:560px !important;
  justify-self:end !important;
  height:min(720px,calc(100svh - 150px)) !important;
  min-height:520px !important;
  aspect-ratio:auto !important;
  margin:0 !important;
}
.site-home > main > .hero .future-portrait{
  width:100%;height:100%;inset:0 !important;
}

/* Large notebooks / desktop */
@media(min-width:1280px){
  .wrap{padding-left:clamp(44px,5vw,72px);padding-right:clamp(44px,5vw,72px)}
  .site-home > main > .hero .visual{max-width:590px !important}
}

/* Notebook / iPad Pro landscape range */
@media(min-width:851px) and (max-width:1199px){
  .wrap{padding-left:clamp(28px,4vw,44px);padding-right:clamp(28px,4vw,44px)}
  .site-home > main > .hero{
    grid-template-columns:minmax(0,1fr) minmax(360px,.82fr) !important;
    gap:clamp(26px,3.2vw,42px) !important;
  }
  .site-home > main > .hero h1{
    font-size:clamp(56px,6.4vw,78px) !important;
    max-width:10ch !important;
  }
  .site-home > main > .hero .visual{
    max-width:450px !important;
    height:min(620px,calc(100svh - 140px)) !important;
    min-height:480px !important;
  }
  .section{padding-top:clamp(92px,10vw,120px) !important;padding-bottom:clamp(92px,10vw,120px) !important}
}

/* Phones + iPad portrait: clean, edge-safe, one-column */
@media(max-width:850px){
  :root{--mobile-pad:clamp(18px,5.2vw,28px)}
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom)) !important}
  .wrap,
  header .wrap{
    width:100% !important;
    max-width:none !important;
    padding-left:var(--mobile-pad) !important;
    padding-right:var(--mobile-pad) !important;
  }

  header nav{height:70px !important;gap:12px !important}
  header .brand img{width:42px !important;height:42px !important;flex-basis:42px !important}
  .mobile-menu-trigger{width:44px !important;height:44px !important;flex:0 0 44px}

  /* Hero occupies the opening experience; next section begins only after it */
  .site-home > main > .hero{
    min-height:calc(100svh - 70px) !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    align-content:start !important;
    gap:clamp(22px,4.5vh,38px) !important;
    padding-top:clamp(26px,5vh,44px) !important;
    padding-bottom:calc(92px + env(safe-area-inset-bottom)) !important;
  }
  .site-home > main > .hero > div:first-child{
    width:100% !important;
    max-width:none !important;
  }
  .site-home > main > .hero .eyebrow{
    margin-bottom:16px !important;
    font-size:10px !important;
  }
  .site-home > main > .hero h1{
    font-size:clamp(48px,12.6vw,72px) !important;
    line-height:.95 !important;
    letter-spacing:-.047em !important;
    max-width:9.6ch !important;
  }
  .site-home > main > .hero p{
    font-size:15.5px !important;
    line-height:1.55 !important;
    margin:18px 0 20px !important;
    max-width:34rem !important;
  }
  .site-home > main > .hero .actions{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:10px 14px !important;
    margin:0 !important;
  }
  .site-home > main > .hero .actions .primary{
    min-height:48px !important;
    min-width:0 !important;
    width:auto !important;
    padding:0 18px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .site-home > main > .hero .actions .secondary{
    min-height:44px !important;
    width:auto !important;
    padding:0 2px 2px !important;
    display:inline-flex !important;
    align-items:center !important;
  }
  .site-home > main > .hero .visual{
    width:100% !important;
    max-width:560px !important;
    justify-self:center !important;
    height:clamp(265px,37svh,430px) !important;
    min-height:265px !important;
    aspect-ratio:auto !important;
    margin:0 !important;
  }
  .site-home > main > .hero .portrait-placeholder.hero-portrait.future-portrait::before{
    width:54% !important;
    height:82% !important;
    right:9% !important;
  }

  /* Consistent spacing across the rest of the site */
  .section{
    padding-top:clamp(72px,11vw,94px) !important;
    padding-bottom:clamp(72px,11vw,94px) !important;
  }
  .section h2{
    font-size:clamp(38px,10.2vw,56px) !important;
    line-height:1 !important;
  }
  .eyebrow{margin-bottom:18px !important}
  .lead{margin-top:22px !important;font-size:16px !important;line-height:1.68 !important}

  .practice-principles-v34{margin-top:42px !important}
  .practice-principles-v34 article{padding:28px 0 !important}

  #leistungen .services{margin-top:40px !important}
  #leistungen .service{padding:32px 0 !important}
  #leistungen .service h3{font-size:clamp(28px,7.6vw,34px) !important}

  #ansprechpartner .split{gap:30px !important}
  #ansprechpartner .doctor-secondary{min-height:clamp(320px,82vw,440px) !important}

  #guelich .tech{gap:0 !important;margin-top:42px !important}
  #guelich .tech article{padding:24px 0 !important}

  #praxis .wrap.split{gap:30px !important}
  #praxis .practice-slideshow{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4/3 !important;
    margin-top:0 !important;
  }

  .google-top{margin-top:34px !important}
  .google-score,.google-actions{padding:24px var(--mobile-pad) !important}
  .review-window{margin-left:calc(var(--mobile-pad) * -1) !important;margin-right:calc(var(--mobile-pad) * -1) !important}
  .review-card{width:calc(100vw - (var(--mobile-pad) * 2) - 20px) !important;max-width:390px !important}

  .contact-grid{gap:14px !important;margin-top:34px !important}
  .contact-card{padding:24px !important}

  .booking{padding:82px var(--mobile-pad) 104px !important}
  .booking h2{font-size:clamp(40px,10vw,52px) !important}

  .service-page-hero{padding:40px 0 !important}
  .service-page-hero h1{font-size:clamp(42px,11vw,58px) !important}
  .service-page-grid{gap:46px !important}
  .service-copy h2{font-size:clamp(34px,9vw,44px) !important}
  .service-copy h3{font-size:clamp(25px,7vw,30px) !important}
  .image-column{gap:16px !important}
  .image-placeholder{min-height:240px !important}

  .profile-hero{padding:40px 0 56px !important}
  .profile-hero-grid{gap:34px !important}
  .profile-portrait{min-height:clamp(360px,105vw,520px) !important}
  .profile-photo-grid{gap:16px !important}
  .profile-photo.real-photo{aspect-ratio:4/3 !important;min-height:0 !important}

  footer .foot{gap:30px !important}

  .mobile-booking-bar{
    left:var(--mobile-pad) !important;
    right:var(--mobile-pad) !important;
    bottom:calc(10px + env(safe-area-inset-bottom)) !important;
    padding:8px !important;
  }
}

/* Small phones: preserve breathing room without crushing content */
@media(max-width:390px){
  :root{--mobile-pad:18px}
  .site-home > main > .hero{
    gap:20px !important;
    padding-top:24px !important;
  }
  .site-home > main > .hero h1{font-size:clamp(46px,13vw,58px) !important}
  .site-home > main > .hero p{font-size:15px !important;margin:16px 0 18px !important}
  .site-home > main > .hero .visual{height:clamp(245px,34svh,320px) !important;min-height:245px !important}
  .site-home > main > .hero .actions{align-items:flex-start !important;flex-direction:column !important;gap:8px !important}
  .site-home > main > .hero .actions .primary{width:auto !important}
  .section{padding-top:68px !important;padding-bottom:68px !important}
}

/* Very short mobile screens: keep the hero readable; it may extend below viewport, but no next section leaks into view */
@media(max-width:850px) and (max-height:700px){
  .site-home > main > .hero .visual{height:250px !important;min-height:250px !important}
  .site-home > main > .hero{gap:18px !important;padding-top:22px !important}
}



/* V73 — original portrait of Dr. Gülich supplied by the practice */
:root{--dr-guelich-portrait:url("../images/fe08fc1e34550124.webp");}

/* Main homepage portrait */
.site-home > main > .hero .portrait-placeholder.hero-portrait.future-portrait{
  background-color:#f7f8f8 !important;
  background-image:var(--dr-guelich-portrait) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
}
.site-home > main > .hero .portrait-placeholder.hero-portrait.future-portrait::before,
.site-home > main > .hero .portrait-placeholder.hero-portrait.future-portrait::after{
  display:none !important;
  content:none !important;
}

/* Portrait on the Dr.-Gülich subpage */
#dr-guelich-page .profile-portrait{
  background-color:#f7f8f8 !important;
  background-image:var(--dr-guelich-portrait) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
  padding:0 !important;
}
#dr-guelich-page .profile-portrait::before{display:none !important;content:none !important;}
#dr-guelich-page .profile-portrait > span{display:none !important;}

/* Existing portrait placeholder in the personal-care section */
#ansprechpartner .photo.doctor-secondary{
  background-color:#f7f8f8 !important;
  background-image:var(--dr-guelich-portrait) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
  padding:0 !important;
}
#ansprechpartner .photo.doctor-secondary::before{display:none !important;content:none !important;}
#ansprechpartner .photo.doctor-secondary > span{display:none !important;}

/* On narrow devices preserve the face and avoid an aggressive crop. */
@media(max-width:850px){
  .site-home > main > .hero .portrait-placeholder.hero-portrait.future-portrait{
    background-size:contain !important;
    background-position:center center !important;
  }
  #dr-guelich-page .profile-portrait{
    background-size:cover !important;
    background-position:center center !important;
  }
  #ansprechpartner .photo.doctor-secondary{
    background-size:cover !important;
    background-position:center 28% !important;
  }
}



/* V74 — hero-only responsive fix: keep headline and portrait completely separate */
.site-home > main > .hero{
  grid-template-columns:minmax(0,1fr) clamp(420px,38vw,560px) !important;
  column-gap:clamp(38px,4vw,64px) !important;
  align-items:center !important;
}
.site-home > main > .hero > div:first-child{
  min-width:0 !important;
  width:100% !important;
  max-width:none !important;
  position:relative !important;
  z-index:2 !important;
}
.site-home > main > .hero h1{
  max-width:none !important;
  width:auto !important;
  font-size:clamp(62px,5.45vw,92px) !important;
  line-height:.94 !important;
  letter-spacing:-.047em !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  white-space:normal !important;
}
.site-home > main > .hero .visual{
  width:100% !important;
  max-width:560px !important;
  justify-self:end !important;
  position:relative !important;
  z-index:1 !important;
  overflow:hidden !important;
}

/* 15-inch MacBook / common notebook widths */
@media (min-width:1200px) and (max-width:1599px){
  .site-home > main > .hero{
    grid-template-columns:minmax(0,1fr) clamp(410px,36vw,510px) !important;
    column-gap:clamp(34px,3.2vw,48px) !important;
  }
  .site-home > main > .hero h1{
    font-size:clamp(62px,5.15vw,82px) !important;
  }
  .site-home > main > .hero .visual{
    max-width:510px !important;
  }
}

/* iPad landscape / compact notebooks: still two clean columns while there is enough room */
@media (min-width:981px) and (max-width:1199px){
  .site-home > main > .hero{
    grid-template-columns:minmax(0,1fr) clamp(330px,34vw,390px) !important;
    column-gap:28px !important;
  }
  .site-home > main > .hero h1{
    font-size:clamp(54px,5.7vw,68px) !important;
  }
  .site-home > main > .hero .visual{
    max-width:390px !important;
    min-height:460px !important;
    height:min(590px,calc(100svh - 140px)) !important;
  }
}

/* Narrow tablets and phones: one column prevents any possible collision */
@media (max-width:980px){
  .site-home > main > .hero{
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    row-gap:clamp(24px,4vh,36px) !important;
  }
  .site-home > main > .hero h1{
    max-width:none !important;
    font-size:clamp(44px,8.4vw,64px) !important;
  }
  .site-home > main > .hero .visual{
    justify-self:center !important;
    width:min(100%,560px) !important;
    max-width:560px !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 5 !important;
  }
}

/* Phones: size the long word to the actual content width instead of letting it overflow */
@media (max-width:600px){
  .site-home > main > .hero h1{
    font-size:clamp(36px,10vw,54px) !important;
    line-height:.96 !important;
    letter-spacing:-.044em !important;
  }
}
@media (max-width:390px){
  .site-home > main > .hero h1{
    font-size:clamp(33px,9.8vw,40px) !important;
  }
}



/* V75 — precise hero fit: no text/portrait collision at notebook widths */
.site-home > main > .hero{
  overflow:visible !important;
}
.site-home > main > .hero > div:first-child{
  min-width:0 !important;
  overflow:visible !important;
}
.site-home > main > .hero h1{
  position:relative !important;
  z-index:2 !important;
  margin-right:0 !important;
}

/* Common 15-inch MacBook / laptop widths */
@media (min-width:1200px) and (max-width:1599px){
  .site-home > main > .hero{
    grid-template-columns:minmax(0,1fr) 470px !important;
    column-gap:46px !important;
  }
  .site-home > main > .hero h1{
    font-size:clamp(58px,4.15vw,66px) !important;
    line-height:.96 !important;
    letter-spacing:-.045em !important;
    max-width:100% !important;
  }
  .site-home > main > .hero .visual{
    width:470px !important;
    max-width:470px !important;
  }
}

/* Slightly wider desktop notebooks */
@media (min-width:1600px) and (max-width:1799px){
  .site-home > main > .hero{
    grid-template-columns:minmax(0,1fr) 520px !important;
    column-gap:54px !important;
  }
  .site-home > main > .hero h1{
    font-size:clamp(66px,4.35vw,76px) !important;
    max-width:100% !important;
  }
  .site-home > main > .hero .visual{
    width:520px !important;
    max-width:520px !important;
  }
}

/* Compact notebook / iPad landscape */
@media (min-width:981px) and (max-width:1199px){
  .site-home > main > .hero{
    grid-template-columns:minmax(0,1fr) 360px !important;
    column-gap:30px !important;
  }
  .site-home > main > .hero h1{
    font-size:clamp(50px,5vw,60px) !important;
    max-width:100% !important;
  }
  .site-home > main > .hero .visual{
    width:360px !important;
    max-width:360px !important;
  }
}



/* V78 — echte Leistungsbilder, keine leeren Platzhalter */
.service-image{
  width:100%;
  min-height:360px;
  border:1px solid var(--line);
  background-size:cover;
  background-repeat:no-repeat;
  background-color:#f4f8f9;
  overflow:hidden;
}
.image-column:has(.service-image){
  display:grid;
  gap:24px;
}
.service-page-grid.no-service-images{
  grid-template-columns:minmax(0,900px) !important;
  gap:0 !important;
}
.service-page-grid.no-service-images .service-copy{
  max-width:900px;
}
@media (min-width:851px){
  .service-image{min-height:390px;}
  .image-column .service-image:only-child{min-height:500px;}
}
@media (max-width:850px){
  .service-page-grid{grid-template-columns:1fr !important;gap:34px !important;}
  .service-page-grid.no-service-images{gap:0 !important;}
  .image-column{position:static !important;margin-top:0 !important;}
  .service-image{
    min-height:0;
    aspect-ratio:4/3;
  }
  .image-column .service-image:only-child{
    aspect-ratio:4/3;
  }
}



/* V79 — geordnete Fließtexte auf den Leistungsseiten */
#leistungen .service p,
.service-page-hero p,
.service-copy > p,
.service-copy .service-note,
.seo-faq details p{
  text-align:justify;
  text-align-last:left;
  hyphens:auto;
  -webkit-hyphens:auto;
  overflow-wrap:break-word;
}
@media (max-width:520px){
  #leistungen .service p,
  .service-page-hero p,
  .service-copy > p,
  .service-copy .service-note,
  .seo-faq details p{
    text-align:justify;
    text-align-last:left;
    hyphens:auto;
    -webkit-hyphens:auto;
  }
}


/* V85 production: static multi-page routing. */
html,body{max-width:100%;overflow-x:hidden}
body.production-page .subpage{display:block!important}
body.production-page .site-home{display:block!important}

/* V89 FINAL — robust service booking CTA colors on production pages */
body.production-page .service-copy .actions a.primary,
body.production-page .service-copy .actions a.primary:link,
body.production-page .service-copy .actions a.primary:visited,
body.production-page .local-service-cta .actions a.primary,
body.production-page .local-service-cta .actions a.primary:link,
body.production-page .local-service-cta .actions a.primary:visited{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:100%!important;
  padding:15px 21px!important;
  background:#15242b!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
  border:1px solid #15242b!important;
  box-shadow:none!important;
  opacity:1!important;
}
body.production-page .service-copy .actions a.primary:hover,
body.production-page .service-copy .actions a.primary:focus,
body.production-page .service-copy .actions a.primary:active,
body.production-page .local-service-cta .actions a.primary:hover,
body.production-page .local-service-cta .actions a.primary:focus,
body.production-page .local-service-cta .actions a.primary:active{
  background:#263841!important;
  border-color:#263841!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
}
