@charset "UTF-8";
/* ===========================================================================
   kuzbari-2027.css — Design-Upgrade (Entwurf 28.10.2026)
   ---------------------------------------------------------------------------
   Wird nur geladen, wenn includes/design27.php die neue Optik einschaltet
   (Vorschau ?design=2027), und greift ausschliesslich unter <html class="kz27">.
   Ohne diese Klasse bleibt die Site unveraendert.

   Leitidee
     - Typografie nach dem Vorbild des Magazins onBEAUTY: Ueberschriften in
       Jost Extra Light, Versalien, das tragende Wort in <b> kraeftiger (400);
       Akzentzeilen und Einleitungen in Cormorant Garamond kursiv; ueber jeder
       Ueberschrift ein Kicker (Thema · Unterthema) mit Goldlinie. Text bleibt
       Neue Helvetica. Schriften lokal gehostet. Julius Sans One entfaellt.
     - Struktur: die Seite besteht aus Abschnitten (.kz27-sec) ueber die volle
       Fensterbreite, abwechselnd weiss und hellgrau. Inhalt auf 1240 px,
       Abschnitte mit Ueberschrift links / Text rechts (.kz27-split) — so
       nutzt der Desktop die Breite, das Smartphone bleibt einspaltig.
     - Ruhe: kaum Schatten, kleine Radien, feine Linien, viel Luft.
   =========================================================================== */

@font-face { font-family: 'Jost'; font-style: normal; font-weight: 200 500; font-display: swap;
    src: url('/assets/fonts/kz27/jost-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: 'Jost'; font-style: normal; font-weight: 200 500; font-display: swap;
    src: url('/assets/fonts/kz27/jost-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap;
    src: url('/assets/fonts/kz27/cormorant-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: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap;
    src: url('/assets/fonts/kz27/cormorant-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 500; font-display: swap;
    src: url('/assets/fonts/kz27/cormorant-italic-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: 'Cormorant Garamond'; font-style: italic; font-weight: 500; font-display: swap;
    src: url('/assets/fonts/kz27/cormorant-italic-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ------------------------------------------------------------------ Tokens */
html.kz27 {
    --kz27-display: 'Jost', 'Futura', 'Helvetica Neue', Arial, sans-serif;   /* Ueberschriften, Zahlen */
    --kz27-display-weight: 400;
    --kz27-display-track: .01em;
    --kz27-accent: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;   /* Akzentzeilen, Einleitung (kursiv) */
    --kz27-sans: 'Neue Helvetica W05', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --kz27-ink: #1c1a17;          /* Ueberschriften */
    --kz27-text: #3b3732;         /* Fliesstext */
    --kz27-mute: #77716a;         /* Bildunterschriften, Labels */
    --kz27-grey: #f3f3f2;         /* Abschnittsgrund hell */
    --kz27-grey-2: #e9e9e7;       /* Flaechen auf Grau */
    --kz27-line: #dededb;         /* Linien */
    --kz27-line-strong: #c9c9c5;
    --kz27-gold: #b69154;
    --kz27-gold-text: #8c6d3c;    /* Gold, das als Text lesbar ist (AA auf Weiss) */
    --kz27-dark: #1f1d1a;
    --kz27-max: 1240px;
    --kz27-pad: clamp(20px, 4.4vw, 56px);
    --kz27-sec-y: clamp(56px, 7.5vw, 112px);
    --kz27-r: 4px;
    /* Werte, auf die das Design-System 2026 zugreift */
    --kz-display: var(--kz27-display);
    --kz-sans: var(--kz27-sans);
    --kz-ink: var(--kz27-ink);
    --kz-ink-soft: var(--kz27-text);
    --kz-ink-mute: var(--kz27-mute);
    --kz-line: var(--kz27-line);
    --kz-paper-warm: var(--kz27-grey);
    --kz-paper-cool: var(--kz27-grey);
    --kz-gold-tint: var(--kz27-grey);
    --kz-r: var(--kz27-r);
    --kz-r-s: 3px;
}

html.kz27 body { background: #fff; }
/* Kopfleiste als Glas: darunter durchlaufender Inhalt verschwimmt statt durchzuscheinen */
html.kz27 .header2024 {
    background: rgba(255, 255, 255, .8);
    -webkit-backdrop-filter: blur(18px) saturate(1.5);
    backdrop-filter: blur(18px) saturate(1.5);
}

/* ------------------------------------------------- Raster der Altseite loesen */
html.kz27 #content { display: block; width: auto; margin: 0; z-index: auto; }
html.kz27 #content > article { display: block; }
html.kz27 #content > article > * { padding-left: 0; }
html.kz27 #content > article img { max-width: 100%; }
html.kz27 #content > article div { letter-spacing: 0; font-weight: 400; font-size: 17px; line-height: 1.68; color: var(--kz27-text); }
html.kz27 #content > article p { margin-bottom: 1.1em; }
html.kz27 #breadcrumbs {
    width: auto;
    max-width: var(--kz27-max);
    box-sizing: border-box;
    margin: 0 auto;
    padding: 28px var(--kz27-pad) 0;
    font-style: normal;
    font-size: 12px;
    letter-spacing: .02em;
    color: var(--kz27-mute);
    z-index: 0;
}
html.kz27 #breadcrumbs a:link, html.kz27 #breadcrumbs a:visited { color: var(--kz27-mute); }
/* Das Heldenbild steht im Einstieg unter dem Titel (design27.php zieht es um) */
html.kz27 .cover2023 { display: none; }

/* ---------------------------------------------------------------- Abschnitte */
html.kz27 .kz27-sec,
html.kz27 #content > article > .kz27-sec { position: relative; isolation: isolate; padding: var(--kz27-sec-y) 0; margin: 0; background: #fff; }
/* Altmodule tragen z-index:-2 — ohne eigenen Stapelkontext verschwaenden sie hinter dem Abschnittsgrund */
html.kz27 #content > article > .kz27-sec--grey, html.kz27 .kz27-sec--grey { background: var(--kz27-grey); }
html.kz27 #content > article > .kz27-sec--dark, html.kz27 .kz27-sec--dark { background: var(--kz27-dark); }
html.kz27 .kz27-wrap {
    max-width: var(--kz27-max);
    margin: 0 auto;
    padding: 0 var(--kz27-pad);
    box-sizing: border-box;
}
html.kz27 .kz27-wrap > * { margin-top: 0; }

/* Bausteine sitzen im Raster des Abschnitts, nicht mehr in der 640-px-Spalte */
html.kz27 :is(#content, body) .kz27-wrap > .kz-block,
html.kz27 :is(#content, body) .kz27-wrap > .kz-band,
html.kz27 :is(#content, body) .kz27-wrap > div,
html.kz27 :is(#content, body) .kz27-wrap > ul,
html.kz27 :is(#content, body) .kz27-wrap > ol,
html.kz27 :is(#content, body) .kz27-wrap > nav,
html.kz27 :is(#content, body) .kz27-wrap > aside {
    max-width: none;
    margin: 0 0 40px;
}
html.kz27 :is(#content, body) .kz27-wrap > :last-child { margin-bottom: 0; }

/* Ueberschrift links, Text rechts (ab 1000 px) */
@media (min-width: 1000px) {
    html.kz27 .kz27-split {
        display: grid;
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        column-gap: clamp(48px, 7vw, 120px);
        align-items: start;
    }
    html.kz27 .kz27-split > * { grid-column: 2; }
    html.kz27 :is(#content, body) .kz27-split > .kz-block:first-child { display: contents; }
    html.kz27 :is(#content, body) .kz27-split > .kz-block:first-child > * { grid-column: 2; max-width: 680px; }
    html.kz27 :is(#content, body) .kz27-split > .kz-block:first-child > .kz27-head {
        grid-column: 1;
        grid-row: span 99;
        position: sticky;
        top: 134px;           /* Kopfleiste 110 px + Luft fuer die Glasflaeche */
        z-index: 3;
        max-width: none;
        margin: 0;
    }
    html.kz27 :is(#content, body) .kz27-split .kz27-head .kz-h { margin: 0; }
    /* Mitlaufend (kuzbari-2027.js setzt .is-stuck): auf die halbe Groesse,
       auf einer Glasflaeche, damit darunter durchlaufender Inhalt lesbar bleibt */
    html.kz27 .kz27-head .kz27-kicker { transition: opacity .25s ease; }
    html.kz27 :is(#content, body) .kz27-head .kz-h {
        position: relative;
        transform-origin: 0 0;
        transition: transform .4s cubic-bezier(.2, .7, .2, 1);
    }
    html.kz27 :is(#content, body) .kz27-head .kz-h:before {
        content: '';
        display: block;
        position: absolute;
        inset: -22px -30px;
        z-index: -1;
        border-radius: 22px;
        background: linear-gradient(135deg, rgba(255, 255, 255, .82), rgba(255, 255, 255, .5));
        -webkit-backdrop-filter: blur(18px) saturate(1.5);
        backdrop-filter: blur(18px) saturate(1.5);
        border: 1px solid rgba(255, 255, 255, .75);
        box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 18px 40px -12px rgba(28, 26, 23, .18);
        opacity: 0;
        transition: opacity .3s ease;
    }
    html.kz27 .kz27-sec--grey .kz27-head .kz-h:before { background: linear-gradient(135deg, rgba(250, 250, 249, .85), rgba(243, 243, 242, .55)); }
    html.kz27 .kz27-head.is-stuck .kz27-kicker { opacity: 0; }
    html.kz27 :is(#content, body) .kz27-head.is-stuck .kz-h { transform: translateY(-36px) scale(.5); }
    html.kz27 :is(#content, body) .kz27-head.is-stuck .kz-h:before { opacity: 1; }
    html.kz27 :is(#content, body) .kz27-split > .kz-block:first-child > .kz-anchor { position: absolute; }
    html.kz27 :is(#content, body) .kz27-split > .kz-wide,
    html.kz27 :is(#content, body) .kz27-split > .kz-band,
    html.kz27 :is(#content, body) .kz27-split > .kz-docs,
    html.kz27 :is(#content, body) .kz27-split > .kz-media,
    html.kz27 :is(#content, body) .kz27-split > .kz-stats,
    html.kz27 :is(#content, body) .kz27-split > .kz-icons,
    html.kz27 :is(#content, body) .kz27-split > .kz-vnrow,
    html.kz27 :is(#content, body) .kz27-split > .kz-journey,
    html.kz27 :is(#content, body) .kz27-split > .csc-default { grid-column: 1 / -1; }
    html.kz27 :is(#content, body) .kz27-split > .kz-block:not(.kz-wide):not(:first-child) { max-width: 680px; }
    html.kz27 :is(#content, body) .kz27-split > .kz-wide { margin-top: 24px; }
}

/* --------------------------------------------------------------- Typografie */
/* Grosse Ueberschriften wie im Magazin onBEAUTY: Jost Extra Light in Versalien,
   das tragende Wort (<b>, von design27.php gesetzt) in 400, Akzentzeile kursiv */
html.kz27 :is(#content, body) .kz-h,
html.kz27 #content > article h2,
html.kz27 #content h1,
html.kz27 :is(#content, body) .kz-intro .kz-intro-title,
html.kz27 :is(#content, body) .kz-cta .kz-cta-title,
html.kz27 :is(#content, body) .kz-journey-head h2 {
    font-family: var(--kz27-display);
    font-weight: 200;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: var(--kz27-ink);
    border: 0;
    padding: 0;
    /* keine Trennung: Groessen sind so gewaehlt, dass „BRUSTVERGRÖSSERUNG" (≈ 11,4 em) passt */
    -webkit-hyphens: manual;
    hyphens: manual;
    overflow-wrap: break-word;
    text-wrap: balance;
}
html.kz27 #content :is(h1, h2) b,
html.kz27 #content :is(h1, h2) strong { font-weight: 400; }
html.kz27 .kz27-akzent,
html.kz27 #content :is(h1, h2) .kz27-akzent {
    font-family: var(--kz27-accent);
    font-style: italic;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    font-size: 1.08em;
}
html.kz27 :is(#content, body) .kz-h { font-size: clamp(25px, 7.2vw, 42px); line-height: 1.12; margin: 0 0 26px; }
html.kz27 :is(#content, body) .kz-h:before { content: none; }
/* Kopf mit Kicker: Groesse nach der Spaltenbreite, damit „BRUSTVERGRÖSSERUNG" (≈ 11,4 em) nie umbricht */
html.kz27 :is(#content, body) .kz27-head { container-type: inline-size; }
html.kz27 :is(#content, body) .kz27-head .kz-h,
html.kz27 :is(#content, body) .kz27-head .kz-cta-title { font-size: clamp(22px, 8.3cqi, 40px); }
html.kz27 #content .kz27-sec--dark .kz27-head .kz-cta-title { font-size: clamp(30px, 8.3cqi, 60px); }
html.kz27 :is(#content, body) .kz-h--center { text-align: left; }
/* Zwischentitel und Kartentitel: Jost 400, normale Schreibung */
html.kz27 :is(#content, body) h3.kz-h,
html.kz27 :is(#content, body) .kz-media-body .kz-h,
html.kz27 #content > article .csc-default h2 {
    font-family: var(--kz27-display);
    font-weight: 400;
    text-transform: none;
    letter-spacing: .01em;
    font-size: clamp(21px, 1.8vw, 26px);
    line-height: 1.25;
    margin: 0 0 14px;
    -webkit-hyphens: manual;
    hyphens: manual;
}

/* Kicker: Thema · Unterthema, Goldlinie davor */
html.kz27 .kz27-kicker,
html.kz27 :is(#content, body) .kz-kicker {
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: var(--kz27-display);
    font-weight: 500;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--kz27-gold-text);
    margin: 0 0 20px;
    padding: 0;
    max-width: none;
}
html.kz27 .kz27-kicker:before,
html.kz27 :is(#content, body) .kz-kicker:before {
    content: '';
    flex: 0 0 44px;
    height: 1px;
    background: var(--kz27-gold);
}
html.kz27 .kz27-kicker b { font-weight: 500; color: var(--kz27-ink); }
html.kz27 .kz27-sec--dark .kz27-kicker,
html.kz27 .kz27-sec--dark .kz27-kicker b { color: var(--kz27-gold); }
html.kz27 :is(#content, body) .kz-media-body .kz-kicker { margin-bottom: 14px; }
html.kz27 :is(#content, body) .kz-text,
html.kz27 #content > article p,
html.kz27 #content > article li {
    font-family: var(--kz27-sans);
    font-weight: 400;
    font-size: 17px;
    line-height: 1.68;
    letter-spacing: 0;
    color: var(--kz27-text);
}
html.kz27 #content > article a:not([class]) { color: var(--kz27-ink); text-decoration: underline; text-decoration-color: var(--kz27-gold); text-underline-offset: 3px; }
html.kz27 #content > article a:not([class]):hover { color: var(--kz27-gold-text); }

/* Knoepfe: Pille in Tinte, Zweitknopf als Kontur */
html.kz27 :is(#content, body) .kz-btn {
    font-family: var(--kz27-sans);
    font-weight: 400;
    font-size: 15px;
    letter-spacing: .01em;
    text-transform: none;
    color: #fff;
    background: var(--kz27-ink);
    border: 1px solid var(--kz27-ink);
    border-radius: 999px;
    padding: 14px 28px;
}
html.kz27 :is(#content, body) a.kz-btn:hover,
html.kz27 :is(#content, body) .kz-btn:hover,
html.kz27 :is(#content, body) .kz-btn:focus { background: var(--kz27-gold-text); border-color: var(--kz27-gold-text); color: #fff; }
html.kz27 :is(#content, body) a.kz-btn--ghost,
html.kz27 :is(#content, body) .kz-btn--ghost { background: transparent; color: var(--kz27-ink); border-color: var(--kz27-line-strong); }

/* -------------------------------------------------------------- Einstieg */
html.kz27 #content > article > .kz27-sec--intro { padding: 0 0 var(--kz27-sec-y); }
html.kz27 .kz27-wrap--intro { padding-top: clamp(28px, 4vw, 56px); padding-bottom: clamp(32px, 4vw, 56px); }
html.kz27 :is(#content, body) .kz27-wrap--intro .kz-intro { margin: 0; padding: 0; border: 0; }
html.kz27 :is(#content, body) .kz-intro .kz-intro-title { font-size: clamp(28px, 7.4vw, 80px); line-height: 1.04; margin: 0; }
html.kz27 :is(#content, body) .kz-intro .kz-intro-lead {
    font-family: var(--kz27-accent);
    font-weight: 500;
    font-size: clamp(21px, 1.9vw, 26px);
    line-height: 1.5;
    letter-spacing: 0;
    color: var(--kz27-ink);
    margin: 0;
}
/* Titel ueber die volle Breite, Einleitung darunter in der rechten Spalte */
@media (min-width: 1000px) {
    html.kz27 :is(#content, body) .kz27-wrap--intro .kz-intro {
        display: grid;
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        column-gap: clamp(48px, 7vw, 120px);
    }
    html.kz27 :is(#content, body) .kz27-wrap--intro .kz-intro > * { grid-column: 1 / -1; }
    html.kz27 :is(#content, body) .kz27-wrap--intro .kz-intro-title { margin-bottom: 36px; max-width: none; }
    html.kz27 :is(#content, body) .kz27-wrap--intro .kz-intro > .kz-intro-lead { grid-column: 2; max-width: 680px; }
}
@media (max-width: 999px) {
    html.kz27 :is(#content, body) .kz-intro .kz-intro-title { margin-bottom: 20px; }
}
/* Eckdaten als Linienleiste (wie ein Datenblatt) */
html.kz27 :is(#content, body) .kz-intro-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0;
    margin: clamp(32px, 4vw, 52px) 0 0;
    border-top: 1px solid var(--kz27-line);
    border-bottom: 1px solid var(--kz27-line);
}
html.kz27 :is(#content, body) .kz-intro-facts li {
    padding: 18px 20px 18px 0;
    font-size: 15px;
    letter-spacing: 0;
    text-transform: none;
    color: var(--kz27-ink);
    gap: 12px;
}
html.kz27 :is(#content, body) .kz-intro-facts li + li { border-left: 1px solid var(--kz27-line); padding-left: 20px; }
html.kz27 :is(#content, body) .kz-intro-facts .kz-i { color: var(--kz27-gold); width: 22px; height: 22px; flex-basis: 22px; }
@media (max-width: 640px) {
    html.kz27 :is(#content, body) .kz-intro-facts { grid-template-columns: 1fr 1fr; }
    html.kz27 :is(#content, body) .kz-intro-facts li { padding: 14px 10px 14px 0; font-size: 14px; }
    html.kz27 :is(#content, body) .kz-intro-facts li + li { padding-left: 12px; }
    html.kz27 :is(#content, body) .kz-intro-facts li:nth-child(odd) { border-left: 0; padding-left: 0; }
    html.kz27 :is(#content, body) .kz-intro-facts li:nth-child(n+3) { border-top: 1px solid var(--kz27-line); }
}
/* Heldenbild ueber die volle Breite */
html.kz27 .kz27-cover { margin: 0; padding: 0; }
html.kz27 .kz27-cover img {
    display: block;
    width: 100%;
    max-width: none !important;
    height: auto;
    max-width: 1920px !important;
    margin: 0 auto;
}
html.kz27 .kz27-cover img:nth-child(2) { display: none; }
@media (max-width: 767px) {
    html.kz27 .kz27-cover img:nth-child(1) { display: none; }
    html.kz27 .kz27-cover img:nth-child(2) { display: block; }
}
html.kz27 .kz27-wrap--after { padding-top: clamp(32px, 4vw, 56px); }
/* Mini-Aerzteleiste der Altseite: die Aerzte stehen ausfuehrlich weiter unten */
html.kz27 .kz27-wrap--after > .csc-default:has(> .tx-dce-pi1) { display: none; }

/* Inhaltsverzeichnis: Linkreihe statt Randspalte */
html.kz27 #content .kz-toc,
html.kz27 #content .kz-toc--sticky {
    position: static;
    float: none;
    width: auto;
    margin: 0 0 40px;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
    display: flex;
    align-items: baseline;
    gap: 8px 24px;
    flex-wrap: wrap;
}
html.kz27 #content .kz-toc-title {
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--kz27-mute);
    margin: 0;
    flex: 0 0 auto;
}
html.kz27 #content .kz-toc ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
html.kz27 #content .kz-toc li { margin: 0; padding: 0; font-size: 14px; list-style: none; }
html.kz27 #content .kz-toc li:before { content: none; }
html.kz27 #content .kz-toc a {
    display: inline-block;
    padding: 7px 14px;
    border: 1px solid var(--kz27-line);
    border-radius: 999px;
    color: var(--kz27-ink);
    text-decoration: none;
    font-size: 14px;
    line-height: 1.3;
    background: #fff;
}
html.kz27 #content .kz-toc a:hover { border-color: var(--kz27-ink); }
/* Pillen ohne Unterstreichung: die Fließtext-Regel (#content > article a:not([class])) ist spezifischer */
html.kz27 #content > article .kz-toc a { text-decoration: none; }
@media (max-width: 767px) {
    html.kz27 #content .kz-toc ol { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: calc(-1 * var(--kz27-pad)); padding-right: var(--kz27-pad); }
    html.kz27 #content .kz-toc a { white-space: nowrap; }
}

/* Kennzahlen: grosse Ziffern, feine Trennlinien, keine Kaesten */
html.kz27 :is(#content, body) .kz-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0;
    border-top: 1px solid var(--kz27-line);
}
html.kz27 :is(#content, body) .kz-stats > li,
html.kz27 :is(#content, body) .kz-stat {
    background: none;
    border: 0;
    border-radius: 0;
    text-align: left;
    padding: 28px 24px 0 0;
    min-width: 0;
}
html.kz27 :is(#content, body) .kz-stats > li + li { border-left: 1px solid var(--kz27-line); padding-left: 24px; }
html.kz27 :is(#content, body) .kz-stat-num {
    font-family: var(--kz27-display);
    font-weight: 200;
    font-size: clamp(36px, 3.6vw, 56px);
    letter-spacing: var(--kz27-display-track);
    text-transform: none;
    color: var(--kz27-ink);
    margin-bottom: 10px;
}
html.kz27 :is(#content, body) .kz-stat-label { font-size: 13px; letter-spacing: .04em; text-transform: none; color: var(--kz27-mute); font-weight: 400; }
@media (max-width: 640px) {
    html.kz27 :is(#content, body) .kz-stats { grid-template-columns: 1fr 1fr; }
    html.kz27 :is(#content, body) .kz-stats > li { padding: 20px 12px 20px 0; }
    html.kz27 :is(#content, body) .kz-stats > li + li { padding-left: 14px; }
    html.kz27 :is(#content, body) .kz-stats > li:nth-child(odd) { border-left: 0; padding-left: 0; }
    html.kz27 :is(#content, body) .kz-stats > li:nth-child(n+3) { border-top: 1px solid var(--kz27-line); }
}

/* Knapper Terminhinweis im Einstieg */
html.kz27 :is(#content, body) .kz-cta--slim {
    background: none;
    border: 0;
    border-top: 1px solid var(--kz27-line);
    border-bottom: 1px solid var(--kz27-line);
    border-radius: 0;
    padding: 22px 0;
}
html.kz27 :is(#content, body) .kz-cta--slim .kz-cta-title { font-size: 22px; font-weight: 300; margin: 0 0 4px; }
html.kz27 :is(#content, body) .kz-cta--slim p { font-size: 15px; color: var(--kz27-mute); }

/* ------------------------------------------------------------- Bausteine */
/* Farbband: im eigenen Abschnitt, ohne zweiten Grund */
html.kz27 #content .kz27-sec .kz-band { background: none; padding: 0; margin: 0; }
html.kz27 #content .kz27-sec .kz-band-inner { max-width: none; padding: 0; margin: 0; }
html.kz27 #content .kz27-sec .kz-band .kz-h { margin-bottom: 36px; }

/* Icon-Reihe */
html.kz27 :is(#content, body) .kz-icons { gap: 40px 48px; }
html.kz27 :is(#content, body) .kz-icon-item .kz-i { color: var(--kz27-gold); }
html.kz27 :is(#content, body) .kz-icon-item h3,
html.kz27 :is(#content, body) .kz-icon-item .kz-icon-title {
    font-family: var(--kz27-display);
    font-weight: var(--kz27-display-weight);
    font-size: 23px;
    letter-spacing: var(--kz27-display-track);
    text-transform: none;
    line-height: 1.25;
    margin-bottom: 10px;
}
html.kz27 :is(#content, body) .kz-icon-item p { font-weight: 400; font-size: 16px; color: var(--kz27-text); }

/* Fakten-Karten */
html.kz27 :is(#content, body) .kz-facts { gap: 12px; }
html.kz27 :is(#content, body) .kz-facts > li,
html.kz27 :is(#content, body) .kz-fact { background: #fff; border: 1px solid var(--kz27-line); border-radius: var(--kz27-r); padding: 22px 20px; }
html.kz27 #content .kz27-sec--white .kz-fact { background: var(--kz27-grey); border-color: transparent; }
html.kz27 :is(#content, body) .kz-fact .kz-i { color: var(--kz27-gold); }
html.kz27 :is(#content, body) .kz-fact-label { letter-spacing: .08em; font-size: 11px; }
html.kz27 :is(#content, body) .kz-fact-value { font-size: 18px; font-weight: 400; color: var(--kz27-ink); }

/* Bild-Text */
html.kz27 :is(#content, body) .kz-media { gap: clamp(32px, 6vw, 96px); }
html.kz27 :is(#content, body) .kz-media-img img { border-radius: var(--kz27-r); }
html.kz27 :is(#content, body) .kz-media-img figcaption { font-size: 13px; color: var(--kz27-mute); }

/* Tabellen */
html.kz27 :is(#content, body) .kz-compare caption { font-size: 12px; letter-spacing: .12em; color: var(--kz27-mute); }
html.kz27 :is(#content, body) .kz-compare th,
html.kz27 :is(#content, body) .kz-compare td { font-size: 16px; font-weight: 400; color: var(--kz27-text); border-color: var(--kz27-line); }
html.kz27 :is(#content, body) .kz-compare thead th { background: none; color: var(--kz27-mute); border-bottom: 1px solid var(--kz27-ink); }
html.kz27 :is(#content, body) .kz-compare tbody th { color: var(--kz27-ink); }

/* Arzt-Karten */
html.kz27 :is(#content, body) .kz-docs { gap: 20px; }
html.kz27 :is(#content, body) .kz-doc {
    background: #fff;
    border: 1px solid var(--kz27-line);
    border-radius: var(--kz27-r);
    padding: 28px;
    align-items: start;
}
html.kz27 :is(#content, body) .kz-doc-name {
    font-family: var(--kz27-display);
    font-weight: var(--kz27-display-weight);
    text-transform: none;
    letter-spacing: var(--kz27-display-track);
    color: var(--kz27-ink);
    font-size: 26px;
    line-height: 1.15;
}
html.kz27 :is(#content, body) .kz-doc-role { letter-spacing: .06em; text-transform: none; font-size: 13px; }
html.kz27 :is(#content, body) .kz-doc p { font-weight: 400; color: var(--kz27-text); }
html.kz27 :is(#content, body) .kz-doc-link { text-transform: none; letter-spacing: 0; font-size: 15px; color: var(--kz27-ink); border-bottom-color: var(--kz27-gold); }

/* Ablauf */
html.kz27 :is(#content, body) .kz-steps:before { background: var(--kz27-line-strong); }
html.kz27 :is(#content, body) .kz-steps > li:before {
    font-family: var(--kz27-display);
    background: var(--kz27-ink);
    border-color: var(--kz27-ink);
    color: #fff;
    font-size: 15px;
}
html.kz27 #content .kz27-sec--grey .kz-steps > li:before { box-shadow: 0 0 0 6px var(--kz27-grey); }
html.kz27 #content .kz27-sec--white .kz-steps > li:before { box-shadow: 0 0 0 6px #fff; }
html.kz27 :is(#content, body) .kz-step-title {
    font-family: var(--kz27-display);
    font-weight: var(--kz27-display-weight);
    text-transform: none;
    letter-spacing: var(--kz27-display-track);
    font-size: 24px;
    margin-top: 2px;
}
html.kz27 :is(#content, body) .kz-step-meta { letter-spacing: .1em; color: var(--kz27-gold-text); }
html.kz27 :is(#content, body) .kz-steps p { font-weight: 400; color: var(--kz27-text); }

/* FAQ */
html.kz27 :is(#content, body) .kz-faq { border-top-color: var(--kz27-ink); }
html.kz27 :is(#content, body) .kz-faq > details { border-bottom-color: var(--kz27-line); }
html.kz27 :is(#content, body) .kz-faq > details > summary {
    font-family: var(--kz27-display);
    font-weight: var(--kz27-display-weight);
    font-size: 21px;
    line-height: 1.35;
    letter-spacing: var(--kz27-display-track);
    padding: 22px 0;
    justify-content: space-between;
    flex-direction: row-reverse;
}
html.kz27 :is(#content, body) .kz-faq > details > summary:before { border-color: var(--kz27-ink); margin-left: 12px; }
html.kz27 :is(#content, body) .kz-faq-answer { padding: 0 40px 24px 0; }
html.kz27 :is(#content, body) .kz-faq-answer p,
html.kz27 :is(#content, body) .kz-faq-answer li { font-weight: 400; color: var(--kz27-text); }

/* Preis-Karte, Checkliste, Hinweis */
html.kz27 :is(#content, body) .kz-price { background: #fff; border: 1px solid var(--kz27-line); border-radius: var(--kz27-r); box-shadow: none; }
html.kz27 #content .kz27-sec--white .kz-price { background: var(--kz27-grey); border-color: transparent; }
html.kz27 :is(#content, body) .kz-price-value { font-family: var(--kz27-display); text-transform: none; letter-spacing: var(--kz27-display-track); color: var(--kz27-ink); }
html.kz27 :is(#content, body) .kz-check li:before { border-color: var(--kz27-gold); }
html.kz27 :is(#content, body) .kz-note { background: #fff; border: 1px solid var(--kz27-line); border-left: 2px solid var(--kz27-gold); border-radius: 0; }
html.kz27 #content .kz27-sec--white .kz-note { background: var(--kz27-grey); }

/* Vorher-Nachher-Reihe */
html.kz27 :is(#content, body) .kz-vnrow-list > li,
html.kz27 :is(#content, body) .kz-vnpair { background: #fff; border: 1px solid var(--kz27-line); border-radius: var(--kz27-r); box-shadow: none; }
html.kz27 :is(#content, body) .kz-vnpair-title { text-transform: none; letter-spacing: 0; font-family: var(--kz27-display); color: var(--kz27-ink); }

/* Videos aus dem Altbestand: Kachelraster (design27.php buendelt sie) */
html.kz27 #content .kz27-videos {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
    gap: 40px 28px;
    grid-column: 1 / -1;
    margin: 16px 0 0;
}
html.kz27 #content .kz27-videos > .kz-block { margin: 0; max-width: none; }
html.kz27 #content .kz27-videos .csc-default.layout-2 { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 16px; }
html.kz27 #content .kz27-videos .csc-default.layout-2 > * { margin: 0; padding: 0; width: auto; float: none; max-width: none; }
html.kz27 #content > article .kz27-videos .csc-default h2 { font-size: 22px; line-height: 1.25; margin: 0 0 6px; }
html.kz27 #content > article .kz27-videos .csc-header p { font-size: 15px; line-height: 1.55; margin: 0; }
html.kz27 #content .kz27-videos .wistia_responsive_padding,
html.kz27 #content .kz27-videos iframe { border-radius: var(--kz27-r); overflow: hidden; }
html.kz27 #content > article .csc-default .csc-header p { font-size: 16px; color: var(--kz27-mute); }

/* Grosser Termin-Aufruf: dunkler Abschnitt */
html.kz27 #content .kz27-sec--dark .kz-cta { background: none; padding: 0; text-align: left; max-width: 820px; margin: 0; }
html.kz27 #content .kz27-sec--dark .kz-cta .kz-cta-title { color: #fff; font-size: clamp(32px, 4.2vw, 60px); line-height: 1.06; margin-bottom: 20px; }
html.kz27 #content .kz27-sec--dark .kz-cta p { color: rgba(255,255,255,.78); font-size: 18px; margin: 0 0 28px; max-width: 620px; }
html.kz27 #content .kz27-sec--dark .kz-cta-actions { justify-content: flex-start; }
html.kz27 #content .kz27-sec--dark .kz-btn { background: #fff; color: var(--kz27-ink); border-color: #fff; }
html.kz27 #content .kz27-sec--dark .kz-btn:hover { background: var(--kz27-gold); border-color: var(--kz27-gold); color: var(--kz27-ink); }
html.kz27 #content .kz27-sec--dark .kz-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.4); }
html.kz27 #content .kz27-sec--dark .kz-cta-note,
html.kz27 #content .kz27-sec--dark a:not([class]) { color: rgba(255,255,255,.7); }

/* Smartphone: etwas kleinere Grundschrift, weniger Luft */
@media (max-width: 767px) {
    html.kz27 :is(#content, body) .kz-text,
    html.kz27 #content > article p,
    html.kz27 #content > article li { font-size: 16.5px; }
    html.kz27 :is(#content, body) .kz27-wrap > .kz-block,
    html.kz27 :is(#content, body) .kz27-wrap > div,
    html.kz27 :is(#content, body) .kz27-wrap > ul,
    html.kz27 :is(#content, body) .kz27-wrap > ol { margin-bottom: 32px; }
    html.kz27 :is(#content, body) .kz-doc { padding: 22px; }
}

/* ===========================================================================
   Julius Sans One: in der Vorschau ueberall durch Jost ersetzt
   (Sicherheitsnetz fuer Stellen, die unten nicht eigens angepasst sind).
   =========================================================================== */
@font-face { font-family: 'Julius Sans One'; font-style: normal; font-weight: 200 500; font-display: swap;
    src: url('/assets/fonts/kz27/jost-latin.woff2') format('woff2'); }

/* ===========================================================================
   Startseite (design27.php gliedert die Altmodule in Abschnitte)
   =========================================================================== */
html.kz27 body .kz27-home { text-align: center; }
/* Startseite dichter als die Unterseiten: Module stehen ohnehin schon in Gruppen */
html.kz27 #content > article .kz27-sec--home,
html.kz27 .kz27-sec--home { padding: clamp(44px, 5vw, 76px) 0; }
html.kz27 body .kz27-home .hometeaser-inner { padding-top: 0 !important; padding-bottom: 0 !important; }
html.kz27 body .kz27-home .home-oscar { padding-top: 0 !important; padding-bottom: 0 !important; }
html.kz27 body .kz27-home > div,
html.kz27 body .kz27-home > ul {
    max-width: none !important;
    margin: 0 auto 36px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: none !important;
    box-shadow: none !important;
}
html.kz27 body .kz27-home > :last-child { margin-bottom: 0 !important; }
html.kz27 body .kz27-home h1,
html.kz27 body .kz27-home h2,
html.kz27 body .kz27-home h3 {
    font-family: var(--kz27-display) !important;
    font-weight: var(--kz27-display-weight) !important;
    text-transform: none !important;
    letter-spacing: var(--kz27-display-track) !important;
    color: var(--kz27-ink);
}
html.kz27 body .kz27-home p { font-family: var(--kz27-sans); font-weight: 400; color: var(--kz27-text); }
html.kz27 body .kz27-home b { font-weight: 700; }

/* Abschnittskopf */
html.kz27 body .home-oscar h1,
html.kz27 body .home-oscar h2,
html.kz27 body .homepatients > h3,
html.kz27 body .home-liposcore h2 {
    font-size: clamp(25px, 7.2vw, 44px) !important;
    line-height: 1.1 !important;
    color: var(--kz27-ink) !important;
    margin: 0 auto 22px !important;
    max-width: 24ch;
    text-wrap: balance;
}
/* Abschnittskoepfe: Versalien Extra Light, Schluesselwort 400 (wie die Unterseiten) */
html.kz27 body .kz27-home .kz27-home-h {
    font-weight: 200 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
    overflow-wrap: break-word;
}
html.kz27 body .kz27-home .kz27-home-h b { font-weight: 400; }
html.kz27 body .kz27-home .kz27-home-h .kz27-akzent { text-transform: none; letter-spacing: 0; }
html.kz27 body .kz27-home .kz27-kicker { justify-content: center; margin: 0 auto 18px; }
@media (max-width: 640px) { html.kz27 body .kz27-home .kz27-kicker { letter-spacing: .2em; gap: 10px; } html.kz27 body .kz27-home .kz27-kicker:before, html.kz27 body .kz27-home .kz27-kicker:after { flex-basis: 28px; } }
html.kz27 body .kz27-home .kz27-kicker:after { content: ''; flex: 0 0 44px; height: 1px; background: var(--kz27-gold); }
html.kz27 body .kz27-home .home-liposcore .kz27-kicker { justify-content: flex-start; }
html.kz27 body .kz27-home .home-liposcore .kz27-kicker:after { content: none; }
/* „im Kuzbari Zentrum" unter Dermato-Kosmetik als Akzentzeile */
html.kz27 body .kz27-home .home-liposcore h3 {
    font-family: var(--kz27-accent) !important;
    font-style: italic;
    font-weight: 500 !important;
    font-size: 24px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: var(--kz27-ink) !important;
}
html.kz27 body .home-oscar p,
html.kz27 body .homepatients > p {
    font-size: 17px !important;
    line-height: 1.68 !important;
    max-width: 720px;
    margin: 0 auto 16px !important;
    color: var(--kz27-text) !important;
}
html.kz27 body .home-oscar img { max-width: 100%; height: auto; border-radius: var(--kz27-r); }

/* Kacheln mit Bild (drei nebeneinander) */
html.kz27 body .kz27-home .home-teaser ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
    margin: 0;
    padding: 0;
    max-width: none;
    width: auto;
}
html.kz27 body .kz27-home .home-teaser li {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left;
    display: block;
    list-style: none;
}
html.kz27 body .kz27-home .home-teaser li img {
    width: 100% !important;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: var(--kz27-r);
    display: block;
    margin: 0 0 18px;
}
html.kz27 body .kz27-home .home-teaser h2 { font-size: 26px !important; line-height: 1.2 !important; margin: 0 0 8px !important; color: var(--kz27-ink) !important; text-align: left; }
html.kz27 body .kz27-home .home-teaser p { font-size: 16px !important; line-height: 1.6 !important; color: var(--kz27-text) !important; text-align: left; margin: 0 !important; }
html.kz27 body .kz27-home .home-teaser p a,
html.kz27 body :is(.kz27-home, #content) .iso23 h4,
html.kz27 body .kz27-home .hometeaser-item h4 {
    display: inline-block;
    background: none !important;
    color: var(--kz27-ink) !important;
    font-family: var(--kz27-sans) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    padding: 0 !important;
    margin: 12px 0 0 !important;
    border-radius: 0 !important;
    border-bottom: 1px solid var(--kz27-gold);
    text-decoration: none;
}
html.kz27 body .kz27-home .home-teaser p a:after,
html.kz27 body :is(.kz27-home, #content) .iso23 h4:after,
html.kz27 body .kz27-home .hometeaser-item h4:after { content: ' →'; }
@media (max-width: 767px) {
    html.kz27 body .kz27-home .home-teaser ul { grid-template-columns: 1fr; gap: 36px; }
}

/* Kachelleiste oben (Behandlungen) */
html.kz27 body .kz27-home .hometeaser-inner { max-width: none !important; }
html.kz27 body .kz27-home .hometeaser-item a {
    background: #fff !important;
    border: 1px solid var(--kz27-line);
    border-radius: var(--kz27-r) !important;
    box-shadow: none !important;
    overflow: hidden;
    text-align: left;
}
html.kz27 body .kz27-home .hometeaser-item h2 { font-size: 22px !important; color: var(--kz27-ink) !important; margin: 0 0 4px !important; }
html.kz27 body .kz27-home .hometeaser-item p { font-size: 15px !important; color: var(--kz27-text) !important; }
html.kz27 body .kz27-home .hometeaser-item-text { padding: 18px 20px 20px !important; text-align: left; }

/* Aerzte-Karussell */
html.kz27 body .kz27-home .homeslider2-inner { max-width: none !important; }
html.kz27 body .kz27-home .homeslider2-item img { border-radius: var(--kz27-r); }
html.kz27 body .kz27-home .homeslider2-item h1 { font-size: 26px !important; color: #fff !important; }
html.kz27 body .kz27-home .homeslider2-item h5 { letter-spacing: .08em !important; font-size: 12px !important; }
html.kz27 body .kz27-home .homeslider2-item h4 a {
    background: #fff !important; color: var(--kz27-ink) !important; border-radius: 999px !important;
    text-transform: none !important; letter-spacing: 0 !important; font-size: 14px !important; padding: 9px 18px !important;
}

/* Bild + Text (Standort, Dermato-Kosmetik) */
html.kz27 body .kz27-home .home-liposcore {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(32px, 6vw, 96px);
    align-items: center;
    text-align: left;
}
html.kz27 body .kz27-home .home-liposcore > br { display: none; }
html.kz27 body .kz27-home .home-liposcore-left,
html.kz27 body .kz27-home .home-liposcore-right { width: auto !important; float: none !important; padding: 0 !important; }
html.kz27 body .kz27-home .home-liposcore img { width: 100% !important; border-radius: var(--kz27-r); }
html.kz27 body .kz27-home .home-liposcore h2 { margin-left: 0 !important; text-align: left; }
html.kz27 body .kz27-home .home-liposcore h3 { font-size: 22px !important; margin: 0 0 12px !important; }
html.kz27 body .kz27-home .home-liposcore p { font-size: 17px !important; line-height: 1.68 !important; color: var(--kz27-text) !important; }
html.kz27 body .kz27-home .home-liposcore a { color: var(--kz27-ink) !important; }
@media (max-width: 767px) {
    html.kz27 body .kz27-home .home-liposcore { grid-template-columns: 1fr; }
}

/* Fettabsaugung-Regionen (Kacheln) */
html.kz27 body :is(.kz27-home, #content) .iso23-inner { max-width: none !important; }
html.kz27 body :is(.kz27-home, #content) .iso23-item-inner {
    background: #fff !important;
    box-shadow: none !important;
    border: 1px solid var(--kz27-line);
    border-radius: var(--kz27-r) !important;
    overflow: hidden;
    text-align: left;
}
html.kz27 body :is(.kz27-home, #content) .iso23-item-inner:hover { box-shadow: none !important; border-color: var(--kz27-line-strong); }
html.kz27 body :is(.kz27-home, #content) .iso23 h2 { font-size: 24px !important; color: var(--kz27-ink) !important; }
html.kz27 body :is(.kz27-home, #content) .iso23 h5 { font-family: var(--kz27-sans) !important; color: var(--kz27-mute) !important; letter-spacing: .06em !important; text-transform: none !important; font-size: 13px !important; }

/* Patientinnen: ruhige Karten statt schraeger Polaroids */
html.kz27 body .kz27-home .homepatients-inner { max-width: 1000px !important; }
html.kz27 body .kz27-home .homepatients-item {
    box-shadow: none !important;
    transform: none !important;
    background: #fff !important;
    border: 1px solid var(--kz27-line);
    border-radius: var(--kz27-r);
}
html.kz27 body .kz27-home .homepatients-item-text h2 span { font-family: var(--kz27-display) !important; color: var(--kz27-ink) !important; }

/* Mitgliedschaften: Logozeile */
html.kz27 body .kz27-home #home-mitglieder { background: var(--kz27-dark) !important; border-radius: var(--kz27-r); padding: 28px 20px !important; }

/* Podcast: dunkler Abschnitt */
html.kz27 body .kz27-sec--dark .kz27-home { text-align: left; }
html.kz27 body .kz27-home .kzh { background: none !important; padding: 0 !important; max-width: none !important; }
html.kz27 body .kz27-home .kzh h2 { color: #fff !important; font-size: clamp(25px, 3.3vw, 46px) !important; }
html.kz27 body .kz27-home .kzh h2 b { font-weight: 400; }
html.kz27 body .kz27-home .kzh h3 { color: #fff !important; }
html.kz27 body .kz27-home .kzh p { color: rgba(255,255,255,.75) !important; }

/* Kuzbari Finance: ruhiger Kasten statt Rot */
html.kz27 body .kz27-home > div[style*="D3545F"] {
    background: #fff !important;
    border: 1px solid var(--kz27-line) !important;
    border-radius: var(--kz27-r);
    padding: clamp(28px, 4vw, 56px) !important;
    max-width: 880px !important;
    text-align: left;
}
html.kz27 body .kz27-home > div[style*="D3545F"] h4 { color: var(--kz27-gold-text) !important; font-size: 12px !important; letter-spacing: .16em !important; font-weight: 400 !important; margin: 0 0 14px !important; }
html.kz27 body .kz27-home > div[style*="D3545F"] h2 { color: var(--kz27-ink) !important; font-size: clamp(28px, 3vw, 42px) !important; margin: 0 0 14px !important; }
html.kz27 body .kz27-home > div[style*="D3545F"] h2 { font-weight: 200 !important; text-transform: uppercase !important; letter-spacing: .02em !important; line-height: 1.12 !important; }
html.kz27 body .kz27-home > div[style*="D3545F"] h2 b { font-weight: 400 !important; }
html.kz27 body .kz27-home > div[style*="D3545F"] p { color: var(--kz27-text) !important; font-size: 17px !important; }
html.kz27 body .kz27-home > div[style*="D3545F"] h3 a {
    background: var(--kz27-ink) !important; color: #fff !important; border-radius: 999px !important;
    padding: 13px 26px !important; font-family: var(--kz27-sans) !important; font-size: 15px !important;
    text-transform: none !important; letter-spacing: 0 !important; text-decoration: none !important;
}

/* Restliche Altknoepfe der Startseite als ruhige Textlinks bzw. Konturknopf */
html.kz27 body .kz27-home .home-liposcore a,
html.kz27 body .kz27-home .home-oscar a:not(:has(img)) {
    background: none !important;
    color: var(--kz27-ink) !important;
    font-family: var(--kz27-sans) !important;
    font-size: 15px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border-bottom: 1px solid var(--kz27-gold) !important;
    text-decoration: none !important;
}
html.kz27 body .kz27-home .kzh-all,
html.kz27 body .kz27-home .kzh-btn {
    background: transparent !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.45) !important;
    border-radius: 999px !important;
    font-family: var(--kz27-sans) !important;
    font-size: 14px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    padding: 10px 20px !important;
}
html.kz27 body .kz27-home .kzh-btn { background: #fff !important; color: var(--kz27-ink) !important; border-color: #fff !important; }
html.kz27 body .kz27-home .kzh-kicker { color: var(--kz27-gold) !important; letter-spacing: .16em !important; font-family: var(--kz27-sans) !important; }

/* Karussells: Bildgroesse vorab festlegen — die Bilder laden verzoegert, sonst misst
   Flickity am Smartphone eine Hoehe von 0 (Aerzte-Karussell war mobil unsichtbar). */
html.kz27 body .kz27-home .homeslider2-item img { width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; }
html.kz27 body .kz27-home .hometeaser-item-img img { aspect-ratio: 4 / 3; object-fit: cover; height: auto !important; }
@media (max-width: 767px) {
    html.kz27 body .kz27-home .homeslider2-item { width: 78% !important; }
    html.kz27 body .kz27-home .hometeaser-item { width: 72% !important; }
    html.kz27 body .kz27-home .hometeaser-item-text { padding: 14px 16px 16px !important; }
    html.kz27 body .kz27-home .home-oscar h2,
    html.kz27 body .kz27-home .home-oscar h1 { position: relative; z-index: 1; }
}

/* ===========================================================================
   Vorher-Nachher-Galerien (Brust, Koerper): gleich grosse Kacheln, echtes Hellgrau,
   keine Schatten, neue Schrift. Fotos stehen ungeschnitten (contain) auf einer
   einheitlichen Flaeche — die Koerperfotos haben Hoch-, Quer- und Quadratformate.
   Kachel 5:4 (Koerper) bzw. 2:1 (Brust, durchweg quadratische Fotos).
   =========================================================================== */
html.kz27 {
    --kz27-vn-bg: #f2f2f1;
    --kz27-vn-line: #d9d9d6;
    --kz27-vn-photo: #e7e7e5;
}
html.kz27 .vn-2020-detail-title h1,
html.kz27 .vn-2020-detail-title h3,
html.kz27 .vn-2020-detail-text h2,
html.kz27 .kzvn-book h2 {
    font-family: var(--kz27-display) !important;
    font-weight: var(--kz27-display-weight) !important;
    text-transform: none !important;
    letter-spacing: var(--kz27-display-track) !important;
    color: var(--kz27-ink) !important;
    border: 0 !important;
}
html.kz27 .vn-2020-detail-title { max-width: var(--kz27-max); margin: 0 auto; padding: 40px var(--kz27-pad) 0 !important; box-sizing: border-box; text-align: left !important; }
html.kz27 .vn-2020-detail-title h1 { font-size: clamp(32px, 4.2vw, 60px) !important; line-height: 1.06 !important; margin: 0 0 12px !important; max-width: 20ch; text-align: left !important; }
html.kz27 .vn-2020-detail-title h3 { font-size: 18px !important; color: var(--kz27-mute) !important; margin: 0 0 10px !important; }
html.kz27 .vn-2020-detail-title h5 { font-family: var(--kz27-sans) !important; font-size: 12px !important; letter-spacing: .16em !important; text-transform: uppercase; color: var(--kz27-gold-text) !important; text-align: left !important; margin: 0 0 16px !important; }
html.kz27 .vn-2020-detail-title h5 b { font-weight: 400; }
html.kz27 .kzvn-intro { max-width: var(--kz27-max) !important; padding: 0 var(--kz27-pad) !important; margin: 0 auto 28px !important; text-align: left !important; box-sizing: border-box; }
html.kz27 .kzvn-intro p { font-family: var(--kz27-sans); font-size: 17px; line-height: 1.68; color: var(--kz27-text); max-width: 720px; }
html.kz27 a.vn-2020-detail-button,
html.kz27 .vn-2020-detail .vn-2020-detail-button {
    display: inline-block;
    background: var(--kz27-ink) !important;
    color: #fff !important;
    border: 1px solid var(--kz27-ink) !important;
    border-radius: 999px !important;
    font-family: var(--kz27-sans) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    padding: 12px 24px !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
}
html.kz27 .vn-2020-detail .vn-2020-detail-cta-col .vn-2020-detail-button:not([href="#termin"]) { background: transparent !important; color: var(--kz27-ink) !important; border-color: var(--kz27-vn-line) !important; }

/* Filter */
html.kz27 .kzvn-filter .kzvn-pills,
html.kz27 .kzvn-filter .kzvn-row { justify-content: flex-start; max-width: var(--kz27-max); margin-left: auto; margin-right: auto; padding: 0 var(--kz27-pad); box-sizing: border-box; }
html.kz27 .kzvn-pill { border-color: var(--kz27-vn-line); color: var(--kz27-ink); font-family: var(--kz27-sans); font-size: 14px; padding: 9px 18px; }
html.kz27 .kzvn-pill:hover { border-color: var(--kz27-ink); }
html.kz27 .kzvn-pill.is-active { background: var(--kz27-ink); border-color: var(--kz27-ink); color: #fff; }
html.kz27 .kzvn-row select { border-color: var(--kz27-vn-line); border-radius: 999px; padding: 9px 16px; font-family: var(--kz27-sans); color: var(--kz27-ink); }

/* Uebersicht: Raster aus gleich grossen Karten */
html.kz27 .vn-2020-overview { padding: 12px 0 64px; font-size: 16px; }
html.kz27 .vn-2020-overview-inner {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
    gap: 28px 24px;
    max-width: var(--kz27-max);
    padding: 0 var(--kz27-pad);
    box-sizing: border-box;
}
html.kz27 .vn-2020-overview-item { width: auto !important; padding: 0 !important; margin: 0 !important; display: block; }
html.kz27 .vn-2020-overview-item.kzvn-hidden { display: none !important; }
html.kz27 .vn-2020-overview-item a {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--kz27-vn-bg);
    border: 1px solid var(--kz27-vn-line);
    border-radius: var(--kz27-r);
    overflow: hidden;
    box-shadow: none !important;
    transform: none !important;
    transition: border-color .2s ease;
}
html.kz27 .vn-2020-overview-item a:hover { opacity: 1; border-color: #a9a9a5; }
html.kz27 .vn-2020-overview-item-img {
    order: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    aspect-ratio: 5 / 4;
    background: #fff;
}
html.kz27 .vn-2020-overview-item[data-cat^="brust"] .vn-2020-overview-item-img { aspect-ratio: 2 / 1; }
html.kz27 .vn-2020-overview-item-img:before,
html.kz27 .vn-2020-overview-item-img:after { content: none; }
html.kz27 .vn-2020-overview-item-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    background: var(--kz27-vn-photo);
    display: block;
}
/* „vorher / nachher" als kleine Marken auf dem Bild */
html.kz27 .vn-2020-overview-item-middletext {
    order: 1;
    position: relative;
    height: 0;
    background: none;
    display: block;
}
html.kz27 .vn-2020-overview-item-middletext span {
    position: absolute;
    bottom: 10px;
    width: auto;
    padding: 4px 9px;
    font-family: var(--kz27-sans);
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--kz27-ink);
    background: rgba(255,255,255,.88);
    border-radius: 999px;
    line-height: 1.2;
}
html.kz27 .vn-2020-overview-item-middletext span:first-child { left: 10px; }
html.kz27 .vn-2020-overview-item-middletext span:last-child { left: calc(50% + 10px); }
html.kz27 .vn-2020-overview-item-pretext { order: 2; background: none; padding: 18px 20px 4px; text-align: left; }
html.kz27 .vn-2020-overview-item-pretext h2 {
    font-family: var(--kz27-display) !important;
    font-weight: var(--kz27-display-weight) !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
    letter-spacing: var(--kz27-display-track);
    text-transform: none !important;
    color: var(--kz27-ink);
    text-align: left;
    padding: 0;
    margin: 0 0 6px;
}
html.kz27 .vn-2020-overview-item-pretext h5 { font-family: var(--kz27-sans); font-size: 13px; letter-spacing: .02em; color: var(--kz27-mute); text-align: left; font-weight: 400; }
html.kz27 .vn-2020-overview-item-text { order: 3; margin-top: auto; }
html.kz27 .vn-2020-overview-item-text h3 {
    background: none;
    text-align: left;
    padding: 10px 20px 18px;
    font-family: var(--kz27-sans);
    font-size: 14px !important;
    line-height: 1.4;
    color: var(--kz27-ink);
}
html.kz27 .vn-2020-overview-item a:hover .vn-2020-overview-item-text h3 { color: var(--kz27-gold-text); }

/* Detailseite */
html.kz27 .kzvn-meta { max-width: var(--kz27-max); margin: 0 auto 20px !important; padding: 0 var(--kz27-pad); box-sizing: border-box; text-align: left !important; color: var(--kz27-mute) !important; font-size: 15px !important; }
html.kz27 .vn-2020-detailnew-fotos { max-width: var(--kz27-max); margin: 0 auto 16px; padding: 0 var(--kz27-pad); box-sizing: border-box; }
html.kz27 .vn-2020-detailnew-fotos-item { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; background: var(--kz27-vn-bg); border: 1px solid var(--kz27-vn-line); border-radius: var(--kz27-r); overflow: hidden; }
html.kz27 .vn-2020-detailnew-fotos-item:after { content: none !important; }
html.kz27 .vn-2020-detailnew-fotos-item img { width: 100% !important; height: 100% !important; object-fit: contain; margin: 0 !important; background: var(--kz27-vn-photo); }
html.kz27 .vn-2020-detail-text { max-width: var(--kz27-max); margin: 40px auto; padding: 0 var(--kz27-pad); box-sizing: border-box; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 40px; }
html.kz27 .vn-2020-detail-text-col { width: auto !important; padding: 0 !important; text-align: left !important; }
html.kz27 .vn-2020-detail-text h2 { font-size: 26px !important; margin: 0 0 12px !important; text-align: left !important; }
html.kz27 .vn-2020-detail-text p,
html.kz27 .vn-2020-detail-text li { text-align: left !important; font-family: var(--kz27-sans); font-size: 17px; line-height: 1.68; color: var(--kz27-text); }
html.kz27 .kzvn-note { max-width: var(--kz27-max) !important; padding: 0 var(--kz27-pad) !important; text-align: left !important; box-sizing: border-box; color: var(--kz27-mute) !important; }
html.kz27 .kzvn-nav { max-width: var(--kz27-max); margin: 32px auto !important; padding: 0 var(--kz27-pad); box-sizing: border-box; justify-content: flex-start !important; }
html.kz27 .kzvn-book { max-width: var(--kz27-max) !important; padding: 56px var(--kz27-pad) !important; margin: 40px auto 0 !important; text-align: left !important; background: var(--kz27-grey); box-sizing: border-box; }
html.kz27 .kzvn-book h2 { font-size: clamp(28px, 3vw, 40px) !important; }
html.kz27 .kzvn-book p { margin-left: 0 !important; font-family: var(--kz27-sans); font-size: 17px; color: var(--kz27-text); }

/* Restliche Georgia-/Kursiv-Stellen */
html.kz27 #breadcrumbs, html.kz27 #breadcrumbs * { font-family: var(--kz27-sans) !important; font-style: normal !important; }
html.kz27 .kzvn-note { font-family: var(--kz27-sans) !important; font-style: normal !important; font-size: 14px !important; }
html.kz27 .kzvn-note--scar { color: var(--kz27-text) !important; }
html.kz27 .kzvn-book h2, html.kz27 .kzvn-book p, html.kz27 .kzvn-book-tel { text-align: left !important; }
html.kz27 .kzvn-book-tel { font-family: var(--kz27-sans); }

/* ===========================================================================
   Altseiten (TYPO3-Bestand ohne Einstiegsbaustein) — 30.10.2026
   design27.php setzt Kicker + Versal-Titel (kz27_alt_titel), macht aus der
   einleitenden h2 jedes Altabschnitts einen Abschnittskopf (kz27_alt_kopf)
   und markiert den Einstieg mit .kz27-sec--legacy bzw. --artikel.
   =========================================================================== */
html.kz27 #content > article .kz27-sec--legacy hgroup { margin: 0; padding: 0; }
html.kz27 #content > article .kz27-sec--legacy hgroup > h2:empty,
html.kz27 #content > article .kz27-sec--legacy hgroup > h1:empty { display: none; }
html.kz27 #content h1.kz27-h1 {
    font-size: clamp(28px, 6.4vw, 68px);
    line-height: 1.06;
    margin: 0 0 clamp(24px, 3vw, 40px);
    max-width: 18em;
}
html.kz27 #content h1.kz27-h1 b { font-weight: 400; }
html.kz27 .kz27-sec--legacy .kz27-kicker { margin-bottom: 18px; }
html.kz27 #content > article > .kz27-sec--legacy { padding-top: 0; }
html.kz27 .kz27-sec--legacy .kz27-wrap--after { padding-top: clamp(28px, 4vw, 56px); }
/* Einleitender Fettsatz der Altseiten als Lead wie auf den neuen Seiten */
html.kz27 #content > article .kz27-sec--legacy .kz27-wrap--after > .csc-default:not(.csc-default ~ .csc-default) > p:first-child:has(> b:only-child) {
    font-family: var(--kz27-accent);
    font-size: clamp(21px, 1.9vw, 26px);
    line-height: 1.5;
    color: var(--kz27-ink);
}
html.kz27 #content > article .kz27-sec--legacy .kz27-wrap--after > .csc-default:not(.csc-default ~ .csc-default) > p:first-child > b:only-child { font-weight: 500; }
html.kz27 #content > article .csc-default img { height: auto; border-radius: var(--kz27-r); }
html.kz27 #content > article .csc-default :is(h3, h4) {
    font-family: var(--kz27-display);
    font-weight: 400;
    text-transform: none;
    letter-spacing: .01em;
    color: var(--kz27-ink);
    font-size: 20px;
    line-height: 1.3;
    margin: 1.6em 0 .5em;
}
@media (min-width: 1000px) {
    /* Einstieg mit Folgeabschnitten: Titel ueber die volle Breite, Inhalt rechts wie die Abschnitte */
    html.kz27 .kz27-sec--legacy:not(.kz27-sec--artikel) .kz27-wrap--after {
        display: grid;
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        column-gap: clamp(48px, 7vw, 120px);
    }
    html.kz27 :is(#content, body) .kz27-sec--legacy:not(.kz27-sec--artikel) .kz27-wrap--after > * { grid-column: 2; max-width: 680px; }
    html.kz27 :is(#content, body) .kz27-sec--legacy:not(.kz27-sec--artikel) .kz27-wrap--after > :is(.kz27-ltitel, .news-single-item:first-child) { grid-column: 1 / -1; max-width: none; }
    html.kz27 :is(#content, body) .kz27-sec--legacy:not(.kz27-sec--artikel) .kz27-wrap--after > hgroup:not(:has(:is(h1, h2):not(:empty))) { display: none; }
    /* Altabschnitte: Kopf links (mitlaufend), Inhalt rechts */
    html.kz27 :is(#content, body) .kz27-split--alt > :not(.kz-block:first-child) { grid-column: 2; max-width: 680px; }
}
/* Ohne Folgeabschnitte (Blogartikel, Formulare, Rechtliches): schmale Lesespalte */
html.kz27 .kz27-sec--artikel .kz27-wrap { max-width: 900px; }
html.kz27 body:has(.kz27-sec--artikel) #breadcrumbs { max-width: 900px; }
html.kz27 .kz27-sec--artikel .news-single-img img,
html.kz27 .kz27-sec--artikel .csc-default img { width: auto; max-width: 100%; height: auto; }
html.kz27 .kz27-sec--artikel .news-single-imgcaption { width: auto !important; }
/* Blog: Kopf (Datum, Titel, Untertitel) */
html.kz27 #content .news-single-rightbox { float: none; font-family: var(--kz27-display); font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: var(--kz27-gold-text); margin: 0 0 18px; }
html.kz27 #content .news-single-item h2 {
    font-family: var(--kz27-accent);
    font-style: italic;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    font-size: clamp(21px, 2vw, 26px);
    line-height: 1.4;
    color: var(--kz27-ink);
    margin: 0 0 32px;
}
html.kz27 #content .news-single-item p span { font-size: inherit !important; font-family: inherit !important; }
html.kz27 #content .news-single-img { margin: 0 0 32px; }
html.kz27 #content .news-single-img img { box-shadow: none; }

/* ------------------------------------------- Befunde der Vollpruefung (30.10.2026) */
/* Wistia-Videos aus dem Altbestand: feste Breite sprengte am Smartphone die Spalte */
html.kz27 #content .jwplayer { max-width: 100%; }
html.kz27 #content .jwplayer iframe,
html.kz27 #content .wistia_embed { max-width: 100%; }
/* Blogtexte mit langen, nicht umbrechenden Zeichenketten (Links, Aufzaehlungen in <span>) */
html.kz27 #content .news-single-item :is(p, span, a) { overflow-wrap: anywhere; white-space: normal !important; }
/* Formhandler-Tabellen (Finanzierung, Infusion): am Smartphone einspaltig */
@media (max-width: 640px) {
    html.kz27 #content #Tx-Formhandler table,
    html.kz27 #content #Tx-Formhandler tbody,
    html.kz27 #content #Tx-Formhandler tr,
    html.kz27 #content #Tx-Formhandler td { display: block; width: auto !important; max-width: 100%; box-sizing: border-box; }
    html.kz27 #content #Tx-Formhandler :is(input, select, textarea) { max-width: 100%; box-sizing: border-box; }
}
/* Reste der Julius-Optik: Ueberschrift „Weitere Faelle", Formular-Reiter, Aerztenamen, Altersabfrage */
html.kz27 .kzvn-related h2,
html.kz27 .formonline-tabnav > div,
html.kz27 .aerzte-item .name,
html.kz27 .adult h3 span i {
    font-family: var(--kz27-display) !important;
    letter-spacing: .04em;
}
html.kz27 .kzvn-related h2 { font-weight: 200; text-transform: uppercase; color: var(--kz27-ink); }
/* Zu kleine Schrift */
html.kz27 :is(#content, body) .kz-vnpair-meta { font-size: 13px; }
html.kz27 #content table.contenttable td { font-size: 15px; }
html.kz27 :is(#content, body) .kz-note-title,
html.kz27 :is(#content, body) .kz-price-label,
html.kz27 :is(#content, body) .kz-fact-label { font-size: 12.5px; }

/* ------------------------------------------------ Altseiten, Runde 2 (Pruefbericht) */
html.kz27 #content .kz27-ltitel { margin: 0; }
html.kz27 #content .kz27-ltitel .kz27-h1 { margin-bottom: 0; }
html.kz27 #content .kz27-ltitel .kz27-unterzeile {
    font-family: var(--kz27-accent);
    font-style: italic;
    font-weight: 500;
    font-size: clamp(21px, 2.2vw, 30px);
    line-height: 1.35;
    color: var(--kz27-ink);
    margin: 14px 0 0;
}
html.kz27 #content .kz27-ltitel { padding-bottom: clamp(24px, 3vw, 40px); }
/* Altmodule „home-oscar" (zentrierter Titelblock) und „home-liposcore" (Bild + Text) im Inhalt */
html.kz27 #content > article .home-oscar { text-align: left; padding: 0; margin: 0 0 32px; max-width: none; width: auto; }
html.kz27 #content > article .home-oscar :is(p, h2, h3) { text-align: left; }
html.kz27 #content > article .home-liposcore { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 24px 32px; align-items: start; margin: 0 0 48px; padding: 0; width: auto; max-width: none; }
html.kz27 #content > article .home-liposcore > br { display: none; }
html.kz27 #content > article :is(.home-liposcore-left, .home-liposcore-right) { float: none; width: auto; max-width: none; padding: 0; margin: 0; text-align: left; }
html.kz27 #content > article .home-liposcore-left img { width: 100%; height: auto; display: block; }
html.kz27 #content > article .home-liposcore-right h2 {
    font-family: var(--kz27-display);
    font-weight: 400;
    text-transform: none;
    letter-spacing: .01em;
    font-size: clamp(22px, 2vw, 28px);
    line-height: 1.2;
    margin: 0 0 12px;
    -webkit-hyphens: auto;
    hyphens: auto;
    overflow-wrap: normal;
}
@media (max-width: 640px) {
    html.kz27 #content > article .home-liposcore { grid-template-columns: 1fr; }
}
/* Innere Altueberschriften: lieber sauber getrennt als mitten im Wort umgebrochen */
html.kz27 #content > article .csc-default :is(h3, h4),
html.kz27 #content > article .csc-default h2:not(.kz-h) { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: normal; }

/* Altknoepfe: goldene Kaestchen → Tinten-Pille bzw. Kontur */
html.kz27 #content > article .home-liposcore-right a.external-link-new-window,
html.kz27 #content > article .home-liposcore-right p > a[href^="mailto"],
html.kz27 #content > article .home-liposcore-right p > a[href^="tel"],
html.kz27 #content > article p.align-center > a:only-child,
html.kz27 #content > article a.oh-btn,
html.kz27 #content > article .button > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 22px !important;
    margin: 0 8px 8px 0;
    border-radius: 999px !important;
    background: var(--kz27-ink) !important;
    border: 1px solid var(--kz27-ink) !important;
    color: #fff !important;
    font-family: var(--kz27-sans) !important;
    font-size: 15px !important;
    font-weight: 400;
    letter-spacing: .01em !important;
    text-transform: none !important;
    text-decoration: none !important;
    line-height: 1.2;
    box-shadow: none !important;
}
html.kz27 #content > article .home-liposcore-right p > a[href^="mailto"],
html.kz27 #content > article .home-liposcore-right p > a[href^="tel"] { background: transparent !important; color: var(--kz27-ink) !important; border-color: var(--kz27-line-strong) !important; }
html.kz27 #content > article :is(.home-liposcore-right a, p.align-center > a:only-child):hover { background: var(--kz27-gold-text) !important; border-color: var(--kz27-gold-text) !important; color: #fff !important; }
/* Hinweisbox in Hellblau (Altbestand) → ruhige Linienbox */
html.kz27 #content > article [style*="background:#F5FAFF"],
html.kz27 #content > article [style*="background: #F5FAFF"],
html.kz27 #content > article [style*="background-color:#f5faff"] { background: var(--kz27-grey) !important; border: 0 !important; border-radius: var(--kz27-r) !important; }

/* Termin-/Frageformular am Seitenende (formonline): eigener ruhiger Abschnitt */
html.kz27 #content > article > .csc-default:has(.formonline-wrap),
html.kz27 #content > article > .formonline-wrap {
    max-width: var(--kz27-max);
    margin: 0 auto;
    padding: var(--kz27-sec-y) var(--kz27-pad);
    box-sizing: border-box;
}
html.kz27 #content .formonline-wrap h2 { font-family: var(--kz27-display); font-weight: 200; text-transform: uppercase; letter-spacing: .02em; font-size: clamp(26px, 3vw, 40px); color: var(--kz27-ink); }
html.kz27 #content .formonline-tabnav { display: flex; gap: 8px; max-width: 520px; }
html.kz27 #content .formonline-tabnav > div {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border-radius: 999px !important;
    background: transparent !important;
    border: 1px solid var(--kz27-ink);
    color: var(--kz27-ink) !important;
    font-family: var(--kz27-sans) !important;
    font-size: 14px;
    letter-spacing: .02em;
    cursor: pointer;
}
html.kz27 #content .formonline-tabnav > div.active { background: var(--kz27-ink) !important; color: #fff !important; }
html.kz27 #content .formonline iframe { max-width: 100%; }

/* „Weitere Informationen" am mobilen Seitenende */
html.kz27 #mobilemore { padding: 0 var(--kz27-pad); box-sizing: border-box; }
html.kz27 #mobilemore li a { display: block; padding: 12px 0; min-height: 44px; box-sizing: border-box; }
html.kz27 #mobilemore:not(:has(li)) { display: none; }
html.kz27 #mobilefooter a { font-family: var(--kz27-sans) !important; font-size: 16px !important; border-radius: 999px !important; }

/* Eckdaten-Tabellen des Altbestands */
html.kz27 #content table.contenttable { width: 100%; border-collapse: collapse; }
html.kz27 #content table.contenttable :is(th, td) { font-size: 15px; text-align: left; vertical-align: top; padding: 10px 12px 10px 0; border: 0; border-bottom: 1px solid var(--kz27-line); background: none; }
html.kz27 #content table.contenttable th { font-weight: 500; color: var(--kz27-mute); }

/* Kontaktformular der Finanzierungsseite (Infusionsoft) */
html.kz27 #content :is(#inf_field_FirstName, #inf_field_LastName, #inf_field_Email, #inf_field_Phone1, input[id^="inf_custom"], textarea[id^="inf_custom"]) {
    width: 100% !important;
    min-height: 48px;
    font-size: 16px !important;
    padding: 12px 14px;
    border: 1px solid var(--kz27-line-strong);
    border-radius: var(--kz27-r);
    background: #fff;
    box-sizing: border-box;
}
html.kz27 #content textarea[id^="inf_custom"] { min-height: 140px; }
html.kz27 #content form :is(label) { font-size: 14px !important; }
html.kz27 #content input[type="submit"] {
    min-height: 48px;
    padding: 0 32px;
    border-radius: 999px;
    background: var(--kz27-ink);
    background-image: none;
    color: #fff;
    border: 0;
    font-family: var(--kz27-sans);
    font-size: 15px;
    cursor: pointer;
}
html.kz27 #finance h2 { font-family: var(--kz27-sans) !important; font-size: 14px !important; font-weight: 500 !important; letter-spacing: .08em; color: var(--kz27-mute) !important; }
/* Einleitung aus mehreren Fettstuecken ebenfalls als Lead */
html.kz27 #content > article .kz27-sec--legacy .kz27-wrap--after > .csc-default:not(.csc-default ~ .csc-default) > p:first-child:has(> b):not(:has(> :not(b, br))) {
    font-family: var(--kz27-accent);
    font-size: clamp(21px, 1.9vw, 26px);
    line-height: 1.5;
    color: var(--kz27-ink);
}
html.kz27 #content > article .kz27-sec--legacy .kz27-wrap--after > .csc-default:not(.csc-default ~ .csc-default) > p:first-child:has(> b):not(:has(> :not(b, br))) > b { font-weight: 500; }

/* ------------------------------------------------ Altseiten, Runde 3 (Pruefberichte A/B) */
/* Schwanz der Altseite (Termin-/Frageformular, Mobil-Fuss) im eigenen Abschnitt */
html.kz27 #content > article > .kz27-sec--schwanz .kz27-wrap > * { max-width: 900px; margin: 0 0 32px; padding: 0; }
html.kz27 #content .kz27-sec--schwanz .csc-default:has(.formonline-wrap) { padding: 0; }
html.kz27 #content .kz27-sec--schwanz .formonline-wrap { max-width: none; margin: 0 !important; padding: 0; width: auto; }
html.kz27 #content .formonline-tabnav { font-size: 0; }
html.kz27 #content .formonline-tabnav > div { width: auto !important; padding: 12px 10px; }
html.kz27 #content :is(.formonline-form-1, .formonline-form-2) { margin-top: 16px; }
/* Facelift-Experten-Kasten (preterminNase) */
html.kz27 #content .preterminNase,
html.kz27 #content [class*="preterminNase"] { border-color: var(--kz27-line) !important; border-radius: var(--kz27-r) !important; background: #fff; }
html.kz27 #content .preterminNase-col h4 a { background: var(--kz27-ink) !important; color: #fff !important; border-radius: 999px !important; font: 400 14px/1.2 var(--kz27-sans) !important; padding: 13px 24px !important; letter-spacing: .02em; text-transform: none; }
html.kz27 #content .preterminNase-col p a { font-size: 14px !important; display: inline-block; padding: 8px 0; }
/* Regionen-Kacheln (Isotope) im Raster: volle Spaltenbreite statt auf 0 geschrumpft */
html.kz27 :is(#content, body) .kz27-wrap > .iso23,
html.kz27 :is(#content, body) .kz27-split > .iso23 { margin: 0 0 32px !important; width: 100%; max-width: none; box-sizing: border-box; background: none !important; padding: 0 !important; grid-column: 1 / -1; }
html.kz27 #content .iso23 h2 { font-size: 19px !important; letter-spacing: .02em; -webkit-hyphens: auto; hyphens: auto; overflow-wrap: normal; }
html.kz27 #content .iso23 h5 { font-size: 13px !important; }
html.kz27 #content .iso23 li { font-size: 14px; }
/* Kopierte Inline-Schriften (Times/Georgia) und Mintgrund-Kaesten */
html.kz27 #content [style*="font-family: Times"],
html.kz27 #content [style*="font-family:Times"] { font-family: inherit !important; font-size: inherit !important; color: inherit !important; }
html.kz27 #content .kz-h > br.Apple-interchange-newline { display: none; }
html.kz27 #content [style*="georgia"],
html.kz27 #content [style*="Georgia"] { font-family: var(--kz27-accent) !important; font-size: 19px; }
html.kz27 #content div[style*="f1f5ef"] { background: var(--kz27-grey) !important; border-radius: var(--kz27-r); padding: 24px !important; }
/* Eckdaten-Tabellen: Beschriftungen sind th[scope=row] */
html.kz27 #content table.contenttable th { font-size: 15px !important; font-weight: 500; text-align: left !important; vertical-align: top !important; color: var(--kz27-ink); padding-right: 16px; }
html.kz27 #content table.contenttable td { vertical-align: top !important; }
@media (max-width: 640px) {
    html.kz27 #content table.contenttable :is(tbody, tr, th, td) { display: block; width: auto !important; }
    html.kz27 #content table.contenttable th { padding: 14px 0 2px; border-bottom: 0; }
    html.kz27 #content table.contenttable td { padding-top: 0; }
}
/* Gold-Pillen in Ueberschrift-Absaetzen (h4 > a) → Tinten-Pille, folgende als Kontur */
html.kz27 #content > article h4:has(> a):not(:has(> :not(a, br))) { margin-left: 0; padding-left: 0; display: flex; flex-wrap: wrap; gap: 10px; font-size: 0; }
html.kz27 #content > article h4:not(:has(> :not(a, br))) > a {
    display: inline-flex; align-items: center; min-height: 46px;
    background: var(--kz27-ink) !important; color: #fff !important; border: 1px solid var(--kz27-ink);
    border-radius: 999px !important; font: 400 15px/1.2 var(--kz27-sans) !important; letter-spacing: .01em !important;
    text-transform: none !important; padding: 0 26px !important; text-decoration: none !important; box-shadow: none !important;
}
html.kz27 #content > article h4 + h4:not(:has(> :not(a, br))) > a,
html.kz27 #content > article h4:not(:has(> :not(a, br))) > a + a { background: transparent !important; color: var(--kz27-ink) !important; border-color: var(--kz27-line-strong); }
/* „Lesen Sie den Erfahrungsbericht" (hellblau) und Zitate */
html.kz27 #content .vorhernachher-inner p a { background: transparent !important; color: var(--kz27-ink) !important; border: 1px solid var(--kz27-line-strong); border-radius: 999px; padding: 10px 20px; text-decoration: none; }
html.kz27 #content blockquote, html.kz27 #content .vorhernachher-inner em { -webkit-hyphens: manual; hyphens: manual; text-align: left; }
/* Aerzte-Kasten „Die Kuzbari Expert:innen fuer diese Leistung" */
html.kz27 #content .aerzte-item .spec { font-size: 12px !important; letter-spacing: .04em; }
html.kz27 #content .aerzte-item .name { font-size: 14px !important; }
html.kz27 #content .aerzte-item a:not(:has(img)) { min-height: 40px; display: inline-flex; align-items: center; border-radius: 999px !important; background: var(--kz27-ink) !important; color: #fff !important; padding: 0 16px !important; font-family: var(--kz27-sans) !important; }
/* V/N-Fotos in Altabschnitten ueber die volle Breite */
@media (min-width: 1000px) {
    html.kz27 :is(#content, body) .kz27-split--alt > .csc-default:has(.csc-textpic-imagecolumn ~ .csc-textpic-imagecolumn, .vorhernachher) { grid-column: 1 / -1; max-width: none; }
}
@media (min-width: 1024px) {
    html.kz27 #content .kz27-sec--schwanz:not(:has(.csc-default, .formonline-wrap)) { display: none; }
}
html.kz27 #content > article .kz27-sec--legacy .home-oscar > p.bodytext:first-of-type:has(> b):not(:has(> :not(b, br))) {
    font-family: var(--kz27-accent); font-size: clamp(21px, 1.9vw, 26px); line-height: 1.5; color: var(--kz27-ink); padding: 0;
}
html.kz27 #content > article .kz27-sec--legacy .home-oscar > p.bodytext:first-of-type > b { font-weight: 500; }

/* Weitere h1 im Altinhalt (Profilseiten): Groesse eines Abschnittskopfs, nicht des Seitentitels */
html.kz27 #content > article .kz27-sec h1:not(.kz27-h1):not(.kz-intro-title) { font-size: clamp(25px, 3.2vw, 40px); line-height: 1.12; margin: 0 0 20px; text-align: left; }
/* Profil-Bausteine „two" (Bild | Text) als ruhiges Zweierraster */
html.kz27 #content > article .two { margin: 0 0 clamp(32px, 4vw, 56px); padding: 0; }
html.kz27 #content > article .two-inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 24px clamp(32px, 5vw, 64px); align-items: center; max-width: none; width: auto; padding: 0 !important; }
html.kz27 #content > article .two-col { display: block; width: auto !important; float: none; padding: 0; vertical-align: top; }
html.kz27 #content > article :is(.two-text, .two-text p, .two-text li, .two-text h2) { text-align: left !important; }
html.kz27 #content > article .two-img img { width: 100%; height: auto; border-radius: var(--kz27-r) !important; display: block; }
html.kz27 #content > article .two-text h2 { font-family: var(--kz27-display); font-weight: 200; text-transform: uppercase; letter-spacing: .02em; font-size: clamp(24px, 2.4vw, 32px); margin: 0 0 16px; }
html.kz27 #content > article .home-oscar[style] { padding: 0 !important; }
html.kz27 #content > article .home-oscar h4[style] { text-align: left !important; }
/* Zitat-/Textbloecke in Gold zentriert (Profilseiten) */
html.kz27 #content > article .home-oscar p[style*="color"] { color: var(--kz27-text) !important; }
/* Goldene Titelbalken der Profilseiten → Abschnittskopf mit feiner Linie */
html.kz27 #content > article .home-oscar[style*="#b69154"] { background: none !important; padding: clamp(40px, 5vw, 64px) 0 0 !important; margin: clamp(40px, 5vw, 64px) 0 24px !important; border-top: 1px solid var(--kz27-line); max-width: none !important; }
html.kz27 #content > article .home-oscar[style*="#b69154"] h1 { color: var(--kz27-ink) !important; margin: 0 !important; }
html.kz27 #content > article .home-oscar[style*="#b69154"] h1:before { content: ''; display: block; width: 44px; height: 1px; background: var(--kz27-gold); margin: 0 0 20px; }
/* Zitat in h4 (Profilseiten) als Akzentzeile */
html.kz27 #content > article .home-oscar > h4:not(:has(a)) { font-family: var(--kz27-accent) !important; font-style: italic; font-weight: 500 !important; font-size: clamp(20px, 1.8vw, 24px) !important; line-height: 1.5 !important; color: var(--kz27-ink) !important; text-align: left !important; text-transform: none !important; letter-spacing: 0 !important; -webkit-hyphens: manual; hyphens: manual; }

/* ------------------------------------------------ Runde 4 (Pruefbericht D) */
/* Grundschrift: Georgia des Altbestands nirgends mehr durchsickern lassen */
html.kz27 body { font-family: var(--kz27-sans); }
/* Smartphone: Bausteine haben schon den Rand des Abschnitts (kein doppelter Rand) */
@media (max-width: 1000px) {
    html.kz27 :is(#content, body) .kz27-wrap > .kz-block,
    html.kz27 :is(#content, body) .kz27-wrap > .kz-block.kz-wide { padding-left: 0; padding-right: 0; }
}
html.kz27 #content .kz27-sec--artikel .news-single-item { padding-left: 0; padding-right: 0; }
/* Fliesstext-Links des Altbestands (mit Klasse) wie die uebrigen Textlinks */
html.kz27 #content > article :is(a.external-link-new-window, a.internal-link, a.external-link, a.download, a.internal-link-new-window):not(.home-liposcore-right a):not(h4 > a) {
    color: var(--kz27-ink); text-decoration: underline; text-decoration-color: var(--kz27-gold); text-underline-offset: 3px;
}
html.kz27 .kzvn-book-tel a { color: var(--kz27-ink) !important; }
/* Blog: „[mehr]" und „Zurueck" */
html.kz27 #content .news-list-morelink a { font-size: 0 !important; text-decoration: none !important; }
html.kz27 #content .news-list-morelink a::after { content: 'Weiterlesen →'; font-family: var(--kz27-sans); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--kz27-gold-text); margin-left: 6px; }
html:lang(en).kz27 #content .news-list-morelink a::after { content: 'Read more →'; }
html.kz27 #content .news-single-backlink a { font-size: 0 !important; text-decoration: none !important; }
html.kz27 #content .news-single-backlink a::before { content: '← Zur Übersicht'; font-family: var(--kz27-sans); font-size: 15px; color: var(--kz27-ink); }
html:lang(en).kz27 #content .news-single-backlink a::before { content: '← Back to overview'; }
html.kz27 #content .kz27-sec--artikel .news-single-item :is(h2, h3):not(.kz27-h1) { font-size: clamp(21px, 2vw, 26px); }
html.kz27 #content .kz27-sec--artikel .news-single-item { max-width: 680px; }
html.kz27 #content .news-list-title-oh { font-family: var(--kz27-display) !important; font-weight: 400; text-transform: none; font-size: 22px; line-height: 1.3; }
html.kz27 #content .news-list-title-oh a { color: var(--kz27-ink) !important; text-decoration: none !important; }
html.kz27 #content .news-list-date-oh { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--kz27-gold-text); }
html.kz27 #content .news-list-left img { border-radius: var(--kz27-r); box-shadow: none; }
html.kz27 .kz27-sec--artikel span { overflow-wrap: break-word; }

/* V/N: Vorschaustreifen (4 Thumbnails) wieder als Reihe */
html.kz27 #content .vn-2020-overview-item-img-th { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 2px; }
html.kz27 #content .vn-2020-overview-item-img-th img,
html.kz27 #content .kzvn-related .vn-2020-overview-item-img-th img { width: 100% !important; height: auto; aspect-ratio: 1; object-fit: cover; }
/* Fallseiten: Navigation und „weitere Faelle" */
html.kz27 .kzvn-nav { display: flex !important; flex-wrap: wrap; gap: 12px; }
html.kz27 .kzvn-nav .vn-2020-detail-cta-col { width: auto !important; padding: 0 !important; }
html.kz27 .kzvn-related .vn-2020-overview-inner { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)) !important; }
html.kz27 .vn-2020-detail-title :is(h1, h3) { text-align: left !important; }
html.kz27 .kzvn-meta { font-family: var(--kz27-sans) !important; }

/* Koerper-Galerie (masonvn) */
@media (min-width: 1000px) {
    html.kz27 :is(#content, body) .kz27-split > :is(.kz-block, .csc-default):has(.masonvn, .regionen-filter) { grid-column: 1 / -1; max-width: none; }
}
html.kz27 .regionen-filter :is(a, button) { background: transparent !important; border: 1px solid var(--kz27-line-strong) !important; color: var(--kz27-ink) !important; border-radius: 999px !important; font-family: var(--kz27-sans) !important; }
html.kz27 .regionen-filter :is(a, button):is(.active, .is-checked, :hover) { background: var(--kz27-ink) !important; color: #fff !important; border-color: var(--kz27-ink) !important; }
html.kz27 .masonvn-tags p i { font-family: var(--kz27-sans) !important; font-style: normal; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; background: rgba(255,255,255,.92) !important; color: var(--kz27-ink) !important; border-radius: 999px !important; }
html.kz27 .masonvn-caption { display: grid; grid-template-columns: 1fr 1fr; position: static !important; }
html.kz27 .masonvn-caption h3 { font-family: var(--kz27-sans) !important; font-size: 11px !important; letter-spacing: .1em; text-transform: uppercase; color: var(--kz27-mute) !important; text-align: center; margin: 6px 0 0 !important; }
html.kz27 .masonvn-item a { border: 1px solid var(--kz27-line) !important; border-radius: var(--kz27-r); overflow: hidden; }

/* Erfahrungsberichte (vn2020-Vorlage) */
html.kz27 .vn2020-header { max-width: var(--kz27-max); margin: 0 auto; padding: clamp(28px, 4vw, 56px) var(--kz27-pad) 0; box-sizing: border-box; text-align: left; }
html.kz27 .vn2020-header h1 { color: var(--kz27-ink) !important; text-align: left !important; font-family: var(--kz27-display) !important; font-weight: 200 !important; text-transform: uppercase; font-size: clamp(28px, 6.4vw, 68px) !important; line-height: 1.06; -webkit-hyphens: manual; hyphens: manual; }
html.kz27 .vn2020-header p { text-align: left !important; font-family: var(--kz27-accent); font-size: clamp(20px, 1.9vw, 24px) !important; color: var(--kz27-ink); max-width: 760px; }
html.kz27 .vn2020-item { background: none !important; box-shadow: none !important; }
html.kz27 .vn2020-item-img, html.kz27 .vn2020-item-img img { box-shadow: none !important; border-radius: var(--kz27-r); }
html.kz27 .vn2020-item-img:before, html.kz27 .vn2020-item-img:after { content: none !important; }
html.kz27 .vn2020-item-text h2 { font-family: var(--kz27-accent) !important; font-weight: 500 !important; font-style: italic; color: var(--kz27-ink) !important; }
html.kz27 .vn2020-item-text h4 a { color: var(--kz27-gold-text) !important; text-decoration: none !important; letter-spacing: .14em; font-family: var(--kz27-sans) !important; font-size: 12px !important; text-transform: uppercase; }
html.kz27 .vn2020-item-text :is(p, li) { font-family: var(--kz27-sans) !important; }
/* DocFinder-Auszeichnungen (mobil): kleine ruhige Reihe statt grosser Wand */
html.kz27 .mobile-docfinder { display: flex !important; flex-wrap: wrap; gap: 8px 12px; justify-content: flex-start; padding: 0; margin: 24px 0; }
html.kz27 .mobile-docfinder img { width: 64px !important; height: auto !important; margin: 0 !important; }

/* ------------------------------------------------ Runde 5 (Pruefbericht C) */
/* Kicker immer 12 px (Fliesstext-Regeln fuer <p> sind spezifischer) */
html.kz27 p.kz27-kicker { font-size: 12px !important; line-height: 16px !important; letter-spacing: .28em !important; font-family: var(--kz27-display) !important; font-weight: 500 !important; color: var(--kz27-gold-text) !important; }
html.kz27 .kz27-sec--dark p.kz27-kicker { color: var(--kz27-gold) !important; }
@media (max-width: 640px) { html.kz27 p.kz27-kicker { letter-spacing: .2em !important; } }
/* Drei Arztkarten nebeneinander: Bild oben statt daneben (sonst 130-px-Textspalte) */
html.kz27 :is(#content, body) .kz-docs:has(> .kz-doc:nth-child(3)) > .kz-doc { grid-template-columns: 1fr; }
html.kz27 :is(#content, body) .kz-docs:has(> .kz-doc:nth-child(3)) > .kz-doc img { max-width: 160px; }
/* Bewertungs-Slider (Flickity) */
html.kz27 .testimonial-slider .flickity-viewport { overflow: hidden !important; }
html.kz27 .kz27-sec--dark .testimonial-slider :is(h2, h3) { color: #fff !important; }
html.kz27 .testimonial { background: #fff !important; border: 1px solid var(--kz27-line); border-radius: var(--kz27-r); box-shadow: none !important; }
/* Nase-Kosten: Alt-Preistabelle und Diagramm */
html.kz27 .preisliste table.contenttable :is(td, th) { font-family: var(--kz27-sans) !important; font-weight: 400 !important; }
html.kz27 .preisliste table.contenttable td:last-child { white-space: nowrap; }
html.kz27 #content canvas#chart1 { max-width: 420px; height: auto !important; }
/* Altes Seitenbanner: Bildzeile in der neuen Schrift, am Smartphone weg (nur ein beschnittener Streifen) */
html.kz27 :is(.brust-cover-caption, #screen) :is(h1, h2, h3, p, span) { font-family: var(--kz27-accent) !important; }
@media (max-width: 767px) { html.kz27 aside#screen { display: none !important; } }
/* Startseite mobil: alter Willkommen-Block (Navigation und Kontakt stehen in Kopf und Fuss) */
html.kz27 #mobilehome { display: none !important; }
/* Expert:innen-Widget doppelt das Aerzteteam der neuen Seiten */
html.kz27 body:has(.kz-docs) .aerzte { display: none !important; }
/* Doppelte Buchung: neue Seiten haben einen eigenen Termin-Abschnitt mit eTermin */
html.kz27 #content > article:has(.kz27-sec:not(.kz27-sec--schwanz) iframe[src*="etermin"]) .kz27-sec--schwanz :is(.csc-default:has(.formonline-wrap), .formonline-wrap) { display: none; }
html.kz27 #content > article:has(.kz27-sec:not(.kz27-sec--schwanz) iframe[src*="etermin"]) .kz27-sec--schwanz:not(:has(#mobilemore li, #mobilefooter)) { display: none; }
/* Eckdaten-Raster: keine Waisen, Labels passen */
html.kz27 :is(#content, body) .kz-facts { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important; }
html.kz27 :is(#content, body) .kz-facts .kz-fact-label { letter-spacing: .06em !important; }
/* Abstand nach dem Einleitungsabsatz vor Schritten und Haekchenlisten */
html.kz27 :is(#content, body) .kz27-split > .kz-block:first-child + :is(.kz-steps, .kz-check),
html.kz27 :is(#content, body) .kz27-wrap > :is(.kz-steps, .kz-check) { margin-top: 28px; }
/* Zweite Ueberschrift innerhalb eines Abschnitts: deutlich abgesetzt */
html.kz27 :is(#content, body) .kz27-wrap > .kz-block:not(:first-child) > h2.kz-h:first-child,
html.kz27 :is(#content, body) .kz27-wrap > .kz-block:not(:first-child) > .kz-anchor:first-child + h2.kz-h { margin-top: 56px; }
/* Kennzahlen nicht zerreissen */
html.kz27 :is(#content, body) .kz-stat-num { white-space: nowrap; }
@media (max-width: 640px) { html.kz27 :is(#content, body) .kz-stat-num { font-size: clamp(28px, 8vw, 40px); } }
html.kz27 :is(#content, body) :is(.kz-fact-value, .kz-price-value, .kz-compare td) { font-variant-numeric: lining-nums; }
/* Hinweisbox „info" ohne Fremdblau */
html.kz27 :is(#content, body) .kz-note--info { border-color: var(--kz27-line) !important; background: var(--kz27-grey) !important; }
html.kz27 :is(#content, body) .kz-note--info :is(.kz-note-title, .kz-i) { color: var(--kz27-gold-text) !important; }
/* Startseite: Patientinnen-Karten ohne Polaroid, Vertrauens-Slider ruhig */
html.kz27 body .homepatients-item { transform: none !important; rotate: none !important; box-shadow: none !important; background: #fff !important; border: 1px solid var(--kz27-line); border-radius: var(--kz27-r); padding: 12px !important; margin-top: 0 !important; }
html.kz27 body .homepatients-item img { border-radius: 2px; }
html.kz27 body .flickity-wrap { background: none !important; }
html.kz27 body .flickity-wrap :is(h2, h3, h4) { font-family: var(--kz27-display) !important; color: var(--kz27-ink) !important; font-weight: 200 !important; letter-spacing: .04em; }
/* Zweites Raster eines Abschnitts (nach dem ersten breiten Baustein, ohne mitlaufenden Kopf) */
html.kz27 .kz27-wrap.kz27-rest { margin-top: 40px; }
@media (min-width: 1000px) {
    html.kz27 .kz27-rest {
        display: grid;
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        column-gap: clamp(48px, 7vw, 120px);
        align-items: start;
    }
    html.kz27 :is(#content, body) .kz27-rest > * { grid-column: 2; max-width: 680px; }
    html.kz27 :is(#content, body) .kz27-rest > :is(.kz-wide, .kz-band, .kz-docs, .kz-media, .kz-stats, .kz-icons, .kz-vnrow, .kz-journey, .kz27-videos, .iso23, .csc-default) { grid-column: 1 / -1; max-width: none; }
    html.kz27 :is(#content, body) .kz27-rest--alt > .csc-default { grid-column: 2; max-width: 680px; }
    html.kz27 :is(#content, body) .kz27-rest--alt > .csc-default:has(.csc-textpic-imagecolumn ~ .csc-textpic-imagecolumn, .vorhernachher, .masonvn, .regionen-filter) { grid-column: 1 / -1; max-width: none; }
    html.kz27 :is(#content, body) .kz27-rest > .kz-wide { margin-top: 0; }
}
/* Startseite Smartphone: die zwoelf Heldenbilder als wischbare Reihe statt 4.600 px untereinander */
@media (max-width: 767px) {
    html.kz27 .homeslider { padding-bottom: 0 !important; }
    html.kz27 .homeslider-inner {
        display: flex !important;
        gap: 10px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding: 0 16px;
        padding: 0 16px 6px !important;
        scrollbar-width: none;
        box-sizing: border-box;
        width: 100% !important;
        max-width: 100% !important;
    }
    html.kz27 .homeslider-inner::-webkit-scrollbar { display: none; }
    html.kz27 .homeslider-item { flex: 0 0 86%; scroll-snap-align: start; margin: 0 !important; }
    html.kz27 .homeslider:after {
        content: 'Wischen für mehr →';
        display: block;
        padding: 10px 16px 0;
        font-family: var(--kz27-sans);
        font-size: 12px;
        letter-spacing: .12em;
        text-transform: uppercase;
        color: var(--kz27-mute);
    }
    html:lang(en).kz27 .homeslider:after { content: 'Swipe for more →'; }
}
/* Fallseiten: Navigationsknoepfe nie breiter als die Spalte */
html.kz27 .kzvn-nav .vn-2020-detail-cta-col { max-width: 100% !important; min-width: 0 !important; box-sizing: border-box; }
html.kz27 .kzvn-nav .vn-2020-detail-cta-col a { max-width: 100% !important; box-sizing: border-box; }
@media (max-width: 640px) {
    html.kz27 .kzvn-nav .vn-2020-detail-cta-col { flex: 1 1 100%; }
    html.kz27 .kzvn-nav .vn-2020-detail-cta-col a { width: 100% !important; text-align: center; }
}
/* Aus Word kopierte Absaetze im Blog (negative Raender, Georgia, 11 pt) */
html.kz27 #content .news-single-item p[style] { margin-left: 0 !important; margin-right: 0 !important; font-family: var(--kz27-sans) !important; font-size: inherit !important; line-height: 1.68 !important; color: var(--kz27-text) !important; }
html.kz27 #content .news-single-item p[style] span[style] { font-size: inherit !important; line-height: inherit !important; }
/* Goldene Titelbalken auch ausserhalb von #content (Startseiten-Klone) */
html.kz27 body .home-oscar[style*="#b69154"] { background: none !important; padding: clamp(40px, 5vw, 64px) 0 0 !important; margin: 0 auto 24px !important; }
html.kz27 body .home-oscar[style*="#b69154"] :is(h1, h2) { color: var(--kz27-ink) !important; font-family: var(--kz27-display) !important; font-weight: 200 !important; text-transform: uppercase; letter-spacing: .02em; }
