*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Segoe UI',system-ui,sans-serif;background:#f8f9fa;color:#2f353b;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);}
:root{
  --p:#2f353b;
  --s:#c5a059;
  --t:#e8e2d6;
  --n:#f8f9fa;
  --p2:#3d454c;
  --p3:#525a62;
  --s2:#d4b472;
  --s-bg:#faf6ee;
  --white:#ffffff;
  --txt-muted:#6b7480;
}

/* TOPBAR */
.tb{/*position:sticky;top:0;z-index:100;width:100%;*/background:var(--p);padding:9px 44px;display:flex;justify-content:flex-end;gap:32px;flex-wrap:wrap;}
.tb a{color:rgba(255,255,255,.6);font-size:11px;letter-spacing:.3px;text-decoration:none;display:flex;align-items:center;gap:6px;}
.tb a:hover{color:var(--s);}
.tb svg{flex-shrink:0;opacity:.7;}

/* NAV */
.nav{
  /*position:sticky;top:33px;z-index:100;width:100%;*/
  box-shadow:0 2px 16px rgba(0,0,0,.18);
  background:var(--white);border-bottom:1px solid var(--t);display:flex;justify-content:space-between;align-items:center;padding:0 44px;height:70px;
}
.logo{display:flex;align-items:center;gap:12px;}
.logo-icon{width:42px;height:42px;background:var(--p);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.logo-icon img{width:42px;height:42px;object-fit:cover;}
.logo-txt{display:flex;flex-direction:column;}
.logo-name{font-size:20px;font-weight:700;letter-spacing:2px;color:var(--p);line-height:1;}
.logo-name em{font-style:normal;color:var(--s);}
.logo-sub{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--txt-muted);margin-top:3px;}
.nav ul{display:flex;gap:32px;list-style:none;}
.nav ul a{font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:var(--p3);text-decoration:none;}
.nav ul a:hover{color:var(--s);}
.nav-cta{box-shadow:0 2px 16px rgba(0,0,0,.18);background:var(--s);color:var(--p);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:11px 24px;border:none;cursor:pointer;border-radius:2px;transition:background .18s;}
.nav-cta:hover{background:var(--s2);}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:4px;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--p);margin:5px 0;transition:.2s;}
.nav-book-mobile {display:none; box-shadow:0 2px 16px rgba(0,0,0,.18); background:var(--s); color:var(--p);}
.nav-direkt-book{display:none;}


/* HERO */
.hero{display:grid;grid-template-columns:1fr 360px;min-height:560px;}
.hero-l{background:var(--p);padding:76px 56px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;}
.hero-l::after{content:'';position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;border:1px solid rgba(197,160,89,.12);}
.hero-l::before{content:'';position:absolute;left:-40px;bottom:-40px;width:180px;height:180px;border-radius:50%;border:1px solid rgba(197,160,89,.08);}
.hero-anim{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:0;}
.hero-l > *:not(.hero-anim){position:relative;z-index:1;}
@keyframes rotSlow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes rotSlowR{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
@keyframes pulse{0%,100%{opacity:.18}50%{opacity:.32}}
@keyframes dashFlow{from{stroke-dashoffset:400}to{stroke-dashoffset:0}}
@keyframes floatDot{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.eyebrow{font-size:10px;letter-spacing:3.5px;text-transform:uppercase;color:var(--s);margin-bottom:22px;display:flex;align-items:center;gap:10px;}
.eyebrow::before{content:'';width:28px;height:1px;background:var(--s);}
.hero-l h1{font-size:48px;font-weight:300;color:var(--white);line-height:1.15;letter-spacing:-1px;margin-bottom:20px;}
.hero-l h1 strong{font-weight:700;color:var(--s);}
.hero-l p{font-size:14px;color:rgba(255,255,255,.5);line-height:1.9;max-width:400px;margin-bottom:44px;}
.hbtns{display:flex;gap:12px;flex-wrap:wrap;}
.btn-main{background:var(--s);color:var(--p);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:14px 32px;border:none;cursor:pointer;border-radius:2px;transition:background .18s;}
.btn-main:hover{background:var(--s2);}
.btn-ghost{background:transparent;color:rgba(255,255,255,.6);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;padding:14px 26px;border:1px solid rgba(255,255,255,.2);cursor:pointer;border-radius:2px;transition:border-color .18s,color .18s;}
.btn-ghost:hover{border-color:rgba(255,255,255,.5);color:#fff;}

/* HERO TILES */
.hero-r{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;background:var(--t);}
.htile{background:var(--white);padding:34px 28px;border-bottom:1px solid var(--t);border-right:1px solid var(--t);display:flex;flex-direction:column;justify-content:flex-start;transition:background .18s;}
.htile:hover{background:var(--s-bg);}
.htile:nth-child(2){border-right:none;}
.htile:nth-child(3){border-bottom:none;}
.htile:nth-child(4){border-right:none;border-bottom:none;}
.hn{font-size:46px;font-weight:700;color:var(--s);line-height:1;letter-spacing:-2px;margin-bottom:6px;}
.hn-wahlarzt{font-size:26px;letter-spacing:0;margin-bottom:8px;margin-top:4px;}
.hl{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--txt-muted);}
.hs{font-size:12px;color:var(--p3);margin-top:3px;}

/* STRIP */
.strip{background:var(--p2);display:flex;flex-wrap:wrap;}
.si{flex:1;min-width:160px;padding:18px 16px;border-right:1px solid rgba(255,255,255,.07);text-align:center;}
.si:last-child{border-right:none;}
.sil{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:4px;}
.siv{font-size:12.5px;font-weight:600;color:rgba(255,255,255,.85);}

/* INTRO */
.intro{display:grid;grid-template-columns:1fr 1fr;}
.intro-l{padding:72px 56px;display:flex;flex-direction:column;justify-content:center;background:var(--white);}
.sec-tag{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--s);margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.sec-tag::before{content:'';width:20px;height:1px;background:var(--s);}
.intro-l h2{font-size:34px;font-weight:300;color:var(--p);letter-spacing:-.5px;line-height:1.3;margin-bottom:18px;}
.intro-l h2 strong{font-weight:700;}
.intro-l p{font-size:14px;color:var(--txt-muted);line-height:1.9;margin-bottom:12px;}
.intro-link{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--s);margin-top:14px;cursor:pointer;border-bottom:1px solid var(--s);padding-bottom:3px;width:fit-content;}
.intro-r{background:var(--t);padding:56px 48px;display:flex;flex-direction:column;justify-content:center;gap:18px;}
.icard{background:var(--white);border-left:3px solid var(--s);padding:22px 20px;border-radius:0 3px 3px 0;}
.icard-n{font-size:28px;font-weight:700;color:var(--s);line-height:1;}
.icard-l{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--txt-muted);margin-top:4px;}
.icard-t{font-size:12.5px;color:var(--p3);margin-top:7px;line-height:1.6;}
.intro-grid {display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.06);margin-top:8px;}

/* LEISTUNGEN */
.lsec{background:var(--n);padding:72px 44px;}
.lsec h2{font-size:34px;font-weight:300;color:var(--p);letter-spacing:-.5px;margin-bottom:8px;}
.lsec h2 strong{font-weight:700;}
.lsec-sub{font-size:14px;color:var(--txt-muted);line-height:1.8;max-width:520px;margin-bottom:48px;}
.l-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--t);}
#endoprothetik_3columns {grid-template-columns:repeat(3,minmax(0,1fr));}
.lc{background:var(--white);padding:36px 26px;border-top:3px solid transparent;transition:border-color .18s,background .18s;}
.lc:hover{border-top-color:var(--s);background:var(--s-bg);}
.lc-ic{width:44px;height:44px;border-radius:50%;background:var(--t);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.lc-ic svg{width:20px;height:20px;stroke:var(--p);fill:none;stroke-width:1.6;}
.lc h3{font-size:14px;font-weight:600;color:var(--p);margin-bottom:10px;}
.lc p{font-size:12.5px;color:var(--txt-muted);line-height:1.8;}

/* SPEZIALSECTION */
.spez{background:var(--s-bg);border-top:1px solid var(--t);padding:40px 44px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.spez-txt h3{font-size:15px;font-weight:600;color:var(--p);margin-bottom:6px;}
.spez-txt p{font-size:13px;color:var(--txt-muted);}
.spez-links{display:flex;gap:12px;flex-wrap:wrap;}
.spez-link{display:inline-block;background:var(--white);border:1px solid var(--t);color:var(--p);font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:10px 18px;border-radius:2px;text-decoration:none;transition:border-color .18s;}
.spez-link:hover{border-color:var(--s);}

/* TEAM */
.tsec{background:var(--white);padding:72px 44px;}
.tsec h2{font-size:34px;font-weight:300;color:var(--p);letter-spacing:-.5px;margin-bottom:8px;}
.tsec h2 strong{font-weight:700;}
.tsec-sub{font-size:14px;color:var(--txt-muted);line-height:1.8;margin-bottom:48px;}
.t-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.tc{border:1px solid var(--t);border-radius:3px;overflow:hidden;background:var(--white);transition:border-color .18s,transform .18s;}
.tc:hover{border-color:var(--s);transform:translateY(-3px);}
.tc-av{height:250px;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:700;color:var(--white);letter-spacing:-1px;}
.a1{background:var(--p);}.a2{background:var(--p2);}.a3{background:#3a3830;}.a4{background:#2e3a35;}
.tc-av img {  width: 100%; height: 100%; object-fit: contain;}
.tc-body{padding:18px 16px 20px;}
.tc h3{font-size:13px;font-weight:600;color:var(--p);margin-bottom:5px;line-height:1.35;}
.tc-r{font-size:11px;color:var(--txt-muted);line-height:1.65;margin-bottom:2px;min-height:36px;}
.tc-btn{width:100%;background:var(--p);color:var(--white);font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:10px;border:none;cursor:pointer;border-radius:2px;transition:background .18s; margin-bottom: 5px;}
.tc-btn:hover{background:var(--s);color:var(--p);}
.tech-tag{display:inline-block;margin-top:6px; margin-bottom: 15px; font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--s);background:var(--s-bg);padding:4px 10px;border-radius:20px;}

/* KOSTEN */
.ksec{display:grid;grid-template-columns:1fr 1fr;}
.ksec-l{background:var(--p);padding:72px 52px;display:flex;flex-direction:column;justify-content:center;}
.ksec-l .sec-tag{color:var(--s);}
.ksec-info{margin-top:36px;display:flex;align-items:flex-start;gap:16px;border-top:1px solid rgba(255,255,255,.08);padding-top:32px;}
.ksec-info-n{font-size:40px;font-weight:700;color:var(--s);line-height:1;flex-shrink:0;letter-spacing:-1px;}
.ksec-info-l{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:6px;}
.ksec-info-t{font-size:12.5px;color:rgba(255,255,255,.45);line-height:1.7;}
.ksec-r{background:var(--p2);padding:72px 48px;display:flex;flex-direction:column;justify-content:center;}
.k-hint{font-size:11px;color:rgba(255,255,255,.28);line-height:1.7;letter-spacing:.2px;margin-bottom:14px;}
.k-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.06);width:100%;}
.kc{background:var(--p2);padding:28px 24px;transition:background .18s;}
.kc:hover{background:#454d54;}
.kc-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:10px;}
.kc-price{font-size:30px;font-weight:700;color:var(--white);line-height:1;letter-spacing:-1px;}
.kc-price span{font-size:16px;font-weight:400;color:var(--s);}


/* STANDORTE */
.ssec{background:var(--p);padding:72px 44px;}
.ssec h2{font-size:34px;font-weight:300;color:var(--white);letter-spacing:-.5px;margin-bottom:8px;}
.ssec h2 strong{font-weight:700;color:var(--s);}
.ssec-sub{font-size:14px;color:rgba(255,255,255,.45);line-height:1.8;margin-bottom:48px;}
.s-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.06);}
.sc{background:var(--p2);padding:40px 32px;transition:background .18s;}
.sc:hover{background:#454d54;}
.sc-no{font-size:44px;font-weight:700;color:var(--s);opacity:.2;line-height:1;margin-bottom:12px;}
.sc-city{font-size:20px;font-weight:700;color:var(--white);margin-bottom:6px;}
.sc-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(197,160,89,.15);color:var(--s);font-size:9px;letter-spacing:2px;text-transform:uppercase;padding:4px 10px;border-radius:20px;margin-bottom:14px;}
.sc-addr{font-size:13px;color:rgba(255,255,255,.45);line-height:1.9;}
.sc-tel{margin-top:12px;font-size:12px;color:rgba(255,255,255,.35);line-height:1.8;}
.sc-tel a{color:rgba(255,255,255,.55);text-decoration:none;}
.sc-tel a:hover{color:var(--s);}

/* CTA */
.cta{display:grid;grid-template-columns:1fr 1fr;}
.cta-l{background:var(--s);padding:64px 52px;display:flex;flex-direction:column;justify-content:center;}
.cta-l h2{font-size:32px;font-weight:300;color:var(--p);line-height:1.3;margin-bottom:10px;}
.cta-l h2 strong{font-weight:700;}
.cta-l p{font-size:14px;color:rgba(47,53,59,.65);line-height:1.85;}
.cta-r{background:#a8863e;padding:64px 52px;display:flex;flex-direction:column;justify-content:center;gap:18px;}
.cta-big{background:var(--p);color:var(--white);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:16px 36px;border:none;cursor:pointer;border-radius:2px;width:fit-content;transition:background .18s;}
.cta-big:hover{background:var(--p2);}
.cta-note{font-size:11px;color:rgba(255,255,255,.45);letter-spacing:.3px;}
.cta-phones{display:flex;flex-direction:column;gap:4px;}
.cta-phone{font-size:13px;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:7px;}
.cta-phone a{color:rgba(255,255,255,.7);text-decoration:none;}
.cta-phone a:hover{color:#fff;}
.cta-phone svg{opacity:.6;flex-shrink:0;}



/* FOOTER */
footer{background:#1e2226;display:flex;justify-content:space-between;align-items:center;padding:18px 44px;flex-wrap:wrap;gap:10px;}
.f-logo{font-size:15px;font-weight:700;letter-spacing:2px;color:var(--white);}
.f-logo em{font-style:normal;color:var(--s);}
.f-copy{font-size:11px;color:rgba(255,255,255,.2);}
.f-links{display:flex;gap:20px;}
.f-links a{font-size:11px;color:rgba(255,255,255,.3);text-decoration:none;}
.f-links a:hover{color:var(--s);}

/* ── MOBILE RESPONSIVE ── */
@media(max-width:768px){
  .tb{padding:8px 20px;gap:16px;}
  .tb a:not(:first-child):not(:last-child){display:none;}

  .nav{padding:0 20px;top:35px;}
  .nav ul{display:none;position:absolute;top:95px;left:0;width:100%;background:var(--white);flex-direction:column;gap:0;border-top:1px solid var(--t);box-shadow:0 8px 24px rgba(0,0,0,.12);}
  .nav ul.open{display:flex;}
  .nav ul li a{display:block;padding:16px 24px;border-bottom:1px solid var(--t);font-size:13px;}
  .nav-cta{display:none;}
  .nav-book-mobile{display:list-item;}
  #booking-mobile a:hover{background: var(--p3)}
  .nav-toggle{display:block;}


  .hero{grid-template-columns:1fr;}
  .hero-r{grid-template-columns:1fr 1fr;}
  .hero-l{padding:52px 24px;}
  .hero-l h1{font-size:34px;}

  .strip{flex-direction:row;}
  .si{border-right:1px solid rgba(255,255,255,.07);border-bottom:none;}

  .intro{grid-template-columns:1fr;}
  .intro-l{padding:48px 24px;}
  .intro-r{padding:40px 24px;}

  .lsec{padding:52px 20px;}
  .lc {padding: 20px;}
  .l-grid{grid-template-columns:1fr 1fr;}
  #endoprothetik_3columns {grid-template-columns:repeat(1,minmax(0,1fr));}

  .tsec{padding:52px 20px;}
  .t-grid{grid-template-columns:1fr 1fr;}
  
  .intro-grid{grid-template-columns:1fr;}
  
  .ksec{grid-template-columns:1fr;}
  .k-grid{grid-template-columns:1fr 1fr;}
  .ksec-l{padding:52px 24px;}
  .ksec-r{padding:52px 24px;}
  .kc{padding:10px 8px;}

  .ssec{padding:52px 20px;}
  .s-grid{grid-template-columns:1fr;}

  .cta{grid-template-columns:1fr;}
  .cta-l,.cta-r{padding:48px 24px;}
  .cta-big{width:100%;text-align:center;}

  footer{flex-direction:column;text-align:center;padding:18px 20px;}
  .f-links{justify-content:center;}
}

@media(max-width:420px){
  .hero-l h1{font-size:28px;}
  .l-grid{grid-template-columns:1fr;}
  .t-grid{grid-template-columns:1fr;}
  .hero-r{grid-template-columns:1fr 1fr;}
  
  .k-grid{grid-template-columns:1fr}
  .kc{text-align:center}
}

.anchor {
    display: block;
    position: relative;
    top: -100px;
    visibility: hidden;
}