/* Lokal gehostete Schriften (Fraunces, Inter) – DSGVO-konform, keine Google-Server */
/* Kyrillisch (RU-Seiten): Inter-Cyrillic-Subset; Vollkorn ersetzt Fraunces, das kein Kyrillisch enthält */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(fonts/vollkorn-normal-500-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 300 600;
  font-display: swap;
  src: url(fonts/vollkorn-italic-500-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(fonts/inter-normal-400-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/fraunces-italic-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/fraunces-italic-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/fraunces-normal-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/fraunces-normal-300-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/fraunces-normal-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/fraunces-normal-300-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/fraunces-normal-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/fraunces-normal-300-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/inter-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/inter-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*!
 * Zahnarztpraxis Mensch im Mittelpunkt - Stylesheet
 * Konsolidiertes, gemeinsames Stylesheet fuer alle Seiten.
 */

/* ==========================================================================
   1. GLOBAL / BASE STYLES (design tokens, layout, header, footer, buttons, sections shared across the site)
   ========================================================================== */
:root{
    --cream:#F6F1E8;
    --cream-deep:#EFE7D9;
    --ink:#2A2622;
    --ink-soft:#726B60;
    --blue:#1E56D6;
    --blue-light:#42C6DE;
    --leather:#8C5A38;
    --line:#E1D6C3;
    --white:#FFFDF9;
    --radius-lg:28px;
    --radius-md:18px;
    --container:1180px;
    --header-h:84px;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter', sans-serif;
    color:var(--ink);
    background:var(--cream);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    position:relative;
  }
  body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
      radial-gradient(circle 620px at 2% 6%, rgba(30,86,214,0.16), transparent 72%),
      radial-gradient(circle 680px at 98% 2%, rgba(66,198,222,0.18), transparent 72%),
      radial-gradient(circle 640px at 96% 58%, rgba(140,90,56,0.15), transparent 72%),
      radial-gradient(circle 580px at 1% 52%, rgba(30,86,214,0.13), transparent 72%),
      radial-gradient(circle 700px at 50% 96%, rgba(66,198,222,0.13), transparent 74%),
      radial-gradient(circle 540px at 100% 100%, rgba(140,90,56,0.14), transparent 72%);
  }
  header, main, footer{position:relative; z-index:1;}
  img{max-width:100%; height:auto; display:block;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
  }

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

  h1,h2,h3,.serif{
    font-family:'Fraunces', serif;
    font-weight:500;
    letter-spacing:-0.01em;
    line-height:1.08;
  }

  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--blue);
  }
  .eyebrow::before{
    content:"";
    width:22px;
    height:1.5px;
    background:var(--blue);
    display:inline-block;
  }

  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:15px 30px;
    border-radius:999px;
    font-family:'Inter',sans-serif;
    font-weight:600;
    font-size:15px;
    cursor:pointer;
    border:1px solid transparent;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .2s ease, filter .25s ease;
    white-space:nowrap;
    position:relative;
  }
  .btn:hover{filter:brightness(1.05);}
  .btn-primary{
    background:linear-gradient(135deg, #5A3820 0%, #8C5A38 100%);
    color:var(--white);
    box-shadow:0 8px 18px -10px rgba(74,46,26,0.45);
  }
  .btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 22px -10px rgba(74,46,26,0.5);
  }
  .btn-whatsapp{
    background:linear-gradient(135deg, #4A2E1A 0%, #7A4B2C 100%);
    color:var(--white);
    box-shadow:0 8px 18px -10px rgba(74,46,26,0.45);
  }
  .btn-whatsapp:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 22px -10px rgba(74,46,26,0.5);
  }
  .btn-whatsapp svg{width:18px; height:18px; flex-shrink:0;}
  .btn-ghost{
    border-color:var(--line);
    color:var(--ink);
    background:var(--white);
    box-shadow:0 6px 16px -10px rgba(42,38,34,0.18);
  }
  .btn-ghost:hover{
    background:var(--cream);
    color:var(--blue);
    border-color:var(--blue-light);
    transform:translateY(-2px);
  }
  .btn-ghost svg{width:16px; height:16px; transition:transform .25s ease;}
  .btn-ghost:hover svg{transform:translateX(4px);}
  .btn-light{
    background:var(--white);
    color:var(--ink);
  }
  .btn-light:hover{
    background:var(--ink);
    color:var(--white);
    transform:translateY(-2px);
  }

  .phone-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:600;
    font-size:15px;
  }
  .phone-link svg{width:16px; height:16px; flex-shrink:0; stroke:currentColor;}
  .phone-link span{border-bottom:1.5px solid currentColor; padding-bottom:2px;}

  /* ---------- HEADER ---------- */
  header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:50;
    background:transparent;
    border-bottom:1px solid transparent;
    transition:background .3s ease, backdrop-filter .3s ease, border-color .3s ease, box-shadow .3s ease;
  }
  header.scrolled{
    background:rgba(246,241,232,0.94);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
    box-shadow:0 10px 30px -14px rgba(42,38,34,0.16);
  }
  header:not(.scrolled) .logo-text{filter:drop-shadow(0 1px 4px rgba(255,255,255,0.55));}
  header:not(.scrolled) nav.main-nav > ul > li > a,
  header:not(.scrolled) details.nav-dropdown summary{text-shadow:0 1px 4px rgba(255,255,255,0.55);}
  header:not(.scrolled) .header-phone{text-shadow:0 1px 4px rgba(255,255,255,0.45);}
  .header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 0;
    gap:24px;
  }
  .logo{
    position:relative;
    flex-shrink:0;
    height:44px;
    display:flex;
    align-items:center;
    gap:12px;
  }
  .logo-icon{
    position:relative;
    height:66px;
    width:auto;
    margin:-11px 0;
    flex-shrink:0;
    filter:drop-shadow(0 8px 16px rgba(42,38,34,0.16));
    transition:transform .3s ease;
  }
  .logo:hover .logo-icon{transform:scale(1.06) rotate(-3deg);}
  .logo-text{
    height:52px;
    width:auto;
    flex-shrink:0;
  }
  nav.main-nav > ul{
    display:flex;
    align-items:center;
    gap:26px;
  }
  nav.main-nav > ul > li{position:relative;}
  nav.main-nav > ul > li > a{
    font-size:15px;
    font-weight:600;
    color:var(--ink);
    position:relative;
    padding:4px 0;
    transition:color .2s ease, transform .2s ease;
  }
  nav.main-nav > ul > li > a,
  nav.main-nav > ul > li > details > summary{white-space:nowrap;}
  nav.main-nav > ul > li > a::after{
    content:"";
    position:absolute;
    left:0; bottom:0;
    width:0%;
    height:2px;
    border-radius:2px;
    background:linear-gradient(90deg, var(--blue), var(--blue-light));
    transition:width .25s ease;
  }
  nav.main-nav > ul > li > a:hover{transform:translateY(-1px);}
  nav.main-nav > ul > li > a:hover::after{width:100%;}

  /* ---------- NAV DROPDOWNS ---------- */
  details.nav-dropdown{
    position:relative;
  }
  details.nav-dropdown summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:6px;
    font-size:15px;
    font-weight:600;
    color:var(--ink);
    padding:4px 0;
    transition:color .2s ease, transform .2s ease;
  }
  details.nav-dropdown:hover summary{transform:translateY(-1px);}
  details.nav-dropdown summary::-webkit-details-marker{display:none;}
  details.nav-dropdown summary::after{
    content:"";
    width:6px; height:6px;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg);
    margin-top:-4px;
    transition:transform .2s ease;
    flex-shrink:0;
  }
  details.nav-dropdown:hover summary{color:var(--blue);}
  details.nav-dropdown[open] summary{color:var(--blue);}
  details.nav-dropdown[open] summary::after{transform:rotate(-135deg); margin-top:3px;}

  .dropdown-panel{
    display:block;
    z-index:60;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease, transform .18s ease, visibility .18s;
  }
  details.nav-dropdown[open] .dropdown-panel{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  .dropdown-panel.simple{
    position:absolute;
    top:calc(100% + 14px);
    left:0;
    width:240px;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:0 26px 48px -20px rgba(42,38,34,0.28);
    padding:10px;
    display:flex;
    flex-direction:column;
    gap:1px;
    transform:translateY(-8px);
  }
  .dropdown-panel.simple a{
    display:block;
    width:auto;
    padding:10px 12px;
    border-radius:11px;
    font-size:14.5px;
    font-weight:500;
    color:var(--ink);
    transition:background .18s ease, color .18s ease;
  }
  .dropdown-panel.simple a::after{display:none;}
  .dropdown-panel.simple a:hover{background:var(--cream); color:var(--blue);}

  .dropdown-panel.mega{
    position:absolute;
    top:calc(100% + 14px);
    left:0;
    width:min(760px, 82vw);
    background:var(--white);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:0 26px 48px -20px rgba(42,38,34,0.28);
    transform:translateY(-8px);
    overflow:hidden;
  }
  .mega-inner{
    max-width:none;
    margin:0;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px 36px;
    padding:26px 28px;
  }
  .dropdown-col{padding:0;}
  .dropdown-col-head{margin-bottom:12px;}
  .dropdown-col h4{
    font-family:'Inter',sans-serif;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:0.07em;
    font-weight:600;
    color:var(--blue);
    line-height:1.3;
    padding-bottom:8px;
    border-bottom:1px solid var(--line);
  }
  .dropdown-col ul{
    display:flex;
    flex-direction:column;
    gap:1px;
  }
  .dropdown-col a{
    display:block;
    padding:7px 10px;
    margin-left:-10px;
    border-radius:8px;
    font-size:13.5px;
    font-weight:500;
    color:var(--ink);
    line-height:1.4;
    transition:background .18s ease, color .18s ease;
  }
  .dropdown-col a::after{display:none;}
  .dropdown-col a:hover{background:var(--cream); color:var(--blue);}

  .header-actions{
    display:flex;
    align-items:center;
    gap:22px;
  }
  .header-phone{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:14.5px;
    font-weight:600;
    white-space:nowrap;
  }
  .header-phone svg{width:17px; height:17px; color:var(--blue);}

  .lang-switch{position:relative;}
  .lang-switch summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:7px;
    padding:9px 12px;
    border-radius:999px;
    border:1px solid var(--line);
    background:var(--white);
    font-family:'Inter',sans-serif;
    font-size:13.5px;
    font-weight:600;
    color:var(--ink);
    transition:border-color .2s ease, background .2s ease;
  }
  .lang-switch summary::-webkit-details-marker{display:none;}
  .lang-switch summary:hover{border-color:var(--blue);}
  .lang-flag{font-size:15px; line-height:1;}
  .lang-caret{width:11px; height:11px; stroke:var(--ink-soft); transition:transform .2s ease; flex-shrink:0;}
  .lang-switch[open] .lang-caret{transform:rotate(180deg);}
  .lang-switch[open] summary{border-color:var(--blue);}
  .lang-list{
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:14px;
    box-shadow:0 20px 40px -18px rgba(42,38,34,0.25);
    padding:6px;
    display:flex;
    flex-direction:column;
    gap:1px;
    min-width:150px;
    z-index:60;
  }
  .lang-list button{
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 10px;
    border-radius:9px;
    border:none;
    background:none;
    font-size:14px;
    font-weight:500;
    font-family:'Inter',sans-serif;
    color:var(--ink);
    cursor:pointer;
    text-align:left;
  }
  .lang-list button:hover{background:var(--cream);}
  .lang-list button.is-active{color:var(--blue); font-weight:600;}

  .nav-cta-mobile{display:none;}

  header:not(.scrolled) .menu-toggle{filter:drop-shadow(0 1px 3px rgba(255,255,255,0.55));}
  .menu-toggle{
    display:none;
    background:none;
    border:none;
    cursor:pointer;
    padding:6px;
    flex-shrink:0;
  }
  .menu-toggle span{
    display:block;
    width:24px;
    height:2px;
    background:var(--ink);
    margin:5px 0;
    transition:.3s;
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    height:clamp(640px, 92vh, 920px);
    display:flex;
    align-items:center;
    overflow:hidden;
  }
  .hero-bg{
    position:absolute;
    inset:0;
    z-index:0;
  }
  .hero-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:56% 24%;
  }
  .hero-scrim{
    position:absolute;
    inset:0;
    z-index:1;
    background:
      linear-gradient(to bottom, rgba(246,241,232,0.7) 0%, rgba(246,241,232,0.32) 6%, rgba(246,241,232,0) 13%),
      radial-gradient(ellipse 620px 540px at 22% 46%, var(--cream) 0%, rgba(246,241,232,0.9) 32%, rgba(246,241,232,0.5) 55%, rgba(246,241,232,0.12) 76%, rgba(246,241,232,0) 92%),
      linear-gradient(to bottom, rgba(246,241,232,0) 84%, var(--cream) 100%);
  }
  .hero-arc{
    position:absolute;
    top:-100px;
    right:-220px;
    width:820px;
    max-width:none;
    opacity:0.7;
    pointer-events:none;
    z-index:1;
  }
  .hero-content{
    position:relative;
    z-index:2;
    width:100%;
  }
  .hero-copy{max-width:560px;}
  .hero-copy h1{
    font-size:clamp(2.4rem, 4vw, 3.5rem);
    margin:20px 0 22px;
  }
  .hero-copy h1 em{
    font-style:italic;
    color:var(--blue);
  }
  .hero-copy p{
    font-size:17px;
    line-height:1.7;
    color:var(--ink-soft);
    max-width:520px;
    margin-bottom:34px;
  }
  .hero-cta-row{
    display:flex;
    align-items:center;
    gap:28px;
    flex-wrap:wrap;
    margin-top:20px;
  }

  .hero-badge{
    position:absolute;
    right:32px;
    bottom:0;
    transform:translateY(50%);
    background:var(--white);
    border-radius:20px;
    padding:18px 22px;
    box-shadow:0 20px 40px -18px rgba(42,38,34,0.28);
    display:flex;
    align-items:flex-start;
    gap:14px;
    max-width:380px;
    z-index:3;
  }
  .hero-badge .icon-circle{
    width:42px; height:42px;
    flex-shrink:0;
    margin-top:1px;
  }
  .hero-badge .icon-circle{background:var(--white); border:1px solid var(--line);}
  .hero-badge .icon-circle svg{stroke:none; width:26px; height:26px;}
  .hero-badge-stars{
    display:flex;
    gap:2px;
    margin-bottom:7px;
  }
  .hero-badge-stars svg{width:13px; height:13px; fill:#F5A623;}
  .hero-badge p.hero-badge-quote{
    font-size:13px;
    line-height:1.55;
    color:var(--ink);
    font-weight:500;
    margin-bottom:9px;
    white-space:normal;
  }
  .hero-review-content{
    transition:opacity .5s ease;
  }
  .hero-review-content.is-fading{opacity:0;}
  .hero-review-nav{
    display:flex;
    gap:14px;
    margin-top:10px;
    padding-top:8px;
    border-top:1px solid var(--line);
  }
  .hero-review-nav button{
    display:inline-flex;
    align-items:center;
    gap:4px;
    background:none;
    border:none;
    padding:0;
    font-family:'Inter',sans-serif;
    font-size:11.5px;
    font-weight:600;
    color:var(--ink-soft);
    cursor:pointer;
    transition:color .2s ease;
  }
  .hero-review-nav button:hover{color:var(--blue);}
  .hero-review-nav button svg{width:12px; height:12px;}
  .hero-badge p{
    font-size:12px;
    line-height:1.45;
    color:var(--ink-soft);
    font-weight:500;
    white-space:nowrap;
  }
  .hero-badge strong{
    font-family:'Inter',sans-serif;
    font-size:13px;
    font-weight:600;
    color:var(--ink);
  }

  /* ---------- TRUST STRIP ---------- */
  .trust{
    position:relative;
    padding:70px 0 50px;
    overflow:hidden;
  }
  .trust::before{
    content:"";
    position:absolute;
    top:0; left:0; right:0;
    height:220px;
    background:linear-gradient(to bottom, var(--cream) 0%, rgba(246,241,232,0.6) 45%, rgba(246,241,232,0) 100%);
    pointer-events:none;
    z-index:0;
  }
  .trust-arc{
    position:absolute;
    top:-40px;
    left:50%;
    transform:translateX(-50%);
    width:min(1100px, 140%);
    max-width:none;
    opacity:0.5;
    pointer-events:none;
    z-index:0;
  }
  .trust-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:36px;
    max-width:900px;
    margin:0 auto;
  }
  .trust-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
  .trust-illo{
    width:auto;
    max-width:100%;
    height:170px;
    object-fit:contain;
    margin-bottom:20px;
  }
  .trust-divider{
    width:56px;
    height:2px;
    border-radius:2px;
    background:linear-gradient(90deg, var(--blue-light), var(--blue), var(--leather));
    margin-bottom:16px;
  }
  .trust-card h3{
    font-size:17px;
    font-weight:600;
    margin-bottom:8px;
  }
  .trust-card p{
    font-size:14px;
    color:var(--ink-soft);
    line-height:1.6;
  }
  .icon-circle{
    width:48px; height:48px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--cream-deep);
    margin-bottom:18px;
  }
  .icon-circle svg{
    width:22px; height:22px;
    stroke:var(--blue);
    fill:none;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  /* ---------- SECTION HEADS ---------- */
  .section-head{
    max-width:640px;
    margin:0 auto 52px;
    text-align:center;
  }
  .section-head .eyebrow{justify-content:center;}
  .section-head .eyebrow::before{display:none;}
  .section-head h2{
    font-size:clamp(1.9rem, 3vw, 2.6rem);
    margin-top:14px;
  }
  .section-head p{
    margin-top:16px;
    color:var(--ink-soft);
    font-size:16px;
    line-height:1.7;
  }
  .divider-arc{
    width:64px;
    height:auto;
    margin:0 auto 18px;
    display:block;
    stroke:var(--blue);
  }

  /* ---------- SERVICES ---------- */
  .services{
    padding:60px 0;
    position:relative;
  }
  .services::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:radial-gradient(circle, rgba(42,38,34,0.16) 1.6px, transparent 1.6px);
    background-size:26px 26px;
    -webkit-mask-image:radial-gradient(ellipse 80% 90% at 50% 30%, black 30%, transparent 85%);
    mask-image:radial-gradient(ellipse 80% 90% at 50% 30%, black 30%, transparent 85%);
    pointer-events:none;
    z-index:0;
  }
  .services > .wrap{position:relative; z-index:1;}
  .services-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
  }
  .service-card{
    display:block;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:24px;
    overflow:hidden;
    cursor:pointer;
    text-decoration:none;
    color:inherit;
    padding:14px;
    position:relative;
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
  .service-card::before{
    content:"";
    position:absolute;
    top:0; left:14px; right:14px;
    height:3px;
    border-radius:0 0 4px 4px;
    background:linear-gradient(90deg, var(--blue), var(--blue-light));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .35s ease;
  }
  .service-card:nth-child(2)::before,
  .service-card:nth-child(5)::before{background:linear-gradient(90deg, var(--leather), #C99B6E);}
  .service-card:hover::before{transform:scaleX(1);}
  .service-card:hover{
    transform:translateY(-7px);
    box-shadow:0 26px 44px -22px rgba(42,38,34,0.25);
    border-color:transparent;
  }
  .service-card-media{
    height:168px;
    border-radius:16px;
    overflow:hidden;
    background:var(--cream-deep);
  }
  .service-card-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .5s ease;
  }
  .service-card:hover .service-card-media img{transform:scale(1.07);}
  .service-tag{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:11.5px;
    font-weight:600;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--blue);
    margin:16px 0 8px;
  }
  .service-tag::before{
    content:"";
    width:6px; height:6px;
    border-radius:50%;
    background:var(--blue);
  }
  .service-card:nth-child(2) .service-tag,
  .service-card:nth-child(5) .service-tag{color:var(--leather);}
  .service-card:nth-child(2) .service-tag::before,
  .service-card:nth-child(5) .service-tag::before{background:var(--leather);}
  .service-card-body{padding:18px 8px 14px;}
  .service-card h3{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:18px;
    margin-bottom:9px;
    line-height:1.28;
  }
  .service-card p{
    font-size:13.5px;
    color:var(--ink-soft);
    line-height:1.6;
  }
  .service-more{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:14px;
    font-size:13px;
    font-weight:600;
    color:var(--blue);
    border-bottom:1.5px dotted var(--blue);
    padding-bottom:2px;
  }
  .service-more svg{width:13px; height:13px; transition:transform .25s ease;}
  .service-card:hover .service-more svg{transform:translateX(4px);}
  .services-more{
    display:flex;
    justify-content:center;
    margin-top:44px;
  }

  /* ---------- TEAM ---------- */
  .team{
    padding:60px 0 90px;
  }
  .team-photo-wrap{
    position:relative;
    max-width:1040px;
    margin:0 auto 30px;
  }
  .team-photo-wrap img{
    width:100%;
    display:block;
    -webkit-mask-image:
      linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%),
      linear-gradient(to bottom, transparent 0%, black 16%, black 84%, transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:
      linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%),
      linear-gradient(to bottom, transparent 0%, black 16%, black 84%, transparent 100%);
    mask-composite:intersect;
  }
  .team-caption{
    text-align:center;
    max-width:560px;
    margin:0 auto 34px;
  }
  .team-caption p{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-style:italic;
    font-size:clamp(1.15rem, 2vw, 1.4rem);
    color:var(--ink);
    line-height:1.5;
  }
  .team-actions{
    display:flex;
    justify-content:center;
    gap:18px;
    margin-top:36px;
    flex-wrap:wrap;
  }
  .team-actions .btn svg{width:15px; height:15px;}

  /* ---------- CTA BANNER ---------- */
  .cta-banner{
    margin:90px auto;
    max-width:var(--container);
    padding:0 32px;
  }
  .cta-banner-inner{
    background:linear-gradient(120deg, var(--blue) 0%, var(--blue-light) 100%);
    border-radius:36px;
    padding:64px 60px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    color:var(--white);
    position:relative;
    overflow:hidden;
  }
  .cta-banner-inner::before{
    content:"";
    position:absolute;
    width:360px; height:360px;
    border-radius:50%;
    border:1.5px solid rgba(255,255,255,0.25);
    top:-140px; right:-60px;
  }
  .cta-banner-inner::after{
    content:"";
    position:absolute;
    width:220px; height:220px;
    border-radius:50%;
    border:1.5px solid rgba(255,255,255,0.2);
    bottom:-120px; right:100px;
  }
  .cta-arc{
    position:absolute;
    left:-40px;
    top:-30px;
    width:340px;
    max-width:none;
    opacity:0.55;
    pointer-events:none;
  }
  .cta-text h2{
    font-size:clamp(1.7rem, 3vw, 2.3rem);
    max-width:480px;
    margin-bottom:12px;
  }
  .cta-text p{
    font-size:15.5px;
    opacity:0.92;
    max-width:440px;
  }
  .cta-actions{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    position:relative;
    z-index:1;
  }
  .cta-actions .phone-link{color:var(--white);}

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--ink);
    color:#C9C2B6;
    padding:45px 0 0;
    overflow:hidden;
    position:relative;
  }
  footer::before{
    content:"";
    position:absolute;
    top:-220px;
    left:50%;
    transform:translateX(-50%);
    width:900px;
    height:900px;
    background:radial-gradient(circle, rgba(66,198,222,0.16) 0%, transparent 62%);
    pointer-events:none;
    z-index:0;
  }
  footer::after{
    content:"";
    position:absolute;
    bottom:-260px;
    right:-160px;
    width:640px;
    height:640px;
    background:radial-gradient(circle, rgba(140,90,56,0.14) 0%, transparent 62%);
    pointer-events:none;
    z-index:0;
  }
  footer > .wrap{position:relative; z-index:1;}
  .footer-top{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding-bottom:28px;
  }
  .footer-emblem{
    position:relative;
    width:110px;
    height:110px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:12px;
  }
  .footer-emblem svg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }
  .footer-emblem img{
    position:relative;
    width:38px;
    height:auto;
    filter:drop-shadow(0 0 24px rgba(66,198,222,0.35));
  }
  .footer-name{
    font-family:'Fraunces',serif;
    font-size:clamp(1.15rem, 1.8vw, 1.4rem);
    color:var(--cream);
    margin-bottom:6px;
  }
  .footer-name em{color:var(--blue-light); font-style:italic;}
  .footer-tagline{
    font-size:13px;
    letter-spacing:0.04em;
    color:#8B8578;
    max-width:420px;
  }

  .footer-columns{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:40px;
    align-items:start;
    padding:0 0 56px;
    border-top:1px solid rgba(255,255,255,0.08);
    padding-top:56px;
  }
  .footer-contact h4,
  .footer-links h4{
    font-size:12.5px;
    text-transform:uppercase;
    letter-spacing:0.12em;
    font-weight:600;
    color:var(--blue-light);
    margin-bottom:18px;
  }
  .footer-contact-row{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:14px;
    font-size:14.5px;
    color:#DCD7CB;
  }
  .footer-contact-row svg{
    width:16px; height:16px;
    stroke:var(--blue-light);
    fill:none;
    stroke-width:1.7;
    flex-shrink:0;
    margin-top:2px;
  }
  .footer-contact-row a:hover{color:var(--blue-light);}
  .footer-hours{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,0.08);
  }
  .footer-hours p{font-size:13.5px; color:#8B8578; line-height:1.9;}

  .footer-cta{display:flex; justify-content:center;}
  .footer-cta .btn{white-space:nowrap;}

  .footer-links-grid{
    display:flex;
    flex-wrap:wrap;
    gap:8px 28px;
    margin-top:6px;
  }
  .footer-links-grid a{
    display:block;
    font-size:14.5px;
    color:#DCD7CB;
    padding:6px 0;
  }
  .footer-links-grid a:hover{color:var(--blue-light);}

  .footer-directions{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:18px;
    padding:10px 16px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,0.18);
    color:var(--white);
    font-size:13.5px;
    font-weight:600;
    transition:background .2s ease, border-color .2s ease;
  }
  .footer-directions svg{width:15px; height:15px; flex-shrink:0; color:var(--blue-light);}
  .footer-directions-arrow{transition:transform .25s ease; color:var(--white) !important;}
  .footer-directions:hover{background:rgba(255,255,255,0.06); border-color:var(--blue-light);}
  .footer-directions:hover .footer-directions-arrow{transform:translateX(3px);}
  .footer-instagram{
    display:flex;
    justify-content:center;
    padding-bottom:44px;
  }
  .footer-instagram-link{
    display:inline-flex;
    align-items:center;
    gap:12px;
    padding:12px 22px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,0.18);
    color:#DCD7CB;
    font-size:14px;
    transition:background .2s ease, border-color .2s ease;
  }
  .footer-instagram-link:hover{background:rgba(255,255,255,0.06); border-color:var(--blue-light);}
  .footer-instagram-icon{
    width:30px; height:30px;
    border-radius:9px;
    flex-shrink:0;
    background:linear-gradient(135deg,#F9CE34 0%,#EE2A7B 50%,#6228D7 100%);
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .footer-instagram-icon svg{width:16px; height:16px; fill:var(--white);}
  .footer-instagram-link strong{color:var(--white); font-weight:600;}

  .footer-bottom{
    border-top:1px solid rgba(255,255,255,0.08);
    padding:24px 0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:13px;
    color:#8B8578;
    flex-wrap:wrap;
    gap:12px;
  }
  .footer-bottom a{color:#8B8578;}
  .footer-bottom a:hover{color:var(--blue-light);}
  .footer-bottom .legal{display:flex; gap:22px;}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 1120px){
    nav.main-nav{display:none;}
    nav.main-nav.nav-open{
      display:block;
      position:fixed;
      top:var(--header-h, 80px);
      left:0;
      right:0;
      background:var(--cream);
      border-bottom:1px solid var(--line);
      padding:20px 32px;
      z-index:40;
      max-height:calc(100vh - var(--header-h, 80px));
      overflow-y:auto;
    }
    nav.main-nav.nav-open ul{
      flex-direction:column;
      gap:4px;
      align-items:flex-start;
    }
    nav.main-nav.nav-open > ul > li{width:100%;}
    nav.main-nav.nav-open > ul > li > a{display:block; padding:10px 0;}
    details.nav-dropdown{width:100%; padding-bottom:0; margin-bottom:0;}
    details.nav-dropdown summary{padding:10px 0;}
    details.nav-dropdown:not([open]) .dropdown-panel{display:none;}
    details.nav-dropdown[open] .dropdown-panel{
      display:block;
      position:static;
      width:100% !important;
      box-shadow:none;
      border:none;
      border-radius:0;
      padding:2px 0 6px 14px;
      margin:0 0 4px;
      background:transparent;
      opacity:1;
      visibility:visible;
      pointer-events:auto;
      transform:none;
    }
    details.nav-dropdown[open] .dropdown-panel::before{display:none;}
    .dropdown-panel.simple a,
    .dropdown-col a{padding:9px 10px; margin-left:0;}
    .dropdown-panel.simple{padding:0;}
    .mega-inner{
      display:flex;
      flex-direction:column;
      gap:14px;
      padding:2px 0 6px 14px;
      max-width:none;
      margin:0;
    }
    .dropdown-col{padding:0;}
    .dropdown-col-head{padding:0 10px; margin-bottom:6px;}
    .nav-cta-mobile{display:block; margin-top:6px;}
    .nav-cta-mobile a.btn-primary{color:var(--white); padding:15px 30px;}
    .menu-toggle{display:block;}
    .logo{height:36px; gap:8px;}
    .logo-icon{height:56px; margin:-9px 0;}
    .logo-text{height:36px;}
    .menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
    .menu-toggle.is-open span:nth-child(2){opacity:0;}
    .menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
    .header-phone span{display:none;}
    .lang-switch summary{padding:8px 9px;}
    .hero{height:auto; min-height:0; padding:64px 0 100px; display:block;}
    .hero-bg img{object-position:64% 50%;}
    .hero-scrim{
      background:linear-gradient(to bottom, rgba(246,241,232,0.93) 0%, rgba(246,241,232,0.86) 30%, rgba(246,241,232,0.8) 50%, rgba(246,241,232,0.4) 72%, rgba(246,241,232,0.12) 88%, var(--cream) 100%);
    }
    .hero-badge{background:rgba(255,253,249,0.96); backdrop-filter:blur(6px);}
    .hero-copy{max-width:none;}
    .hero-badge{position:static; transform:none; margin-top:28px; max-width:none;}
    .trust-grid{grid-template-columns:repeat(2,1fr); row-gap:44px;}
    .services-grid{grid-template-columns:repeat(2,1fr);}
    .service-card-media{height:90px;}
    .service-card-body{padding:14px 8px 12px;}
    .footer-columns{grid-template-columns:1fr; gap:36px; text-align:center;}
    .footer-contact-row{justify-content:center;}
    .footer-links-grid{justify-content:center;}
    .cta-banner-inner{flex-direction:column; align-items:flex-start; padding:48px 36px;}
    .team-actions{flex-direction:column; align-items:stretch;}
  }
  @media (max-width: 600px){
    .wrap{padding:0 20px;}
    .services-grid{grid-template-columns:1fr;}
    .cta-banner{padding:0 20px;}
    .hero{padding:52px 0 80px;}
    .footer-emblem{width:90px; height:90px;}
    .trust-grid{grid-template-columns:1fr; row-gap:40px;}
    .lang-code{display:none;}
    .lang-switch summary{gap:4px; padding:8px;}
  }

/* ==========================================================================
   2. AERZTE PAGE (doctor profile cards)
   ========================================================================== */
.aerzte-hero{
    padding:150px 0 20px;
    text-align:center;
  }
  .aerzte-hero .eyebrow{justify-content:center;}
  .aerzte-hero .eyebrow::before{display:none;}
  .aerzte-hero h1{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:clamp(2.1rem, 4vw, 3rem);
    margin:14px 0 16px;
  }
  .aerzte-hero > .wrap > p{
    color:var(--ink-soft);
    font-size:16.5px;
    max-width:600px;
    margin:0 auto;
    line-height:1.7;
  }

  .aerzte-section{padding:50px 0 100px;}
  .aerzte-list{
    display:flex;
    flex-direction:column;
    gap:60px;
    max-width:980px;
    margin:0 auto;
  }
  .aerzte-row{
    display:grid;
    grid-template-columns:340px 1fr;
    gap:48px;
    align-items:center;
  }
  .aerzte-row:nth-child(2n){grid-template-columns:1fr 340px;}
  .aerzte-row:nth-child(2n) .doctor-photo{order:2;}
  .doctor-photo{
    position:relative;
    aspect-ratio:4/5;
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 30px 60px -30px rgba(42,38,34,0.35);
    transition:transform .4s ease, box-shadow .4s ease;
  }
  .doctor-photo:hover{transform:translateY(-6px); box-shadow:0 36px 70px -28px rgba(42,38,34,0.4);}
  .doctor-photo img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 18%;
    transition:transform .6s ease;
  }
  .doctor-photo:hover img{transform:scale(1.05);}
  .doctor-photo::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:28px;
    box-shadow:inset 0 0 0 2px rgba(255,255,255,0.14);
    pointer-events:none;
    z-index:3;
  }
  .doctor-photo::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(20,30,45,0.55) 0%, rgba(20,30,45,0.05) 32%, transparent 55%),
      linear-gradient(150deg, rgba(30,86,214,0.22) 0%, transparent 45%);
    pointer-events:none;
    z-index:1;
  }
  .aerzte-row:nth-child(2) .doctor-photo::after{
    background:linear-gradient(to top, rgba(35,24,15,0.55) 0%, rgba(35,24,15,0.05) 32%, transparent 55%),
      linear-gradient(150deg, rgba(140,90,56,0.24) 0%, transparent 45%);
  }
  .doctor-rings{
    position:absolute;
    top:-40px; right:-40px;
    width:190px;
    height:190px;
    z-index:2;
    pointer-events:none;
  }
  .doctor-rings circle{stroke:rgba(255,255,255,0.28); fill:none;}
  .doctor-sunburst{
    position:absolute;
    top:24px;
    left:24px;
    width:28px;
    height:28px;
    opacity:0.85;
    z-index:2;
  }
  .doctor-sunburst path{stroke:var(--white); stroke-width:2; stroke-linecap:round;}
  .doctor-quote-mark{
    position:absolute;
    bottom:-24px;
    left:28px;
    width:50px;
    height:50px;
    border-radius:50%;
    background:var(--white);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 12px 26px -12px rgba(42,38,34,0.32);
    z-index:4;
  }
  .aerzte-row:nth-child(1) .doctor-quote-mark svg{fill:var(--blue);}
  .aerzte-row:nth-child(2) .doctor-quote-mark svg{fill:var(--leather);}
  .doctor-quote-mark svg{width:20px; height:20px;}

  .aerzte-info h2{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:28px;
    margin-bottom:10px;
  }
  .aerzte-role{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.03em;
    color:var(--blue);
    background:rgba(30,86,214,0.09);
    padding:6px 14px;
    border-radius:999px;
    margin-bottom:20px;
  }
  .aerzte-row:nth-child(2) .aerzte-role{color:var(--leather); background:rgba(140,90,56,0.1);}
  .aerzte-info blockquote{
    font-family:'Fraunces',serif;
    font-style:italic;
    font-size:19px;
    font-weight:500;
    color:var(--ink);
    line-height:1.5;
    margin-bottom:18px;
  }
  .aerzte-info p.bio{
    font-size:15px;
    color:var(--ink-soft);
    line-height:1.75;
  }
  .doctor-cv-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:22px;
    padding:12px 22px;
    border-radius:999px;
    border:1px solid var(--line);
    background:var(--white);
    font-size:14px;
    font-weight:600;
    color:var(--ink);
    box-shadow:0 6px 16px -10px rgba(42,38,34,0.18);
    transition:background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
  }
  .doctor-cv-link svg{width:14px; height:14px; transition:transform .25s ease;}
  .aerzte-row:nth-child(1) .doctor-cv-link:hover{color:var(--blue); border-color:var(--blue-light); background:var(--cream);}
  .aerzte-row:nth-child(2) .doctor-cv-link:hover{color:var(--leather); border-color:#C99B6E; background:var(--cream);}
  .doctor-cv-link:hover{transform:translateY(-2px);}
  .doctor-cv-link:hover svg{transform:translateX(3px);}

  .doctor-memberships{
    display:flex;
    flex-wrap:wrap;
    gap:28px;
    margin-top:28px;
    padding-top:24px;
    border-top:1px solid var(--line);
  }
  .doctor-membership-item{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:9px;
    max-width:150px;
  }
  .doctor-membership-item img{
    height:30px;
    width:auto;
    max-width:130px;
    object-fit:contain;
    opacity:0.88;
    filter:grayscale(15%);
    transition:opacity .2s ease, transform .2s ease;
  }
  .doctor-membership-item img:hover{opacity:1; transform:translateY(-2px);}
  .doctor-membership-item p{
    font-size:11.5px;
    color:var(--ink-soft);
    line-height:1.5;
  }

  .aerzte-cta{
    max-width:820px;
    margin:80px auto 0;
    background:var(--ink);
    border-radius:28px;
    padding:48px;
    text-align:center;
  }
  .aerzte-cta h2{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-style:italic;
    font-size:clamp(1.4rem, 2.6vw, 1.9rem);
    color:var(--white);
    margin-bottom:24px;
  }
  .aerzte-cta-actions{display:flex; justify-content:center; gap:16px; flex-wrap:wrap;}

  @media (max-width: 860px){
    .aerzte-row, .aerzte-row:nth-child(2n){grid-template-columns:1fr; gap:28px;}
    .aerzte-row:nth-child(2n) .doctor-photo{order:0;}
    .doctor-photo{width:100%; max-width:320px; margin:0 auto;}
  }

/* ==========================================================================
   3. TREATMENT / LEISTUNG DETAIL PAGES (tx- prefix)
   ========================================================================== */
.tx-hero{
    padding:150px 0 20px;
    text-align:center;
  }
  .tx-hero .eyebrow{justify-content:center;}
  .tx-hero .eyebrow::before{display:none;}
  .tx-hero h1{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:clamp(2rem, 4vw, 2.8rem);
    margin:14px 0 16px;
  }
  .tx-hero > .wrap > p{
    color:var(--ink-soft);
    font-size:16.5px;
    max-width:620px;
    margin:0 auto;
    line-height:1.7;
  }
  .tx-back{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    font-weight:600;
    color:var(--ink-soft);
    margin-bottom:26px;
  }
  .tx-back svg{width:14px; height:14px; transform:rotate(180deg);}

  .tx-section{padding:10px 0 100px;}
  .tx-wrap{max-width:740px; margin:0 auto; padding:0 32px;}

  .tx-content h2{
    font-family:'Fraunces',serif;
    font-size:21px;
    font-weight:600;
    color:var(--ink);
    margin:0 0 14px;
    padding-top:30px;
    border-top:1px solid var(--line);
  }
  .tx-content > h2:first-of-type{border-top:none; padding-top:0;}
  .tx-content p{
    font-size:15px;
    line-height:1.75;
    color:var(--ink-soft);
    margin-bottom:14px;
  }

  .tx-figure{
    margin:26px 0 32px;
    border-radius:20px;
    overflow:hidden;
    border:1px solid var(--line);
    box-shadow:0 24px 48px -30px rgba(42,38,34,0.3);
  }
  .tx-figure img{
    width:100%;
    display:block;
  }
  .tx-figure-caption{
    margin:0;
    padding:14px 20px;
    background:var(--white);
    font-size:13px;
    color:var(--ink-soft);
    line-height:1.5;
    text-align:center;
  }

  .tx-faq{margin-top:46px;}
  .tx-faq-head{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:21px;
    margin-bottom:6px;
    padding-top:30px;
    border-top:1px solid var(--line);
  }
  .tx-faq-item{
    border-top:1px solid var(--line);
    padding:20px 0;
  }
  .tx-faq-item h3{
    font-size:15.5px;
    font-weight:700;
    color:var(--ink);
    margin-bottom:8px;
  }
  .tx-faq-item p{
    font-size:14.5px;
    color:var(--ink-soft);
    line-height:1.65;
    margin-bottom:0;
  }

  .tx-cta{
    max-width:820px;
    margin:70px auto 0;
    background:var(--ink);
    border-radius:28px;
    padding:44px;
    text-align:center;
  }
  .tx-cta h2{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-style:italic;
    font-size:clamp(1.3rem, 2.4vw, 1.7rem);
    color:var(--white);
    margin-bottom:24px;
  }
  .tx-cta-actions{display:flex; justify-content:center; gap:16px; flex-wrap:wrap;}
  .tx-lead{
    font-family:'Fraunces',serif;
    font-style:italic;
    font-weight:500;
    font-size:17px;
    color:var(--ink);
    line-height:1.65;
    margin-bottom:30px;
    padding-bottom:26px;
    border-bottom:1px solid var(--line);
  }

/* ==========================================================================
   4. LEGAL PAGES (Impressum / Datenschutz)
   ========================================================================== */
.legal-hero{
    padding:150px 0 46px;
    text-align:center;
    position:relative;
  }
  .legal-hero .eyebrow{justify-content:center;}
  .legal-hero .eyebrow::before{display:none;}
  .legal-hero h1{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:clamp(2rem, 4vw, 2.7rem);
    margin:14px 0 14px;
  }
  .legal-hero > .wrap > p{
    color:var(--ink-soft);
    font-size:16px;
    max-width:560px;
    margin:0 auto;
    line-height:1.65;
  }
  .legal-phone-note{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:26px;
    padding:11px 20px;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:999px;
    font-size:14px;
    font-weight:600;
    color:var(--ink);
    text-decoration:none;
  }
  .legal-phone-note svg{width:15px; height:15px; color:var(--blue); flex-shrink:0;}
  .legal-back{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    font-weight:600;
    color:var(--ink-soft);
    margin-bottom:22px;
  }
  .legal-back svg{width:14px; height:14px; transform:rotate(180deg);}
  .legal-wrap{
    max-width:720px;
    margin:0 auto;
    padding:10px 32px 100px;
  }
  .legal-content h2{
    font-family:'Fraunces',serif;
    font-size:22px;
    font-weight:600;
    color:var(--ink);
    margin:0 0 16px;
    padding-top:32px;
    border-top:1px solid var(--line);
  }
  .legal-content > h2:first-child{border-top:none; padding-top:0;}
  .legal-content h3{
    font-size:15px;
    font-weight:700;
    color:var(--ink);
    margin:22px 0 6px;
  }
  .legal-content p{
    font-size:15px;
    line-height:1.75;
    color:var(--ink-soft);
    margin-bottom:14px;
  }
  .legal-content ul{margin:0 0 14px 20px; padding:0;}
  .legal-content li{font-size:15px; line-height:1.75; color:var(--ink-soft); margin-bottom:6px;}
  .legal-content a{color:var(--blue);}
  .legal-content strong{color:var(--ink); font-weight:600;}
  .legal-card{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:16px;
    padding:20px 22px;
    margin:14px 0 22px;
  }
  .legal-card p{margin:0 0 4px; font-size:14.5px;}
  .legal-card p:last-child{margin-bottom:0;}
  .legal-note{
    font-size:13.5px;
    color:var(--ink-soft);
    font-style:italic;
    margin-top:36px;
  }

/* ==========================================================================
   5. KONTAKT PAGE
   ========================================================================== */
.kontakt-hero{
    padding:150px 0 20px;
    text-align:center;
    position:relative;
  }
  .kontakt-hero .eyebrow{justify-content:center;}
  .kontakt-hero .eyebrow::before{display:none;}
  .kontakt-hero h1{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:clamp(2.1rem, 4vw, 3rem);
    margin:14px 0 16px;
  }
  .kontakt-hero > .wrap > p{
    color:var(--ink-soft);
    font-size:16.5px;
    max-width:580px;
    margin:0 auto;
    line-height:1.7;
  }
  .kontakt-hero-actions{
    display:flex;
    justify-content:center;
    gap:16px;
    margin-top:30px;
    flex-wrap:wrap;
  }

  .kontakt-section{padding:50px 0 100px;}
  .kontakt-grid{
    display:grid;
    grid-template-columns:1fr 1.15fr;
    gap:48px;
    align-items:start;
  }

  .kontakt-cards{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:36px;
  }
  .kontakt-card{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:18px;
    padding:20px;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .kontakt-card:hover{transform:translateY(-4px); box-shadow:0 20px 34px -22px rgba(42,38,34,0.25);}
  .kontakt-card .icon-circle{width:40px; height:40px; margin-bottom:12px;}
  .kontakt-card .icon-circle svg{width:18px; height:18px;}
  .kontakt-card h4{font-size:12px; text-transform:uppercase; letter-spacing:0.05em; color:var(--ink-soft); font-weight:600; margin-bottom:6px;}
  .kontakt-card a, .kontakt-card p{font-size:15px; font-weight:600; color:var(--ink); line-height:1.5;}
  .kontakt-card a:hover{color:var(--blue);}
  .kontakt-card .sub{font-size:13px; font-weight:500; color:var(--ink-soft); margin-top:4px;}

  .kontakt-directions h2{
    font-family:'Fraunces',serif;
    font-size:22px;
    font-weight:600;
    margin-bottom:22px;
  }
  .directions-intro{
    font-size:15px;
    color:var(--ink-soft);
    line-height:1.6;
    margin-bottom:22px;
  }
  .direction-item{
    display:flex;
    gap:16px;
    padding:18px 0;
    border-top:1px solid var(--line);
  }
  .direction-item:first-of-type{border-top:none; padding-top:0;}
  .direction-icon{
    width:46px; height:46px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    color:var(--white);
    font-family:'Inter',sans-serif;
    font-weight:700;
    font-size:16px;
  }
  .direction-icon svg{width:20px; height:20px; stroke:var(--white); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
  .direction-icon.i-car{background:var(--ink);}
  .direction-icon.i-park{background:var(--blue);}
  .direction-icon.i-hosp{background:#D64545;}
  .direction-icon.i-bus{background:#8B8578;}
  .direction-text h3{font-size:15.5px; font-weight:600; margin-bottom:4px;}
  .direction-text p{font-size:14px; color:var(--ink-soft); line-height:1.6;}

  .kontakt-map-wrap{
    position:sticky;
    top:calc(var(--header-h, 84px) + 24px);
  }
  .kontakt-map-card{
    border-radius:26px;
    overflow:hidden;
    border:1px solid var(--line);
    box-shadow:0 30px 60px -30px rgba(42,38,34,0.3);
  }
  .kontakt-map-card img{width:100%; height:auto; display:block;}
  .kontakt-map-caption{
    background:var(--white);
    padding:18px 22px;
    display:flex;
    align-items:center;
    gap:12px;
    border-top:1px solid var(--line);
  }
  .kontakt-map-caption svg{width:20px; height:20px; color:var(--blue); flex-shrink:0;}
  .kontakt-map-caption p{font-size:14px; font-weight:600; color:var(--ink); line-height:1.4;}
  .kontakt-map-caption span{display:block; font-size:12.5px; font-weight:500; color:var(--ink-soft); margin-top:2px;}

  @media (max-width: 980px){
    .kontakt-grid{grid-template-columns:1fr;}
    .kontakt-map-wrap{position:static; margin-top:12px;}
  }
  @media (max-width: 560px){
    .kontakt-cards{grid-template-columns:1fr;}
    .kontakt-hero{padding-top:130px;}
  }

/* ==========================================================================
   6. LEISTUNGEN OVERVIEW PAGE (lv- prefix)
   ========================================================================== */
.lv-hero{
    padding:150px 0 20px;
    text-align:center;
  }
  .lv-hero .eyebrow{justify-content:center;}
  .lv-hero .eyebrow::before{display:none;}
  .lv-hero h1{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:clamp(2.1rem, 4vw, 3rem);
    margin:14px 0 16px;
  }
  .lv-hero > .wrap > p{
    color:var(--ink-soft);
    font-size:16.5px;
    max-width:620px;
    margin:0 auto;
    line-height:1.7;
  }
  .lv-section{padding:50px 0 100px;}
  .lv-cat{
    max-width:900px;
    margin:0 auto 56px;
  }
  .lv-cat h2{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:22px;
    margin-bottom:20px;
    padding-bottom:14px;
    border-bottom:1px solid var(--line);
  }
  .lv-cat-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
  }
  .lv-item{
    display:block;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:16px;
    padding:20px 22px;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }
  .lv-item:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 32px -20px rgba(42,38,34,0.25);
    border-color:var(--blue-light);
  }
  .lv-item h3{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:16px;
    margin-bottom:6px;
  }
  .lv-item p{
    font-size:13px;
    color:var(--ink-soft);
    line-height:1.5;
  }
  @media (max-width: 700px){
    .lv-cat-grid{grid-template-columns:1fr;}
  }

/* ==========================================================================
   7. PRAXISIMPRESSIONEN GALLERY PAGE (pg- prefix)
   ========================================================================== */
.pg-hero{
    padding:150px 0 20px;
    text-align:center;
  }
  .pg-hero .eyebrow{justify-content:center;}
  .pg-hero .eyebrow::before{display:none;}
  .pg-hero h1{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:clamp(2.1rem, 4vw, 3rem);
    margin:14px 0 16px;
  }
  .pg-hero > .wrap > p{
    color:var(--ink-soft);
    font-size:16.5px;
    max-width:620px;
    margin:0 auto;
    line-height:1.7;
  }

  .pg-section{padding:50px 0 90px;}
  .pg-masonry{
    max-width:1100px;
    margin:0 auto;
    column-count:3;
    column-gap:20px;
  }
  .pg-item{
    break-inside:avoid;
    margin-bottom:20px;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 24px 46px -28px rgba(42,38,34,0.32);
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .pg-item:hover{
    transform:translateY(-4px);
    box-shadow:0 30px 54px -26px rgba(42,38,34,0.4);
  }
  .pg-item img{
    width:100%;
    display:block;
  }

  .pg-cta{
    display:flex;
    justify-content:center;
    margin-top:56px;
  }

  @media (max-width: 900px){
    .pg-masonry{column-count:2;}
  }
  @media (max-width: 560px){
    .pg-masonry{column-count:1;}
  }

/* ==========================================================================
   8. TEAM PAGE
   ========================================================================== */
.team-hero{
    padding:150px 0 20px;
    text-align:center;
  }
  .team-hero .eyebrow{justify-content:center;}
  .team-hero .eyebrow::before{display:none;}
  .team-hero h1{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:clamp(2.1rem, 4vw, 3rem);
    margin:14px 0 16px;
  }
  .team-hero > .wrap > p{
    color:var(--ink-soft);
    font-size:16.5px;
    max-width:600px;
    margin:0 auto;
    line-height:1.7;
  }

  .team-members{padding:70px 0 40px;}
  .team-members-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
    max-width:1100px;
    margin:0 auto;
  }
  .team-member-card{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:22px;
    overflow:hidden;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .team-member-card:hover{
    transform:translateY(-6px);
    box-shadow:0 24px 40px -22px rgba(42,38,34,0.25);
  }
  .team-member-photo{
    aspect-ratio:4/5;
    overflow:hidden;
    background:var(--cream-deep);
  }
  .team-member-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .team-member-photo.is-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(150deg, var(--cream-deep) 0%, var(--cream) 100%);
  }
  .team-member-photo.is-placeholder svg{
    width:42%;
    height:42%;
    color:var(--ink-soft);
    opacity:0.4;
  }
  .team-member-info{
    padding:18px 18px 22px;
    text-align:center;
  }
  .team-member-info h3{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:17px;
    margin-bottom:4px;
  }
  .team-member-info p{
    font-size:12.5px;
    color:var(--ink-soft);
    line-height:1.5;
  }

  .team-note{
    max-width:680px;
    margin:56px auto 0;
    text-align:center;
    padding:0 20px;
  }
  .team-note p{
    font-family:'Fraunces',serif;
    font-style:italic;
    font-weight:500;
    font-size:19px;
    color:var(--ink);
    line-height:1.6;
  }

  .team-cta{
    max-width:820px;
    margin:70px auto 100px;
    background:var(--ink);
    border-radius:28px;
    padding:48px;
    text-align:center;
  }
  .team-cta h2{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-style:italic;
    font-size:clamp(1.4rem, 2.6vw, 1.9rem);
    color:var(--white);
    margin-bottom:24px;
  }
  .team-cta-actions{display:flex; justify-content:center; gap:16px; flex-wrap:wrap;}

  @media (max-width: 700px){
    .team-members-grid{grid-template-columns:repeat(2,1fr);}
  }

/* ==========================================================================
   9. WERDEGANG / CV PAGES (wg- prefix)
   ========================================================================== */
.wg-hero{
    padding:150px 0 20px;
    text-align:center;
  }
  .wg-hero .eyebrow{justify-content:center;}
  .wg-hero .eyebrow::before{display:none;}
  .wg-hero h1{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:clamp(2.1rem, 4vw, 3rem);
    margin:14px 0 16px;
  }
  .wg-hero > .wrap > p{
    color:var(--ink-soft);
    font-size:16.5px;
    max-width:600px;
    margin:0 auto;
    line-height:1.7;
  }
  .wg-back{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    font-weight:600;
    color:var(--ink-soft);
    margin-bottom:10px;
  }
  .wg-back svg{width:14px; height:14px; transform:rotate(180deg);}

  .wg-section{padding:50px 0 100px;}
  .wg-wrap{max-width:720px; margin:0 auto; padding:0 32px;}

  .wg-timeline-head{
    margin:56px 0 28px;
    text-align:center;
  }
  .wg-timeline-head svg.divider-arc{margin:0 auto 14px;}
  .wg-timeline-head span.eyebrow{justify-content:center;}
  .wg-timeline-head span.eyebrow::before{display:none;}
  .wg-timeline-head h2{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:clamp(1.6rem, 3vw, 2.1rem);
    margin-top:12px;
  }

  .wg-timeline{
    position:relative;
    margin:20px 0 50px;
    padding-left:40px;
  }
  .wg-timeline::before{
    content:"";
    position:absolute;
    left:7px; top:6px; bottom:6px;
    width:2px;
    background:var(--line);
  }
  .wg-item{
    position:relative;
    padding-bottom:36px;
  }
  .wg-item:last-child{padding-bottom:0;}
  .wg-item::before{
    content:"";
    position:absolute;
    left:-40px; top:4px;
    width:16px; height:16px;
    border-radius:50%;
    background:var(--white);
    border:3px solid var(--blue);
    z-index:1;
  }
  .wg-year{
    display:inline-block;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.03em;
    color:var(--blue);
    background:rgba(30,86,214,0.08);
    padding:4px 12px;
    border-radius:999px;
    margin-bottom:8px;
  }
  .wg-item h3{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:18px;
    margin-bottom:6px;
  }
  .wg-item p{
    font-size:14.5px;
    color:var(--ink-soft);
    line-height:1.65;
  }

  .wg-photo{
    border-radius:20px;
    overflow:hidden;
    margin-bottom:40px;
    max-height:260px;
  }
  .wg-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .wg-memberships{
    display:flex;
    flex-wrap:wrap;
    gap:36px;
    margin-bottom:44px;
  }
  .wg-membership-item{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    max-width:170px;
  }
  .wg-membership-item img{
    height:32px;
    width:auto;
    max-width:140px;
    object-fit:contain;
    opacity:0.88;
    filter:grayscale(15%);
    transition:opacity .2s ease, transform .2s ease;
  }
  .wg-membership-item img:hover{opacity:1; transform:translateY(-2px);}
  .wg-membership-item p{
    font-size:12px;
    color:var(--ink-soft);
    line-height:1.55;
  }

  .wg-cta{
    display:flex;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;
    margin-top:10px;
  }

/* ==========================================================================
   10. WERDEGANG PAGE ACCENT COLORS (scoped per page via body class)
   ========================================================================== */
body.page-werdegang-zeynalli .wg-item::before{border-color:var(--blue);}
body.page-werdegang-bondick .wg-item::before{border-color:var(--leather);}

/* ==========================================================================
   11. FUER KOLLEGEN PAGE (fk- prefix)
   ========================================================================== */
body.page-fuer-kollegen .tx-content strong{color:var(--ink); font-weight:600;}

  .fk-signature{
    margin-top:8px;
    padding-top:26px;
    border-top:1px solid var(--line);
  }
  .fk-signature p{margin:0;}
  .fk-sig-name{
    font-family:'Fraunces',serif;
    font-size:20px;
    font-weight:600;
    color:var(--ink);
    margin-bottom:2px;
  }
  .fk-sig-role{
    font-size:14px;
    font-weight:600;
    color:var(--blue);
    margin-bottom:10px;
  }
  .fk-sig-praxis{
    font-size:13.5px;
    color:var(--ink-soft);
  }

  .fk-download-head{
    font-family:'Fraunces',serif;
    font-size:21px;
    font-weight:600;
    color:var(--ink);
    margin:46px 0 6px;
    padding-top:30px;
    border-top:1px solid var(--line);
  }
  .fk-download{
    display:flex;
    align-items:center;
    gap:18px;
    margin:18px 0 0;
    padding:20px 24px;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    box-shadow:0 24px 48px -30px rgba(42,38,34,0.3);
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .fk-download:hover{
    transform:translateY(-2px);
    border-color:#C9B99F;
    box-shadow:0 28px 54px -28px rgba(42,38,34,0.38);
  }
  .fk-download-icon{
    flex:0 0 auto;
    width:44px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    filter:drop-shadow(0 8px 14px rgba(42,38,34,0.18));
  }
  .fk-download-icon svg{
    width:44px;
    height:52px;
    display:block;
  }
  .fk-download-info{flex:1; min-width:0;}
  .fk-download-info strong{
    display:block;
    font-size:15px;
    font-weight:600;
    color:var(--ink);
    margin-bottom:3px;
  }
  .fk-download-info span{
    font-size:13px;
    color:var(--ink-soft);
  }
  .fk-download-arrow{
    flex:0 0 auto;
    width:36px;
    height:36px;
    border-radius:50%;
    border:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .25s ease, border-color .25s ease;
  }
  .fk-download-arrow svg{
    width:16px;
    height:16px;
    stroke:var(--ink);
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    transform:rotate(90deg);
  }
  .fk-download:hover .fk-download-arrow{
    background:var(--cream-deep);
    border-color:#C9B99F;
  }
  @media (max-width:560px){
    .fk-download{flex-wrap:wrap; padding:18px;}
    .fk-download-arrow{display:none;}
  }
  .fk-sig-praxis strong{color:var(--ink); font-weight:600;}

  /* ---------- Gesprochene Sprachen ---------- */
  .spoken-langs{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-top:22px;
  }
  .spoken-langs-label{
    font-size:11.5px;
    font-weight:700;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--ink-soft);
    margin-right:2px;
  }
  .spoken-lang{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:12.5px;
    font-weight:600;
    color:var(--ink);
    background:var(--white);
    border:1px solid var(--line);
    border-radius:999px;
    padding:6px 12px;
    line-height:1;
    white-space:nowrap;
  }
  .spoken-lang .flag{font-size:14px; line-height:1;}
  .team-member-card .spoken-langs{
    justify-content:center;
    margin-top:12px;
    gap:6px;
  }
  .team-member-card .spoken-lang{
    font-size:11.5px;
    padding:5px 10px;
  }
  .wg-langs{
    justify-content:center;
    margin:30px 0 0;
  }

/* Rückweg zur Mobile-Version: nur auf Smartphones sichtbar (Footer) */
.legal .to-mobile{display:none;}
@media (max-width: 640px), (pointer: coarse) and (max-width: 1024px){
  .legal .to-mobile{display:inline-flex;align-items:center;gap:6px;color:var(--blue-light);}
  .legal .to-mobile::before{content:"";width:8px;height:12px;border:1.5px solid currentColor;border-radius:2px;display:inline-block;}
}

/* ==========================================================================
   KARRIERE (karriere.html)
   ========================================================================== */
  .kr-hero{padding-bottom:36px;}
  .kr-hero h1{max-width:820px; margin-left:auto; margin-right:auto;}
  .kr-hero h1 em,
  .kr-section-head h2 em,
  .kr-intro-text h2 em,
  .kr-culture-text h2 em,
  .kr-apply-card h2 em{font-style:italic; color:var(--blue); font-weight:500;}
  .kr-hero-actions{
    display:flex; justify-content:center; gap:14px; flex-wrap:wrap;
    margin-top:30px;
  }
  .kr-hero-actions .btn svg{width:16px; height:16px;}

  .kr-panorama-section{padding:0 0 46px;}
  .kr-panorama{
    position:relative; overflow:hidden;
    background:linear-gradient(180deg, #FBF8F2 0%, var(--cream-deep) 100%);
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  }
  .kr-pan-glow{
    position:absolute; left:50%; top:58%; width:640px; height:640px; transform:translate(-50%,-50%);
    border-radius:50%; pointer-events:none;
    background:radial-gradient(circle, rgba(66,198,222,0.30) 0%, rgba(30,86,214,0.08) 42%, rgba(30,86,214,0) 70%);
  }
  .kr-pan-row{
    position:relative; display:grid; grid-template-columns:1fr auto 1fr; align-items:end;
    padding:60px 0 0; overflow:hidden;
  }
  .kr-pan-side{display:flex; align-items:flex-end; min-width:0;}
  .kr-pan-left{justify-content:flex-end;}
  .kr-pan-right{justify-content:flex-start;}
  .kr-pan-fig{
    display:block; height:270px; width:auto; flex:0 0 auto; position:relative; z-index:var(--z,1);
    filter:drop-shadow(0 18px 22px rgba(42,38,34,0.22));
    transition:transform .4s ease;
  }
  .kr-pan-left .kr-pan-fig{margin-right:-58px;}
  .kr-pan-right .kr-pan-fig{margin-left:-58px;}
  .kr-pan-side .kr-pan-fig:hover{transform:translateY(-8px);}
  .kr-pan-center{display:flex; align-items:flex-end; position:relative; z-index:10; margin:0 -34px;}
  .kr-pan-center .kr-pan-fig{height:320px; filter:drop-shadow(0 26px 30px rgba(42,38,34,0.28));}
  .kr-pan-center .kr-pan-fig:first-child{margin-right:-46px;}
  .kr-pan-fade{position:absolute; top:0; bottom:0; width:140px; pointer-events:none; z-index:20;}
  .kr-pan-fade-l{left:0; background:linear-gradient(to right, var(--cream) 0%, rgba(246,241,232,0) 100%);}
  .kr-pan-fade-r{right:0; background:linear-gradient(to left, var(--cream) 0%, rgba(246,241,232,0) 100%);}
  .kr-pan-caption{
    position:absolute; left:50%; bottom:18px; transform:translateX(-50%); z-index:21; margin:0;
    display:inline-flex; align-items:center; gap:8px; white-space:nowrap;
    padding:9px 16px; border-radius:999px;
    background:rgba(255,253,249,0.9); backdrop-filter:blur(8px); border:1px solid var(--line);
    font-size:12.5px; font-weight:600; color:var(--ink); letter-spacing:0.02em;
  }
  .kr-pan-caption::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--blue-light);}
  @media (max-width: 1000px){
    .kr-pan-row{
      display:flex; justify-content:flex-start; align-items:flex-end; overflow-x:auto; overflow-y:hidden;
      padding:44px 40px 0; scrollbar-width:none; -webkit-overflow-scrolling:touch;
    }
    .kr-pan-row::-webkit-scrollbar{display:none;}
    .kr-pan-side, .kr-pan-center{flex:0 0 auto;}
    .kr-pan-fig{height:220px;}
    .kr-pan-left .kr-pan-fig{margin-right:-44px;}
    .kr-pan-right .kr-pan-fig{margin-left:-44px;}
    .kr-pan-center{margin:0 -22px;}
    .kr-pan-center .kr-pan-fig{height:260px;}
    .kr-pan-center .kr-pan-fig:first-child{margin-right:-34px;}
    .kr-pan-fade{width:60px;}
    .kr-pan-caption{bottom:12px; font-size:11.5px; max-width:calc(100% - 40px); white-space:normal; text-align:center;}
  }

  .kr-intro{padding:14px 0 44px;}
  .kr-intro-grid{
    display:grid; grid-template-columns:1.3fr 1fr; gap:48px; align-items:center;
    max-width:1000px; margin:0 auto;
  }
  .kr-intro-text h2,
  .kr-culture-text h2{
    font-family:'Fraunces',serif; font-weight:600;
    font-size:clamp(1.7rem, 2.8vw, 2.3rem);
    margin:14px 0 20px; line-height:1.12;
  }
  .kr-intro-text h2{font-size:clamp(1.5rem, 2.3vw, 1.9rem); margin:10px 0 14px;}
  .kr-intro-text p{font-size:15px !important; margin-bottom:10px !important;}
  .kr-intro-text p,
  .kr-culture-text p{font-size:15.5px; line-height:1.75; color:var(--ink-soft); margin-bottom:14px;}
  .kr-quote{
    position:relative;
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg);
    padding:26px 26px 22px; text-align:center;
    box-shadow:0 24px 50px -30px rgba(42,38,34,0.35);
  }
  .kr-quote-avatar{width:96px; height:96px; border-radius:50%; overflow:hidden; margin:0 auto 14px; border:4px solid var(--cream); box-shadow:0 10px 24px -12px rgba(42,38,34,0.4);}
  .kr-quote-avatar img{width:100%; height:100%; object-fit:cover; object-position:54% 40%; transform:scale(2.1); transform-origin:54% 42%; display:block;}
  .kr-quote blockquote{
    font-family:'Fraunces',serif; font-style:italic; font-weight:500;
    font-size:15.5px; line-height:1.55; color:var(--ink); margin:0 0 14px;
  }
  .kr-quote-name{font-size:14.5px; font-weight:600; color:var(--ink); margin:0;}
  .kr-quote-role{font-size:12.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--blue); font-weight:600; margin:4px 0 0;}

  .kr-section-head{max-width:640px; margin:0 auto 34px; text-align:center;}
  .kr-section-head .eyebrow{justify-content:center;}
  .kr-section-head .eyebrow::before{display:none;}
  .kr-section-head h2{
    font-family:'Fraunces',serif; font-weight:600;
    font-size:clamp(1.8rem, 3vw, 2.4rem); margin:12px 0 0;
  }
  .kr-section-head p{font-size:15.5px; color:var(--ink-soft); line-height:1.7; margin-top:14px;}

  .kr-benefits{padding:50px 0 70px; background:var(--cream-deep);}
  .kr-benefit-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;}
  .kr-benefit{
    background:var(--white); border:1px solid var(--line); border-radius:22px;
    padding:28px 24px 26px;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .kr-benefit:hover{transform:translateY(-4px); box-shadow:0 26px 50px -30px rgba(42,38,34,0.4);}
  .kr-benefit-icon{
    width:52px; height:52px; border-radius:16px; display:inline-flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, rgba(30,86,214,0.10), rgba(66,198,222,0.18)); color:var(--blue);
    margin-bottom:18px;
  }
  .kr-benefit-icon svg{width:26px; height:26px;}
  .kr-benefit h3{font-family:'Fraunces',serif; font-weight:600; font-size:19px; margin-bottom:8px; line-height:1.2;}
  .kr-benefit p{font-size:14px; line-height:1.65; color:var(--ink-soft);}

  .kr-jobs{padding:80px 0 60px; scroll-margin-top:90px;}
  .kr-job-list{max-width:900px; margin:0 auto; display:grid; gap:14px;}
  .kr-job{
    background:var(--white); border:1px solid var(--line); border-radius:22px;
    overflow:hidden; scroll-margin-top:100px;
    transition:box-shadow .25s ease, border-color .25s ease;
  }
  .kr-job:hover, .kr-job[open]{border-color:rgba(30,86,214,0.28); box-shadow:0 24px 50px -32px rgba(42,38,34,0.4);}
  .kr-job summary{
    list-style:none; cursor:pointer;
    display:flex; align-items:center; justify-content:space-between; gap:20px;
    padding:24px 26px;
  }
  .kr-job summary::-webkit-details-marker{display:none;}
  .kr-job-cat{
    display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
    color:var(--blue); margin-bottom:6px;
  }
  .kr-job-head h3{font-family:'Fraunces',serif; font-weight:600; font-size:22px; margin:0 0 10px; line-height:1.15;}
  .kr-job-meta{display:flex; flex-wrap:wrap; gap:6px;}
  .kr-job-meta span{
    font-size:12px; font-weight:600; color:var(--ink-soft);
    background:var(--cream); border:1px solid var(--line); border-radius:999px; padding:4px 10px; line-height:1.3;
  }
  .kr-job-toggle{
    flex-shrink:0; width:42px; height:42px; border-radius:50%;
    border:1px solid var(--line); background:var(--cream);
    display:inline-flex; align-items:center; justify-content:center; color:var(--ink);
    transition:transform .3s ease, background .2s ease, color .2s ease;
  }
  .kr-job-toggle svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round;}
  .kr-job[open] .kr-job-toggle{transform:rotate(45deg); background:var(--ink); color:var(--white); border-color:var(--ink);}
  .kr-job-body{padding:4px 26px 28px; border-top:1px solid var(--line); margin-top:0;}
  .kr-job-body > *:first-child{margin-top:22px;}
  .kr-job-intro{
    font-family:'Fraunces',serif; font-style:italic; font-weight:500;
    font-size:16.5px; line-height:1.6; color:var(--ink); margin-bottom:14px;
  }
  .kr-job-body p{font-size:14.5px; line-height:1.7; color:var(--ink-soft); margin-bottom:12px;}
  .kr-job-body h4{
    font-family:'Inter',sans-serif; font-size:13px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--ink); margin:22px 0 10px;
  }
  .kr-job-body h5{font-family:'Inter',sans-serif; font-size:14px; font-weight:700; color:var(--ink); margin:14px 0 8px;}
  .kr-job-body ul{list-style:none; padding:0; margin:0 0 6px;}
  .kr-job-body li{
    position:relative; padding-left:20px; font-size:14px; line-height:1.55; color:var(--ink-soft); margin-bottom:7px;
  }
  .kr-job-body li::before{
    content:""; position:absolute; left:2px; top:.6em; width:7px; height:7px; border-radius:50%;
    background:var(--blue-light);
  }
  .kr-job-cols{display:grid; grid-template-columns:1fr 1fr; gap:10px 36px;}
  .kr-job-cols-3{grid-template-columns:repeat(3, 1fr); gap:10px 26px;}
  .kr-job-cols h4:first-child{margin-top:22px;}
  .kr-job-note{font-size:13.5px; font-style:italic;}
  .kr-job-perks{display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 4px;}
  .kr-job-perks span{
    font-size:12px; font-weight:600; color:var(--ink);
    background:linear-gradient(135deg, rgba(30,86,214,0.08), rgba(66,198,222,0.14));
    border-radius:999px; padding:5px 11px;
  }
  .kr-job-apply{
    margin-top:22px; padding:20px 22px;
    background:var(--cream); border-radius:18px;
    display:flex; align-items:center; justify-content:space-between; gap:20px;
  }
  .kr-job-apply p{margin:0; font-size:14px; flex:1;}
  .kr-job-apply .btn{flex-shrink:0;}
  .kr-job-apply .btn svg{width:16px; height:16px;}

  .kr-culture{padding:30px 0 70px;}
  .kr-culture-grid{display:grid; grid-template-columns:1fr 1.15fr; gap:60px; align-items:center;}
  .kr-culture-photo{
    margin:0; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line);
    box-shadow:0 30px 60px -34px rgba(42,38,34,0.45); aspect-ratio:1/1; background:var(--cream-deep);
  }
  .kr-culture-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .kr-culture-links{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px;}
  .kr-culture-links a{
    display:inline-flex; align-items:center; gap:8px;
    font-size:13.5px; font-weight:600; color:var(--ink);
    background:var(--white); border:1px solid var(--line); border-radius:999px; padding:10px 16px;
    transition:color .2s ease, border-color .2s ease, transform .2s ease;
  }
  .kr-culture-links a svg{width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease;}
  .kr-culture-links a:hover{color:var(--blue); border-color:var(--blue-light); transform:translateY(-1px);}
  .kr-culture-links a:hover svg{transform:translateX(3px);}

  .kr-apply{padding:0 0 110px; scroll-margin-top:90px;}
  .kr-apply-card{
    max-width:860px; margin:0 auto; background:var(--ink); border-radius:28px;
    padding:54px 48px 44px; text-align:center; color:var(--white);
    position:relative; overflow:hidden;
  }
  .kr-apply-card::before{
    content:""; position:absolute; inset:auto -80px -120px auto; width:320px; height:320px; border-radius:50%;
    background:radial-gradient(circle, rgba(66,198,222,0.22), rgba(66,198,222,0) 70%);
    pointer-events:none;
  }
  .kr-apply-card .eyebrow{justify-content:center; color:var(--blue-light);}
  .kr-apply-card .eyebrow::before{display:none;}
  .kr-apply-card h2{
    font-family:'Fraunces',serif; font-weight:500; font-size:clamp(1.7rem, 3vw, 2.4rem);
    color:var(--white); margin:12px 0 16px;
  }
  .kr-apply-card h2 em{color:var(--blue-light);}
  .kr-apply-card > p{max-width:560px; margin:0 auto; font-size:15.5px; line-height:1.7; color:rgba(255,253,249,0.78);}
  .kr-apply-actions{display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-top:28px;}
  .kr-apply-actions .btn svg{width:16px; height:16px;}
  .kr-mail-addr{font-weight:500; opacity:.85; user-select:none;}
  .kr-mail-addr::after{content:attr(data-a) "\0040" attr(data-b) "\002E" attr(data-c);}
  .kr-mail-addr:not([data-a]){display:none;}
  .kr-apply-mail{margin-top:26px !important; font-size:14px !important;}
  .kr-apply-mail a{color:var(--blue-light); font-weight:600; border-bottom:1px solid rgba(66,198,222,0.4);}
  .kr-apply-addr{margin-top:8px !important; font-size:12.5px !important; color:rgba(255,253,249,0.55) !important;}

  @media (max-width: 1000px){
    .kr-benefit-grid{grid-template-columns:repeat(2, 1fr);}
    .kr-intro-grid, .kr-culture-grid{grid-template-columns:1fr; gap:34px;}
    .kr-culture-photo{order:2; aspect-ratio:4/3;}
    .kr-job-cols-3{grid-template-columns:1fr 1fr;}
  }
  @media (max-width: 700px){
    .kr-benefit-grid{grid-template-columns:1fr;}
    .kr-job summary{padding:20px 18px;}
    .kr-job-body{padding:4px 18px 22px;}
    .kr-job-cols, .kr-job-cols-3{grid-template-columns:1fr;}
    .kr-job-apply{flex-direction:column; align-items:stretch; text-align:center;}
    .kr-apply-card{padding:40px 24px 34px;}
  }

/* Hinweispunkt „neue offene Stellen“ am Menüpunkt Karriere */
  nav.main-nav > ul > li > a.nav-badge{padding-right:13px;}
  .nav-dot{
    position:absolute; top:1px; right:0; width:8px; height:8px; border-radius:50%;
    background:#E23B3B; box-shadow:0 0 0 2px rgba(255,253,249,0.9);
  }
  .nav-dot::after{
    content:""; position:absolute; inset:-4px; border-radius:50%;
    border:1.5px solid rgba(226,59,59,0.6);
    animation:nav-dot-pulse 2.2s ease-out infinite;
  }
  @keyframes nav-dot-pulse{0%{transform:scale(.55); opacity:1;} 100%{transform:scale(1.7); opacity:0;}}
  @media (prefers-reduced-motion: reduce){.nav-dot::after{animation:none;}}
  @media (max-width: 1120px){
    nav.main-nav.nav-open > ul > li > a.nav-badge{padding-right:0;}
    nav.main-nav.nav-open .nav-dot{position:static; display:inline-block; margin-left:9px; vertical-align:middle; transform:translateY(-1px);}
  }

/* Verschleierte E-Mail: Anzeige nur per CSS aus drei Attributen */
.email-obf[data-a]::after{content:attr(data-a) "\0040" attr(data-b) "\002E" attr(data-c);}

/* ==========================================================================
   RATGEBER (Checklisten-Seiten, nutzt tx-Layout)
   ========================================================================== */
  .tx-content h3{font-size:16px; font-weight:600; color:var(--ink); margin:22px 0 6px;}
  .tx-content ul{list-style:none; margin:0 0 22px; padding:0;}
  .tx-content li{position:relative; padding-left:30px; margin-bottom:12px; font-size:15px; line-height:1.65; color:var(--ink-soft);}
  .tx-content li::before{content:""; position:absolute; left:2px; top:.42em; width:13px; height:13px; border:1.5px solid var(--blue); border-radius:4px;}
  .tx-content li strong{color:var(--ink); font-weight:600;}
  .tx-content p.rg-us{font-family:'Fraunces',serif; font-style:italic; font-weight:500; font-size:16.5px; line-height:1.6; color:var(--blue); padding-left:18px; border-left:2px solid var(--blue); margin:0 0 26px;}
  .tx-content p.rg-us strong{font-family:'Inter',sans-serif; font-style:normal; font-weight:600; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); margin-right:8px;}
  .tx-content p.rg-note{font-size:13.5px; line-height:1.6; color:var(--ink-soft);}
  .tx-content .rg-small{font-size:13.5px; color:var(--ink-soft);}
  .tx-content a{color:var(--blue); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(30,86,214,.35);}
  .tx-content a:hover{text-decoration-color:var(--blue);}

/* ==========================================================================
   DOWNLOAD-CENTER (dc- Präfix) – downloads.html
   ========================================================================== */
  .sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
  .dc-hero{padding-bottom:30px;}
  .dc-hero h1 em{font-style:italic; color:var(--blue); font-weight:500;}
  .dc-facts{display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin:28px 0 0;}
  .dc-facts li{
    display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--ink-soft);
    background:var(--white); border:1px solid var(--line); border-radius:999px; padding:8px 16px 8px 12px;
  }
  .dc-facts strong{font-family:'Fraunces',serif; font-weight:600; font-size:17px; color:var(--ink); font-variant-numeric:tabular-nums;}

  .dc-toolbar{
    position:sticky; top:var(--header-h); z-index:20; padding:12px 0;
    background:rgba(246,241,232,.9); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
    border-bottom:1px solid var(--line);
  }
  .dc-toolbar-inner{display:flex; align-items:center; justify-content:space-between; gap:18px;}
  .dc-chips{display:flex; gap:8px; flex-wrap:wrap;}
  .dc-chip{
    display:inline-flex; align-items:center; gap:8px; padding:9px 14px 9px 15px; border-radius:999px;
    border:1px solid var(--line); background:var(--white); color:var(--ink);
    font-family:'Inter',sans-serif; font-weight:600; font-size:13px; line-height:1; cursor:pointer;
    transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
  }
  .dc-chip span{
    font-size:11px; font-weight:600; color:var(--ink-soft); background:var(--cream-deep);
    border-radius:999px; padding:4px 7px; min-width:22px; text-align:center; line-height:1;
  }
  .dc-chip:hover{border-color:var(--blue-light); color:var(--blue); transform:translateY(-1px);}
  .dc-chip.is-active{background:var(--ink); border-color:var(--ink); color:var(--white);}
  .dc-chip.is-active span{background:rgba(255,253,249,.16); color:var(--white);}
  .dc-search{position:relative; flex:0 0 280px; display:flex; align-items:center;}
  .dc-search svg{position:absolute; left:14px; width:16px; height:16px; fill:none; stroke:var(--ink-soft); stroke-width:2; stroke-linecap:round; pointer-events:none;}
  .dc-search input{
    width:100%; height:40px; padding:0 14px 0 40px; border-radius:999px; border:1px solid var(--line);
    background:var(--white); font-family:'Inter',sans-serif; font-weight:500; font-size:14px; color:var(--ink);
    outline:none; -webkit-appearance:none; appearance:none; transition:border-color .2s ease, box-shadow .2s ease;
  }
  .dc-search input:focus{border-color:var(--blue-light); box-shadow:0 0 0 3px rgba(66,198,222,.18);}
  .dc-search input::placeholder{color:#A39A8E;}
  .dc-search input::-webkit-search-cancel-button{-webkit-appearance:none; appearance:none;}

  .dc-section{padding:46px 0 10px;}
  .dc-section-head{display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start; max-width:780px; margin-bottom:26px;}
  .dc-num{font-family:'Fraunces',serif; font-style:italic; font-weight:500; font-size:36px; line-height:1; color:var(--blue); padding-top:1px;}
  .dc-section-head h2{font-family:'Fraunces',serif; font-weight:600; font-size:clamp(1.4rem, 2.4vw, 1.85rem); margin:0 0 8px;}
  .dc-section-head p{font-size:15px; line-height:1.7; color:var(--ink-soft);}

  .dc-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:22px;}
  .dc-card{
    display:flex; flex-direction:column; background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); overflow:hidden; box-shadow:0 24px 48px -34px rgba(42,38,34,.35);
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
  .dc-card:hover{transform:translateY(-4px); border-color:#C9B99F; box-shadow:0 34px 60px -32px rgba(42,38,34,.45);}
  .dc-cover{
    position:relative; display:block; aspect-ratio:1/0.82; overflow:hidden;
    background:linear-gradient(160deg, #EFE7D9 0%, #E4D9C6 100%);
  }
  .dc-cover::after{content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 0%, rgba(30,86,214,.10), transparent 62%); pointer-events:none;}
  .dc-cover img{
    position:absolute; left:50%; top:18px; width:74%; height:auto; transform:translateX(-50%);
    border-radius:5px 5px 0 0; box-shadow:0 18px 34px -16px rgba(42,38,34,.5), 0 0 0 1px rgba(42,38,34,.06);
    transition:transform .45s cubic-bezier(.2,.7,.2,1);
  }
  .dc-card:hover .dc-cover img{transform:translateX(-50%) translateY(-14px);}
  .dc-card.is-tall .dc-cover img{width:auto; height:calc(100% - 18px); border-radius:5px 5px 0 0;}
  .dc-badge{
    position:absolute; left:14px; top:14px; z-index:2; font-family:'Inter',sans-serif; font-weight:700; font-size:10.5px; line-height:1;
    letter-spacing:.14em; color:#fff; background:#E23B3B; border-radius:6px; padding:6px 8px;
  }
  .dc-pages{
    position:absolute; right:14px; top:14px; z-index:2; font-size:11px; font-weight:600; line-height:1; color:var(--ink);
    background:rgba(255,253,249,.94); border:1px solid var(--line); border-radius:999px; padding:6px 10px;
  }
  .dc-body{padding:18px 20px 12px; flex:1;}
  .dc-kicker{display:block; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); margin-bottom:8px;}
  .dc-body h3{font-family:'Fraunces',serif; font-weight:600; font-size:18px; line-height:1.25; margin:0 0 8px; color:var(--ink);}
  .dc-body p{font-size:13.5px; line-height:1.6; color:var(--ink-soft);}
  .dc-actions{display:flex; align-items:center; gap:8px; padding:0 20px 18px;}
  .dc-dl{
    display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:999px;
    background:var(--ink); color:var(--white); font-size:13px; font-weight:600; transition:background .2s ease, transform .2s ease;
  }
  .dc-dl svg{width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
  .dc-dl:hover{background:var(--blue); transform:translateY(-1px);}
  .dc-view{
    display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%;
    border:1px solid var(--line); color:var(--ink); transition:border-color .2s ease, color .2s ease, background .2s ease;
  }
  .dc-view svg{width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
  .dc-view:hover{border-color:var(--blue-light); color:var(--blue); background:var(--cream);}
  .dc-size{margin-left:auto; white-space:nowrap; font-size:12px; color:var(--ink-soft); font-variant-numeric:tabular-nums;}

  .dc-empty{padding:50px 0 10px; text-align:center;}
  .dc-empty p{font-size:15px; color:var(--ink-soft);}
  .dc-empty strong{color:var(--ink);}
  .dc-empty button{background:none; border:0; padding:0; font:inherit; color:var(--blue); text-decoration:underline; text-underline-offset:3px; cursor:pointer;}

  .dc-howto{padding:74px 0 20px;}
  .dc-howto-head{text-align:center; margin-bottom:34px;}
  .dc-howto-head .eyebrow{justify-content:center;}
  .dc-howto-head .eyebrow::before{display:none;}
  .dc-howto-head h2{font-family:'Fraunces',serif; font-weight:600; font-size:clamp(1.5rem, 3vw, 2.1rem); margin-top:12px;}
  .dc-howto-head h2 em{font-style:italic; color:var(--blue); font-weight:500;}
  .dc-steps{list-style:none; display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; max-width:1000px; margin:0 auto; counter-reset:dc;}
  .dc-steps li{position:relative; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); padding:26px 24px 24px; counter-increment:dc;}
  .dc-steps li::before{content:"0" counter(dc); position:absolute; right:22px; top:20px; font-family:'Fraunces',serif; font-style:italic; font-size:22px; color:#C9B99F;}
  .dc-step-icon{
    display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:14px;
    background:linear-gradient(135deg, rgba(30,86,214,0.10), rgba(66,198,222,0.18)); margin-bottom:16px;
  }
  .dc-step-icon svg{width:22px; height:22px; fill:none; stroke:var(--blue); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
  .dc-steps h3{font-family:'Inter',sans-serif; font-size:16px; font-weight:600; margin-bottom:8px;}
  .dc-steps p{font-size:14px; line-height:1.65; color:var(--ink-soft);}
  .dc-note{max-width:720px; margin:26px auto 0; text-align:center; font-size:13px; line-height:1.6; color:var(--ink-soft);}
  .dc-cta-section{padding-top:0;}
  .dc-cta-section .tx-cta{margin-top:40px;}

  /* Link „Alle Unterlagen“ auf der Kollegen-Seite */
  .fk-download-more{margin:18px 0 0; font-size:14px; font-weight:600;}
  .fk-download-more a{display:inline-flex; align-items:center; gap:8px; color:var(--blue);}
  .fk-download-more a svg{width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease;}
  .fk-download-more a:hover svg{transform:translateX(4px);}

  @media (max-width: 900px){
    .dc-toolbar-inner{flex-direction:column; align-items:stretch;}
    .dc-search{flex:none;}
    .dc-steps{grid-template-columns:1fr;}
  }
  @media (max-width: 640px){
    .dc-grid{grid-template-columns:1fr 1fr; gap:14px;}
    .dc-body{padding:14px 14px 10px;}
    .dc-actions{padding:0 14px 14px; flex-wrap:wrap;}
    .dc-size{flex-basis:100%; margin-left:0;}
    .dc-section-head{grid-template-columns:1fr;}
    .dc-num{display:none;}
  }  .fk-dl-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:18px;}
  @media (max-width:560px){.fk-dl-grid{grid-template-columns:1fr;}}

  /* ---------- LOKAL: ZAHNARZT DARMSTADT ---------- */
  .hero-copy .eyebrow{margin-top:6px;}
  .local{padding:40px 0 70px; position:relative;}
  .local-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:start;}
  .local-copy h2{font-size:clamp(1.9rem, 3vw, 2.6rem); margin:14px 0 22px;}
  .local-copy h2 em{font-style:italic; color:var(--blue);}
  .local-copy p{color:var(--ink-soft); font-size:16.5px; line-height:1.75; margin-bottom:16px; max-width:560px;}
  .local-facts{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px;}
  .local-facts span{
    display:inline-flex; align-items:center; gap:8px;
    padding:9px 14px; border:1px solid var(--line); border-radius:999px;
    background:var(--white); font-size:13px; font-weight:600; color:var(--ink);
  }
  .local-facts svg{width:15px; height:15px; color:var(--blue); flex-shrink:0;}
  .local-links{display:grid; gap:10px; padding-top:8px;}
  .local-links a{
    display:flex; justify-content:space-between; align-items:center; gap:18px;
    padding:16px 20px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md);
    text-decoration:none; color:var(--ink);
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .local-links a:hover{transform:translateY(-3px); box-shadow:0 20px 34px -22px rgba(42,38,34,0.28); border-color:var(--blue-light);}
  .local-links a span{display:grid; gap:3px;}
  .local-links a strong{font-family:'Fraunces',serif; font-weight:500; font-size:18px; letter-spacing:-0.01em;}
  .local-links a small{font-size:13px; color:var(--ink-soft);}
  .local-links a svg{width:18px; height:18px; color:var(--blue); flex-shrink:0; transition:transform .25s ease;}
  .local-links a:hover svg{transform:translateX(4px);}
  .local-links a.local-links-all{background:transparent; border-color:transparent; justify-content:center; font-weight:600; font-size:14px; color:var(--blue); padding:10px;}
  .local-links a.local-links-all:hover{box-shadow:none; transform:none;}

  /* ---------- FAQ ---------- */
  .kontakt-section:has(+ .faq){padding-bottom:30px;}
  .faq{padding:50px 0 100px;}
  .faq .section-head{margin-bottom:36px; max-width:720px;}
  .faq-list{max-width:820px; margin:0 auto;}
  .faq-list details{border-top:1px solid var(--line);}
  .faq-list details:last-child{border-bottom:1px solid var(--line);}
  .faq-list summary{
    list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px;
    padding:22px 4px; font-family:'Fraunces',serif; font-weight:500; font-size:20px; letter-spacing:-0.01em; color:var(--ink);
  }
  .faq-list summary::-webkit-details-marker{display:none;}
  .faq-list summary::after{content:"+"; font:300 28px/1 'Fraunces',serif; color:var(--blue); transition:transform .3s ease; flex-shrink:0;}
  .faq-list details[open] summary::after{transform:rotate(45deg);}
  .faq-list details p{padding:0 4px 24px; max-width:720px; color:var(--ink-soft); font-size:15.5px; line-height:1.7;}
  .faq-list details a{color:var(--blue); text-decoration:underline; text-underline-offset:3px;}
  .faq-cta{display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:44px;}
  @media (max-width: 980px){
    .local-grid{grid-template-columns:1fr; gap:40px;}
    .local-copy p{max-width:none;}
  }
  @media (max-width: 600px){
    .local{padding:24px 0 50px;}
    .faq{padding:30px 0 70px;}
    .faq-list summary{font-size:17px; padding:18px 2px;}
    .local-links a strong{font-size:16.5px;}
    .faq-cta .btn{width:100%;}
  }
