/* === Eingebettete Schriften (lokal, kein externes Nachladen) === */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(/lp/fonts/CormorantGaramond-Medium.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(/lp/fonts/CormorantGaramond-SemiBold.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(/lp/fonts/CormorantGaramond-MediumItalic.woff2) format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/lp/fonts/DMSans-Regular.woff2) format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/lp/fonts/DMSans-Medium.woff2) format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/lp/fonts/DMSans-SemiBold.woff2) format('woff2');}

  /* ============ TOKENS ============ */
  :root{color-scheme:light;
    --ink:#1c2733;          /* primärer Text, ruhiges Anthrazit-Blau */
    --ink-soft:#52606d;     /* sekundärer Text */
    --line:#e4e7ec;         /* feine Linien */
    --paper:#fbfbf9;        /* warmes Off-White */
    --surface:#ffffff;      /* Karten */
    --mist:#f3f5f4;         /* zarte Flächen */
    --accent:#9a7b3f;       /* gedämpftes Gold, sparsam */
    --accent-deep:#7d6432;
    --signal:#1f513f;       /* tiefes Diagnostik-Grün für Vertrauen */
    --radius:14px;
    --card-bg:#ffffff;            /* Kachel-Hintergrund (umschaltbar) */
    --card-hover-border:#d8dde3;  /* Kachelberandung beim Drüberfahren (umschaltbar) */
    --card-hover-bg:#ffffff;      /* Kachel-Hintergrund beim Drüberfahren (umschaltbar) */
    --shadow:0 1px 2px rgba(28,39,51,.04), 0 12px 40px rgba(28,39,51,.06);
    --shadow-lift:0 2px 6px rgba(28,39,51,.06), 0 20px 56px rgba(28,39,51,.10);
    --maxw:1080px;
  }
  *{box-sizing:border-box;margin:0;padding:0}

  /* ===== UMSCHALTBARE FARB-THEMEN (ändern nur Farben, nie Text/Schrift) ===== */
  /* Thema 1: Original (hell & ruhig) – Standard, oben in :root definiert */

  /* Thema 2: Warmes Creme – wärmerer Hintergrund */
  body.theme-creme{--paper:#f7f3ec;--mist:#efe9df;--surface:#fffdf9;--card-hover-border:#d8c9a8}

  /* Thema 3: Braun/Gold betont – Akzent stärker, Berandung golden */
  body.theme-gold{
    --paper:#f3ebdc;--mist:#eae0cb;--surface:#fffdf7;
    --accent:#9a7b3f;--accent-deep:#7d6432;
    --card-hover-border:#9a7b3f;--card-hover-bg:#fffaf0;
    --card-bg:#fffdf9;
  }

  /* Thema 4: Sanftes Grün – Diagnostik-Grün als ruhiger Akzent */
  body.theme-gruen{
    --paper:#eef3f0;--mist:#e0ebe4;--surface:#fbfdfc;
    --card-hover-border:#1f513f;--card-hover-bg:#f7fbf9;
  }

  /* Thema 5: Blau & Gold – kühler Hintergrund, warme Gold-Akzente */
  body.theme-blaugold{
    --paper:#d3e0ee;--mist:#c2d4e6;--surface:#eef4fa;
    --accent:#bf8420;--accent-deep:#9a6913;
    --signal:#1f4e74;
    --ink:#172838;
    --card-bg:#f4f8fc;
    --card-hover-border:#c79528;--card-hover-bg:#fffaf0;
  }

  /* Thema 6: Tiefes Blau & Gold – satter, edel (abgemildert) */
  html{scroll-behavior:smooth}
  body{
    font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--ink);background:var(--paper);
    line-height:1.6;-webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.12;letter-spacing:-.01em}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .brand a{color:inherit;text-decoration:none}
  .eyebrow{
    font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;
    color:var(--accent-deep);font-weight:600;margin-bottom:14px;
  }

  /* ============ HEADER ============ */
  header{
    position:sticky;top:0;z-index:50;background:rgba(251,251,249,.86);
    backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;height:70px}
  /* Sprachglobus liegt fix bei right:16px (38px breit) -> CTA Platz machen, sonst Ueberlapp */
  .nav-cta{margin-right:46px}
  .brand{font-family:"Cormorant Garamond",serif;font-size:1.32rem;font-weight:600;letter-spacing:.01em}
  .brand span{color:var(--accent-deep)}
  .nav-cta{
    font-size:.9rem;font-weight:600;color:var(--ink);text-decoration:none;
    border:1px solid var(--line);padding:9px 18px;border-radius:999px;
    transition:all .2s ease;background:var(--surface);
  }
  .nav-cta:hover{border-color:var(--accent);color:var(--accent-deep);box-shadow:var(--shadow)}

  /* ============ HERO ============ */
  .hero{padding:84px 0 68px;position:relative;overflow:hidden}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
  .hero h1{font-size:clamp(2.5rem,5vw,3.9rem);margin-bottom:22px}
  .hero h1 em{font-style:italic;color:var(--accent-deep)}
  .subline{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.5rem;color:var(--accent-deep);margin:-8px 0 18px;letter-spacing:.01em}
  .lead{font-size:1.16rem;color:var(--ink-soft);max-width:38ch;margin-bottom:32px}
  .cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
  .btn{
    display:inline-flex;align-items:center;gap:9px;font-size:.98rem;font-weight:600;
    text-decoration:none;padding:15px 26px;border-radius:999px;cursor:pointer;border:none;
    transition:transform .18s ease, box-shadow .2s ease, background .2s ease;
  }
  .btn-primary{background:var(--ink);color:#fff;box-shadow:var(--shadow)}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);background:#13202c}
  .btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
  .btn-ghost:hover{border-color:var(--accent);color:var(--accent-deep);transform:translateY(-2px);box-shadow:var(--shadow)}
  .btn svg{width:17px;height:17px}
  .reassure{margin-top:18px;font-size:.86rem;color:var(--ink-soft);display:flex;align-items:center;gap:8px}
  .reassure svg{width:15px;height:15px;color:var(--signal)}

  /* hero visual — ruhige EKG-Linie als Signatur */
  .hero-visual{
    position:relative;background:var(--surface);border:1px solid var(--line);
    border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow);
  }
  .hv-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}
  .hv-title{font-family:"Cormorant Garamond",serif;font-size:1.5rem;margin-bottom:20px}
  .ecg{width:100%;height:96px;display:block}
  .ecg path{fill:none;stroke:var(--signal);stroke-width:2.2;
    stroke-dasharray:1400;stroke-dashoffset:1400;animation:trace 7s linear infinite .3s}
  @keyframes trace{
    0%{stroke-dashoffset:1400}
    70%{stroke-dashoffset:0}
    100%{stroke-dashoffset:0}
  }
  .hv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
  .hv-stat .n{font-family:"Cormorant Garamond",serif;font-size:1.7rem;color:var(--ink);line-height:1}
  .hv-stat .l{font-size:.76rem;color:var(--ink-soft);margin-top:5px}

  /* ============ TRUST STRIP ============ */
  .trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);padding:24px 0}
  .trust .wrap{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;padding-top:22px;padding-bottom:22px}
  .trust-item{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--ink-soft)}
  .trust-item svg{width:18px;height:18px;color:var(--accent-deep);flex-shrink:0}
  .trust-item--stack{align-items:flex-start}
  .trust-item--stack svg{margin-top:3px}
  .trust-item--stack span{line-height:1.4}
  .trust-item--stack .indent{display:inline-block;padding-left:4em}

  /* ============ SECTIONS ============ */
  section.block{padding:78px 0}
  .sec-head{max-width:54ch;margin-bottom:48px}
  .sec-head h2{font-size:clamp(2rem,3.5vw,2.7rem);margin-bottom:14px}
  .sec-head p{color:var(--ink-soft);font-size:1.06rem}

  /* leistungen cards */
  .cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
  .card{
    background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);
    padding:34px 30px;transition:transform .2s ease, box-shadow .25s ease, border-color .2s ease, background .25s ease;
  }
  .card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift);border-color:var(--card-hover-border);background:var(--card-hover-bg)}
  .card-ic{
    width:46px;height:46px;border-radius:12px;background:var(--mist);
    display:flex;align-items:center;justify-content:center;margin-bottom:20px;
  }
  .card-ic svg{width:23px;height:23px;color:var(--signal)}
  .card-ic{overflow:hidden}
  /* EKG: ein Schlag, gleichmäßig durchlaufend (Stift-Effekt) */
  .ekg-ic{overflow:visible}
  .ekg-ic path{
    stroke-dasharray:42 42;
    stroke-dashoffset:42;
    animation:ekgdraw 3s linear infinite;
  }
  @keyframes ekgdraw{
    to{stroke-dashoffset:-42}
  }
  .card h3{font-size:1.5rem;margin-bottom:10px}
  .card p{color:var(--ink-soft);font-size:.98rem;margin-bottom:16px}
  .card ul{list-style:none;display:flex;flex-direction:column;gap:9px}
  .card li{font-size:.92rem;color:var(--ink);display:flex;align-items:flex-start;gap:9px}
  .card li svg{width:16px;height:16px;color:var(--accent-deep);flex-shrink:0;margin-top:4px}

  /* leises p.s. – sachlich, zurückhaltend */
  .ps{padding:0 0 64px;background:var(--paper)}
  .ps-text{max-width:68ch;margin:0 auto;text-align:center;font-size:.92rem;line-height:1.7;color:var(--ink-soft)}

  /* ärzte-team */
  .team{padding:78px 0;background:var(--surface);border-top:1px solid var(--line)}
  .team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:44px}
  .doc{display:flex;gap:20px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
  .doc-photo{width:96px;height:96px;border-radius:50%;flex-shrink:0;object-fit:cover;background:var(--mist);display:flex;align-items:center;justify-content:center;border:1px solid var(--line);transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s ease}
  img.doc-photo{display:block;object-position:center top;cursor:pointer}
  .doc:hover img.doc-photo{transform:scale(1.28);box-shadow:var(--shadow-lift)}
  .doc-photo svg{width:38px;height:38px;color:var(--ink-soft);opacity:.4}
  .doc h3{font-size:1.32rem;margin-bottom:3px}
  .doc .role{font-size:.86rem;color:var(--accent-deep);font-weight:600;margin-bottom:8px;letter-spacing:.02em}
  .doc p{font-size:.9rem;color:var(--ink-soft);line-height:1.55}

  /* bewertungen – auto-slider, immer nur eine */
  .reviews{padding:78px 0;background:var(--mist)}
  .rev-slider{position:relative;max-width:720px;margin:44px auto 0;min-height:230px}
  .rev{position:absolute;inset:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:38px 40px;display:flex;flex-direction:column;opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease;pointer-events:none}
  .rev.active{opacity:1;transform:translateY(0);pointer-events:auto}
  .rev-stars{color:var(--accent);font-size:1.15rem;letter-spacing:2px;margin-bottom:16px}
  .rev-text{font-size:1.1rem;line-height:1.6;color:var(--ink);flex:1;font-family:"Cormorant Garamond",serif;font-style:italic}
  .rev-meta{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:.84rem;color:var(--ink-soft)}
  .rev-meta strong{color:var(--ink);font-weight:600}
  .rev-source{font-size:.72rem;color:var(--accent-deep);text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px;font-weight:600}
  .rev-dots{display:flex;justify-content:center;gap:9px}
  .rev-dot{width:8px;height:8px;border-radius:50%;background:var(--line);border:none;padding:0;cursor:pointer;transition:background .3s ease,width .3s ease}
  .rev-dot.active{background:var(--accent-deep);width:22px;border-radius:4px}
  .rev-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:24px}
  .rev-arrow{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}
  .rev-arrow:hover{border-color:var(--accent);color:var(--accent-deep);box-shadow:var(--shadow)}
  .rev-arrow svg{width:20px;height:20px}
  .rev-all{text-align:center;margin-top:22px}
  .rev-all a{font-size:.9rem;color:var(--accent-deep);text-decoration:none;font-weight:600;border-bottom:1px solid transparent;transition:border-color .2s ease}
  .rev-all a:hover{border-color:var(--accent-deep)}

  /* ablauf */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;counter-reset:s}
  .step{position:relative;padding-top:14px}
  .step::before{
    counter-increment:s;content:counter(s,decimal-leading-zero);
    font-family:"Cormorant Garamond",serif;font-size:1.05rem;color:var(--accent-deep);
    font-weight:600;display:block;margin-bottom:12px;letter-spacing:.05em;
  }
  .step h3{font-size:1.32rem;margin-bottom:8px}
  .step p{font-size:.94rem;color:var(--ink-soft)}
  .step-line{height:1px;background:var(--line);margin:0 0 6px}

  /* warum / vertrauen */
  .why{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .why-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .why-list{display:flex;flex-direction:column;gap:24px}
  .why-item{display:flex;gap:16px}
  .why-item .ic{width:40px;height:40px;border-radius:10px;background:var(--mist);display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .why-item .ic svg{width:20px;height:20px;color:var(--signal)}
  .why-item h3{font-size:1.24rem;margin-bottom:4px}
  .why-item p{font-size:.94rem;color:var(--ink-soft)}
  .quote{
    background:var(--paper);border-left:3px solid var(--accent);border-radius:8px;
    padding:30px 32px;font-family:"Cormorant Garamond",serif;font-size:1.5rem;
    line-height:1.4;color:var(--ink);font-style:italic;
  }
  .quote cite{display:block;font-family:"DM Sans",sans-serif;font-style:normal;font-size:.86rem;color:var(--ink-soft);margin-top:16px;letter-spacing:.02em}

  /* ============ FINAL CTA ============ */
  .final{padding:84px 0}
  .final-inner{
    background:var(--ink);color:#fff;border-radius:20px;padding:64px 56px;text-align:center;
    position:relative;overflow:hidden;
    /* Ohne Begrenzung fuellt der Block die vollen 1080px -> breites, flaches Band mit viel
       Leerraum (Text ist ja auf 46ch begrenzt). 860px haelt die Proportion ruhig. */
    max-width:860px;margin:0 auto;
  }
  .final-inner::after{
    content:"";position:absolute;inset:0;
    background:radial-gradient(circle at 80% 0%,rgba(201,163,92,.34),transparent 60%);
    pointer-events:none;
  }
  .final h2{font-size:clamp(2rem,4vw,2.9rem);margin-bottom:14px;color:#fff;position:relative}
  .final p{color:rgba(255,255,255,.92);max-width:46ch;margin:0 auto 32px;position:relative}
  .final .cta-row{justify-content:center;position:relative}
  .final .btn-primary{background:#fff;color:var(--ink)}
  .final .btn-primary:hover{background:#f0ede6}
  .final .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
  .final .btn-ghost:hover{border-color:#fff;color:#fff}
  .final-contact{margin-top:30px;font-size:.9rem;color:rgba(255,255,255,.85);position:relative}
  .final-contact a{color:#fff;text-decoration:none}
  .final-contact a:hover{color:var(--accent)}

  /* ============ FOOTER ============ */
  footer{border-top:1px solid var(--line);padding:34px 0;background:var(--surface)}
  .foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;font-size:.84rem;color:var(--ink-soft)}
  .foot a{color:var(--ink-soft);text-decoration:none}
  .foot a:hover{color:var(--accent-deep)}

  /* ============ KLEBENDE CTA-LEISTE (Desktop) ============ */
  .rail{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:2px}
  .rail-btn{display:flex;align-items:center;gap:0;overflow:hidden;text-decoration:none;font-weight:600;font-size:.92rem;
    height:52px;width:52px;padding:0;border-radius:0 12px 12px 0;box-shadow:var(--shadow-lift);
    transition:width .28s cubic-bezier(.4,0,.2,1);white-space:nowrap}
  .rail-btn svg{width:21px;height:21px;flex-shrink:0;margin:0 15.5px}
  .rail-btn span{opacity:0;transition:opacity .2s ease;padding-right:18px}
  .rail-btn:hover{width:186px}
  .rail-btn:hover span{opacity:1}
  .rail-book{background:var(--ink);color:#fff}
  .rail-call{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:none}
  .rail-mail{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:none;border-top:none}
  .rail:focus-within .rail-btn{width:186px}
  .rail:focus-within .rail-btn span{opacity:1}

  /* ============ FLOATING CTA (mobil) ============ */
  .float{
    position:fixed;left:16px;right:16px;bottom:calc(16px + var(--cc-h, 0px));z-index:60;display:none;
    background:var(--ink);border-radius:14px;padding:11px;box-shadow:var(--shadow-lift);
    gap:10px;
  }
  .float a{flex:1;text-align:center;text-decoration:none;font-weight:600;font-size:.92rem;padding:12px;border-radius:9px}
  /* Auf breiteren Fenstern (Desktop, schmales Fenster) nicht randfuellend, sondern
     kompakt zentriert – die volle Breite ist fuer Telefone gedacht. */
  /* Auf breiteren Fenstern nicht randfuellend und NICHT mittig (verdeckt sonst den Inhalt),
     sondern kompakt rechts unten angedockt. Volle Breite bleibt den Telefonen vorbehalten. */
  @media(min-width:861px){
    .float{left:auto;right:20px;width:auto;max-width:none}
    .float a{flex:0 0 auto;padding:11px 22px}
  }
  .float .f1{background:#fff;color:var(--ink)}
  .float .f2{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}

  /* ============ RESPONSIVE ============ */
  /* Rail: NICHT abschalten, nur am Wachsen hindern.
     Rechnung: Textspalte 1080px, zentriert -> freier Rand = (Fenster-1080)/2.
     Aufklappen (186px) ueberlappt ab Fenster < 1080+2*186 = 1452px.
     Ruhende Rail (52px) ueberlappt erst ab Fenster < 1080+2*52 = 1184px. */
  @media(max-width:1452px){
    .rail-btn:hover,.rail:focus-within .rail-btn{width:52px}
    .rail-btn:hover span,.rail:focus-within .rail-btn span{opacity:0}
  }
  /* Erst wenn selbst die schmale Rail den Text beruehrt, uebernimmt die Float-Bar. */
  @media(max-width:1184px){
    .rail{display:none}
    .float{display:flex}
    body{padding-bottom:80px}
  }
  @media(max-width:860px){
    .hero-grid,.why-grid{grid-template-columns:1fr;gap:40px}
    .cards,.steps{grid-template-columns:1fr}
    .team-grid{grid-template-columns:1fr}
    .doc{flex-direction:column;text-align:center}
    .rev{padding:28px 24px}
    .rev-text{font-size:1rem}
    .hero{padding:54px 0 48px}
    section.block{padding:56px 0}
    .nav-cta{display:none}
    .final-inner{padding:48px 28px}
    .float{display:flex}
    .rail{display:none}
    body{padding-bottom:80px}
  }
  @media(prefers-reduced-motion:reduce){
    .ecg path{animation:none;stroke-dashoffset:0}
    .ekg-ic path{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
    .doc:hover img.doc-photo{transform:none}
    *{transition:none!important}
  }
  /* ===== Layout-Umschalter (dezent) ===== */
  .theme-switch{position:fixed;left:18px;bottom:18px;z-index:120;font-family:"DM Sans",sans-serif}
  .theme-toggle{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--accent-deep);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);opacity:.45;transition:transform .2s ease,box-shadow .2s ease,opacity .25s ease}
  .theme-toggle:hover{transform:scale(1.08);box-shadow:var(--shadow-lift);opacity:1}
  .theme-switch.open .theme-toggle{opacity:1}
  .theme-toggle svg{width:19px;height:19px}
  .theme-panel{position:absolute;left:0;bottom:50px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lift);padding:12px;width:210px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease,visibility .22s;z-index:130}
  .theme-switch.open .theme-panel{opacity:1;visibility:visible;transform:translateY(0)}
  .theme-opt{position:relative;z-index:131}
  .theme-panel-title{font-size:.72rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-soft);margin:4px 6px 4px}
  .theme-panel-hint{font-size:.74rem;color:var(--ink-soft);margin:0 6px 10px;line-height:1.4;opacity:.8}
  .theme-opt{display:flex;align-items:center;gap:10px;width:100%;padding:9px 8px;border:none;background:none;border-radius:9px;cursor:pointer;font-size:.92rem;color:var(--ink);text-align:left;transition:background .15s ease}
  .theme-opt:hover{background:var(--mist)}
  .theme-opt.active{background:var(--mist);font-weight:600}
  .theme-opt .sw{width:20px;height:20px;border-radius:50%;border:2px solid;flex-shrink:0;pointer-events:none}
  @media(max-width:600px){.theme-switch{left:14px;bottom:84px}}

  /* Sprachglobus oben rechts, dezent, mit Schatten (Regelwerk Abschnitt 6) */
  .lang-switch{position:fixed;top:16px;right:16px;z-index:80;font-family:"DM Sans",sans-serif}
  .lang-globe{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
    background:rgba(15,34,51,.72);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.4);cursor:pointer;
    color:#fff;transition:all .25s ease;opacity:1;box-shadow:0 2px 10px rgba(0,0,0,.35)}
  .lang-globe svg{filter:drop-shadow(0 1px 3px rgba(0,0,0,.55));width:21px;height:21px}
  .lang-globe:hover{opacity:1;background:rgba(15,34,51,.9)}
  .lang-menu{position:absolute;top:46px;right:0;display:flex;flex-direction:column;gap:2px;
    background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 8px 30px rgba(0,0,0,.16);
    opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .2s ease;min-width:130px}
  .lang-switch.open .lang-menu{opacity:1;visibility:visible;transform:translateY(0)}
  .lang-menu button{background:none;border:none;color:var(--ink);font-family:inherit;font-size:.88rem;font-weight:500;
    text-align:left;padding:9px 13px;border-radius:8px;cursor:pointer;transition:background .15s ease}
  .lang-menu button:hover{background:rgba(28,39,51,.07)}
  .lang-menu button.active{background:rgba(154,123,63,.15);font-weight:700}
  html[dir="rtl"] .lang-switch{right:auto;left:16px}
  html[dir="rtl"] .lang-menu{right:auto;left:0;text-align:right}
  html[lang="ar"] body{font-family:"DM Sans","Segoe UI",Tahoma,sans-serif}

.card-more{display:inline-block;margin-top:14px;color:var(--accent);font-weight:600;text-decoration:none;font-size:.92rem}
.card-more:hover{text-decoration:underline}


/* ===== Ganzkörper-spezifisch (aus GK-Freeze übernommen) ===== */
/* Eichen-Band oben — Fokuspunkt-Verfahren:
     Die Eiche sitzt bei ~50% horizontal, ~48% vertikal im Bild.
     object-fit:cover + object-position halten diesen Punkt bei JEDER
     Bandhöhe/-breite im sichtbaren Ausschnitt. Kein JS, keine Breakpoints. */
  /* Portrait-Band: Vertrauens-Anker. Bewusst kompakt – Foto begleitet den Text, erschlägt ihn nicht. */
  .portrait-band{background:var(--mist);padding:52px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .portrait-band.on-paper{background:var(--paper)}
  .portrait-grid{display:grid;grid-template-columns:300px 1fr;gap:38px;align-items:center}
  .portrait-photo{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);
    box-shadow:var(--shadow);transition:box-shadow .3s ease,border-color .3s ease}
  /* Kein translateY auf grossen Flaechen (Flackern!) – Zoom im Bild + deutlicher Rahmen. */
  .portrait-photo:hover{box-shadow:var(--shadow-lift);border-color:var(--accent)}
  .portrait-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;
    transition:transform .55s cubic-bezier(.4,0,.2,1)}
  .portrait-photo:hover img{transform:scale(1.07)}
  @media(prefers-reduced-motion:reduce){.portrait-photo:hover img{transform:none}}
  .portrait-text blockquote{margin:12px 0 18px;font-family:"Cormorant Garamond",serif;font-style:italic;
    font-size:clamp(1.35rem,1.9vw,1.7rem);line-height:1.4;color:var(--ink);max-width:36ch}
  .portrait-name{font-weight:600;color:var(--ink)}
  .portrait-role{color:var(--ink-soft);font-size:.95rem;margin-top:2px}
  .portrait-review{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);
    font-size:.93rem;color:var(--ink-soft);line-height:1.6;max-width:44ch}
  .portrait-review .stars{color:var(--accent);letter-spacing:.12em;font-size:.8rem}
  .portrait-review cite{font-style:normal;display:block;margin-top:4px;font-size:.85rem;opacity:.85}
  @media(max-width:860px){
    .portrait-band{padding:38px 0}
    .portrait-grid{grid-template-columns:1fr;gap:20px;justify-items:center;text-align:center}
    .portrait-photo{max-width:260px}
    .portrait-text blockquote{max-width:none}
    .portrait-review{margin-left:auto;margin-right:auto}
  }
  .oak-band{position:relative;height:170px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
.oak-band .oak-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 64%}
.oak-band .oak-veil{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,28,38,.30),rgba(20,28,38,.06) 55%,rgba(251,251,249,.55) 80%,var(--paper) 100%)}
.oak-line{position:relative;z-index:2;font-family:"Cormorant Garamond",serif;font-style:italic;color:#fff;
    font-size:clamp(1.3rem,3vw,2rem);text-shadow:0 2px 18px rgba(0,0,0,.4);padding:0 24px;margin-top:-30px}
@media(max-width:760px){
.oak-band{height:130px}
}
.float a.primary{background:var(--accent);color:#fff}
.twocol{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:36px}
.prevalence{background:var(--mist)}
.refs{font-size:.82rem;color:var(--ink-soft);line-height:1.7;border-top:1px solid var(--line);padding-top:20px;margin-top:10px}
.refs h4{font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;font-weight:600}
.refs ol{padding-left:20px}
.refs li{margin-bottom:6px}
.ph{display:none;background:#fff6e6;border:1px dashed var(--accent);border-radius:10px;padding:14px 16px;color:#7d6432;font-size:.9rem;margin:14px 0}
body.show-ph .ph{display:block}
.ph strong{color:var(--accent-deep)}

/* ---- Silbentrennung (Template-weit): bricht lange Komposita wie
   „Bauchspeicheldrüse" in schmalen Kacheln/Spalten sauber um. Nutzt die
   lang-Angabe am <html> (wird vom Sprachumschalter mitgeführt). ---- */
.lead, .subline, .card p, .card h3, .ps-text, .step p, .doc p,
.twocol p, .reason p, .pr-addr-line, .rev-text {
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  overflow-wrap: break-word;
}
