/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/1993989b-47ef-4e78-8af8-19e8e8239028.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/a4e8f4a7-e0f0-406b-9983-074cc8376a3d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/ec5da004-3871-4abe-adf1-937197ddd3b5.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/77580a9c-f99a-43de-ae9c-625017763aa9.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/91793008-511d-4e5c-b1a6-94b5705c5354.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/09a003e8-ecde-4f06-a417-ab4a08ee0371.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/eb078cc6-d3a3-4144-8c4e-2ec33459a77e.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/c6302b1d-1dee-4224-b063-286fcf75f56b.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/c64c299a-2cdb-47a8-a9a0-aa8696870212.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/93600a88-3f72-4455-89c2-4aecbc550cf6.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;
}
/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 300 500;
  font-display: swap;
  src: url("/assets/fonts/d3008092-9911-479c-8af6-0f073a6e4f1d.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 300 500;
  font-display: swap;
  src: url("/assets/fonts/278bdbca-4313-455d-ab48-84faeafa2f03.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 300 500;
  font-display: swap;
  src: url("/assets/fonts/50c755af-be9f-4fe0-93de-f963bddb1934.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;
}
/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url("/assets/fonts/04caadaa-236c-4656-b909-ef4ab0301186.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url("/assets/fonts/4207dc72-d253-46bc-89e9-92f58611bbdb.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url("/assets/fonts/9d16d37f-5fa6-4e90-9a4e-73bdee08db6a.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;
}
/* vietnamese */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url("/assets/fonts/100d7854-f4fd-4332-bbbc-8ddb81022f44.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url("/assets/fonts/59745f13-3cd8-447b-9baa-0d26c834a1c7.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url("/assets/fonts/94fe3163-c7ad-45ce-a95e-8a5465342a7f.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;
}
/*ALLOC-CSS-START*/
/* ---- Portfolio-Aufteilung (Sektoren / Geografie) ---------------------- */
.alloc{margin-top:26px}
/* Das Kartenpaar Sektor/Geografie bleibt gleich hoch - die Quellenzeile haengt
   unten (.alsrc{margin-top:auto}), dadurch entsteht kein Loch zwischen den Karten. */
.alloc h3{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.alloc .card{display:flex;flex-direction:column}
.alloc .alcap{font:500 12px/1.4 var(--mono);letter-spacing:.02em;color:var(--soft);text-transform:uppercase}
.alloc .almeta{margin:2px 0 13px;font-size:12.5px;color:var(--mid)}
.alloc .almeta .pill{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:1px 8px;margin-right:5px;font-size:11.5px;color:var(--mid);background:var(--bg2);white-space:nowrap}
.alloc .almeta .pill.warn{border-color:#dcc79a;background:#fbf5e7;color:var(--gelb)}
/* Balkenzeile. Schmal: Label + Wert oben, Balken darunter.
   Ab 500 px Containerbreite: Label | Balken | Wert in EINER Zeile (~22 statt 39 px). */
.albars{container-type:inline-size;container-name:albars}
.albar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;
       column-gap:12px;row-gap:4px;margin:0 0 9px;font-size:13.5px;line-height:1.35}
.albar .allab{min-width:0;overflow-wrap:anywhere}
.albar .alval{font:500 12.5px var(--mono);color:var(--mid);white-space:nowrap;
              font-variant-numeric:tabular-nums;text-align:right}
.albar .altrk{grid-column:1/-1;order:3;height:7px;background:var(--bg3);border-radius:999px;overflow:hidden}
.albar .altrk i{display:block;height:100%;background:var(--brand2);border-radius:999px;min-width:2px}
.albar.rest .altrk i{background:var(--grau);opacity:.55}
.albar.rest .allab{color:var(--mid)}
@container albars (min-width:500px){
  .albar{grid-template-columns:minmax(0,1.05fr) minmax(90px,1fr) 4em;margin-bottom:4px}
  .albar .altrk{grid-column:auto;order:0}
}
.almore{align-self:flex-start;display:inline-block;margin:2px 0 0;padding:0;border:0;background:none;color:var(--brand);font-size:13px;text-decoration:underline;text-underline-offset:2px}
.almore:hover{color:var(--brand2)}
.alloc .altoggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--paper)}
.alloc .altoggle button{border:0;background:none;padding:3px 11px;font-size:12px;color:var(--mid);line-height:1.6}
.alloc .altoggle button[aria-pressed="true"]{background:var(--brand);color:#fff}
.alloc .alsrc{margin-top:auto;padding-top:11px}
.alloc .alsingle{margin:2px 0 0;padding:14px;border-radius:8px;background:var(--tint);color:var(--brand-d)}
.alloc .alsingle b{display:block;font-size:17px;font-family:var(--serif);font-weight:400;margin-bottom:3px}
.alloc .alempty{margin:2px 0 0;padding:14px;border-radius:8px;background:var(--bg2);color:var(--mid);font-size:13.5px;line-height:1.6}
.alloc .alempty b{color:var(--ink)}
.mobile .alloc .albar .albt{font-size:13px}
.srizeile{margin:12px 0 0;font-size:13.5px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.srizeile>b{font-size:13.5px}
.srizeile .note{margin:0;flex:1;min-width:220px}
.alloc .algrp{margin:14px 0 7px;font:500 12px/1.4 var(--mono);letter-spacing:.02em;color:var(--soft);text-transform:uppercase}
.alloc .algrp:first-child{margin-top:2px}
.alloc .altags{margin:0 0 11px;display:flex;flex-wrap:wrap;gap:5px}
.alclamp{margin-top:2px}
.alclamp .altxt{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.alclamp.on .altxt,.alclamp.kurz .altxt{display:block;overflow:visible}
.alclamp .almore{margin-top:5px}
.alclamp+.quote{margin-top:9px}
.alclamp.zu .altxt{display:none}
.alclamp.zu.on .altxt{display:block}
.alclamp.zu .almore{margin-top:11px}

/* ---- Inhaltsgerechte Reihen statt starrem Zweispaltenraster ----------- */
.alstrukt{display:flex;flex-direction:column;gap:14px}
.alfull{width:100%}
/* Strategie: flache Leiste, Schlagworte links, Anbietertext rechts */
.alband{border:1px solid var(--line2);border-radius:10px;padding:15px 18px;background:var(--paper);
        display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px 28px;align-items:center}
.alband .alcap{margin:0 0 8px}
.alband .altags{margin:0}
.alband .quote{margin-top:8px}
@media(max-width:820px){.alband{grid-template-columns:1fr}}
/* Portfolio-Aufbau: Balkengruppen nebeneinander (max. zwei Spalten, damit die
   Zeilen breit genug für die einzeilige Darstellung bleiben) */
.algruppen{columns:430px 2;column-gap:32px;margin-bottom:4px}
.algruppe{break-inside:avoid;min-width:0}
.altop .alclamp.on .altxt{columns:2;column-gap:34px;column-rule:1px solid var(--line2)}
@media(max-width:820px){.altop .alclamp.on .altxt{columns:1}}
.akhinweis>b{display:block;margin-bottom:4px}
.akhinweis .altxt{color:inherit}
#d-klassen .almore{margin-top:8px}
/* Kosten: linke Spalte Zahlen, rechte Spalte Erläuterungen - beide gestapelt */
.kspalten{align-items:start}
.kspalten>div{display:flex;flex-direction:column;gap:14px}
.kspalten .card{margin-top:0}
/*ALLOC-CSS-END*/


:root{
 --ink:#14201e;--mid:#5c6a67;/* Kontrast: --soft und die Rubrikzeile .kick lagen bei 2,98 bzw. 2,66 gegen den
    Papierhintergrund und verfehlten damit WCAG AA (4,5 bei dieser Schriftgroesse).
    --soft #636f6c: 5,14 auf Papier, 4,75 auf Grau. --kick #0f7d75: 4,91 / 4,54.
    --brand2 bleibt unveraendert - es traegt Linien und Akzente, keinen Text. */
  --soft:#636f6c;--kick:#0f7d75;--line:#d9d4ca;--line2:#eae6de;--bg2:#f6f4ef;--bg3:#e7e2d8;
 --brand:#0f3d3e;--brand-d:#0a2c2d;--brand2:#17b0a4;--tint:#e2eeeb;--paper:#fffdfa;
 --gruen:#1f6b48;--gelb:#8a6a1a;--rot:#9c3b32;--grau:#6f7b78;--hdr:66px;
 --sans:'Work Sans',-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
 --serif:'Newsreader',Georgia,'Times New Roman',serif;
 --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}
body{margin:0;font:16px/1.62 var(--sans);color:var(--ink);background:var(--bg2);-webkit-font-smoothing:antialiased;text-wrap:pretty}
button,select,input{font:inherit}button{cursor:pointer}
a{color:var(--brand);text-decoration-color:color-mix(in oklab,var(--brand) 35%,transparent);text-underline-offset:2px}
a:hover{color:var(--brand2)}
h1,h2{font-family:var(--serif);font-weight:450;letter-spacing:-.015em;color:var(--ink)}
h1{font-size:42px;line-height:1.1;margin:0 0 14px}
h2{font-size:27px;line-height:1.2;margin:0 0 8px}
h3{font-size:15px;font-weight:600;margin:0 0 7px;letter-spacing:-.005em}
/* Auf /marktdaten/ folgten dem H1 nur H3 - eine Ebene uebersprungen. Die
   Abschnitte sind jetzt H2 und sehen unveraendert aus. */
h2.wieh3{font-family:var(--sans);font-size:15px;font-weight:600;margin:0 0 7px;
  letter-spacing:-.005em;line-height:1.35;color:var(--ink)}
.shell{max-width:1240px;margin:0 auto;background:var(--paper);min-height:100vh;box-shadow:0 0 0 1px var(--line2),0 18px 60px -30px rgba(15,61,62,.22)}
header.site{border-bottom:1px solid var(--line2);padding:0 28px;min-height:var(--hdr);height:var(--hdr);display:flex;align-items:center;gap:26px;background:color-mix(in oklab,var(--paper) 88%,transparent);backdrop-filter:saturate(1.4) blur(8px);position:sticky;top:0;z-index:40}
.logo{display:flex;align-items:center;gap:9px;font-weight:600;font-size:18px;letter-spacing:-.03em;white-space:nowrap;cursor:pointer;color:var(--brand);text-decoration:none}
.logo svg{flex:none}
.logo em{color:var(--soft);font-weight:400;font-style:normal;letter-spacing:-.01em}
nav.main{display:flex;gap:20px;font-size:14px;color:var(--mid);flex:1;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;align-items:center;min-width:0}
nav.main::-webkit-scrollbar{display:none}
nav.main a{cursor:pointer;padding:3px 0;white-space:nowrap;border-bottom:2px solid transparent;text-decoration:none;color:var(--mid);transition:color .15s}
nav.main a:hover{color:var(--brand)}
nav.main a.on{color:var(--brand);border-color:var(--brand2);font-weight:500}
.btn{border:1px solid var(--brand);background:transparent;color:var(--brand);padding:8px 15px;border-radius:999px;font-size:14px;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.btn:hover{background:var(--tint)}
.btn.solid{background:var(--brand);color:#fff}.btn.solid:hover{background:var(--brand-d)}
.btn.ghost{border-color:var(--line);color:var(--mid)}.btn.ghost:hover{border-color:var(--brand);color:var(--brand);background:transparent}
.btn.sm{padding:5px 12px;font-size:13px}
section{padding:44px 40px;border-bottom:1px solid var(--line2)}
.sub{color:var(--mid);font-size:16px;margin:0 0 20px;line-height:1.6}
.note{font-size:13.5px;color:var(--mid);line-height:1.62}
.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{border:1px solid var(--line2);border-radius:10px;padding:18px;background:var(--paper)}
.card.mut{background:var(--bg2);border-color:transparent}
/* hero */
#home>section:first-child{background:var(--brand);color:#f4f7f5;border-bottom:0;padding:64px 40px 40px}
#home>section:first-child h1{color:#fff;font-size:52px;max-width:19ch}
#home>section:first-child .sub{color:#bcd3ce}
#home>section:first-child .btn{border-color:rgba(255,255,255,.45);color:#fff}
#home>section:first-child .btn:hover{background:rgba(255,255,255,.1)}
#home>section:first-child .btn.solid{background:var(--brand2);border-color:var(--brand2);color:#04302c;font-weight:500}
#home>section:first-child .btn.ghost{border-color:transparent;color:#9dc0ba}
#home>section:first-child .kpi{background:rgba(255,255,255,.14);border:0;margin:34px 0 0}
#home>section:first-child .kpi>div{background:transparent}
#home>section:first-child .kpi b{color:#fff;font-family:var(--serif);font-weight:450}
#home>section:first-child .kpi span{color:#9dc0ba}
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line2);border:1px solid var(--line2);border-radius:10px;overflow:hidden;margin:18px 0}
.kpi>div{background:var(--paper);padding:16px 18px}
.kpi b{display:block;font-size:28px;font-family:var(--serif);font-weight:450;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kpi span{font-size:12px;color:var(--mid);letter-spacing:.01em}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line2);vertical-align:top}
th{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--mid);font-weight:500;border-bottom:1px solid var(--line);white-space:nowrap;cursor:pointer;position:sticky;top:var(--hdr);background:var(--paper);z-index:5}
th:hover{color:var(--brand)}th.on{color:var(--brand)}
td.num,th.num{text-align:right}
td.num{font-family:var(--mono);font-size:13px;font-variant-numeric:tabular-nums}
tr.row:hover td{background:var(--tint)}
/* Fondsdatenbank-Tabelle: ruhige Zeilen */
.results table{table-layout:auto}
.results th,.results tbody td{padding:13px 12px;vertical-align:middle}
.results tbody td:first-child,.results thead th:first-child{padding-right:0}
.results td.num,.results th.num{white-space:nowrap}
.results tbody td:nth-child(2){min-width:196px;vertical-align:top;padding-top:14px}/* 196 statt 210: mit sieben Spalten passt die Tabelle damit in beiden Sprachen ohne Querscrollen in die 930px. Der laengste Name misst 189. */
.results tbody td:nth-child(3){white-space:normal;max-width:120px}
.results tbody td:nth-child(4){white-space:nowrap}
.results th.umbr{white-space:normal;line-height:1.35}
.results tbody td .fname{display:block;line-height:1.3;margin-bottom:3px}
.results tbody td .isin{display:block;line-height:1.4}
.results tbody td:nth-child(2) br{display:none}
.results tbody td:first-child{vertical-align:top;padding-top:16px}
.results .tag{font-size:10px;padding:1px 7px;letter-spacing:.01em}
.results tbody td:nth-child(3) .tag{margin:0 0 3px}
.results .liq{vertical-align:-1px;margin-right:7px}
.fname{font-weight:600;cursor:pointer;color:var(--brand)}.fname:hover{color:var(--brand2)}
.isin{font-family:var(--mono);font-size:11px;color:var(--soft)}
.tag{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:2px 9px;font-size:11px;color:var(--mid);white-space:nowrap;background:var(--paper)}
.na{color:var(--soft);font-style:normal;font-size:12.5px}
.liq{display:inline-flex;gap:3px}
.liq i{width:13px;height:8px;background:var(--bg3);border-radius:2px;display:block}
.liq i.on{background:var(--brand2)}
.dblayout{display:grid;grid-template-columns:262px minmax(0,1fr)}
.filters{border-right:1px solid var(--line2);padding:24px 22px;position:sticky;top:var(--hdr);align-self:start;max-height:calc(100vh - var(--hdr));overflow:auto;background:var(--bg2)}
.fg{margin-bottom:20px}
.fg h4{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--soft);margin:0 0 8px;font-weight:500}
.fg label{display:flex;gap:8px;align-items:center;font-size:13.5px;padding:3px 0;cursor:pointer}
.fg input[type=range]{width:100%;accent-color:var(--brand)}
.fg input[type=checkbox],.opts input[type=checkbox]{accent-color:var(--brand)}
.results{padding:24px 28px 80px;min-width:0}
.tblwrap{overflow:auto;max-height:calc(100vh - var(--hdr) - 8px);margin:0 -4px}
.tblwrap th{position:sticky;top:0;box-shadow:0 1px 0 var(--line)}
.selbar{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--brand-d);color:#fff;border-radius:999px;padding:9px 9px 9px 20px;display:flex;gap:12px;align-items:center;box-shadow:0 12px 34px rgba(10,44,45,.35);z-index:80;font-size:14px;white-space:nowrap}
.selbar .btn{border-color:rgba(255,255,255,.45);color:#fff}
.selbar .selvoll{color:var(--brand2);font-size:13px}
.selbar .btn:hover{background:rgba(255,255,255,.12)}
.selbar .btn.solid{background:var(--brand2);border-color:var(--brand2);color:#04302c;font-weight:500}
.resbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
input[type=text],input:not([type]),select{border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}
input:focus,select:focus{outline:2px solid var(--brand2);outline-offset:1px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line2);border:1px solid var(--line2);border-radius:10px;overflow:hidden;margin:20px 0}
.facts>div{background:var(--paper);padding:14px 16px}
.facts b{display:block;font-size:18px;margin-top:3px;font-variant-numeric:tabular-nums}
.facts span{font-family:var(--mono);font-size:10px;color:var(--soft);text-transform:uppercase;letter-spacing:.07em}
.liqbox{border:1px solid var(--brand);border-radius:12px;padding:22px;background:var(--tint)}
.steps{display:flex;flex-wrap:wrap;gap:18px;margin:16px 0 4px}
.step{flex:1;min-width:150px;border-top:2px solid var(--brand2);padding:11px 14px 0 0;font-size:13.5px;color:var(--mid)}
.step b{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--brand);margin-bottom:5px;font-weight:500}
.rows{width:100%;font-size:14px}
.rows td:first-child{color:var(--mid);width:55%}
.rows td:last-child{text-align:right;font-family:var(--mono);font-size:13px;font-variant-numeric:tabular-nums}
.callout{border-left:2px solid var(--brand2);background:var(--bg2);padding:16px 18px;font-size:14px;line-height:1.62;border-radius:0 8px 8px 0}
.quote{font-size:12.5px;color:var(--mid);border-left:2px solid var(--line);padding-left:11px;margin-top:9px;line-height:1.55}
.screen{display:none}.screen.on{display:block}
.bar2{height:8px;background:var(--bg3);border-radius:999px;overflow:hidden}.bar2 i{display:block;height:100%;background:var(--brand)}
.cov td:first-child{width:34%}
.cmp{border-collapse:collapse;width:100%;table-layout:fixed}
.cmp td,.cmp th{border-bottom:1px solid var(--line2);padding:11px 10px;vertical-align:top}
.cmp tr td:first-child{color:var(--mid);width:200px;font-size:12.5px}
.cmp thead th{position:sticky;top:var(--hdr);background:var(--paper);z-index:2;text-align:left;font-weight:600;box-shadow:inset 0 -1px 0 var(--line);font-family:var(--sans);font-size:13.5px;text-transform:none;letter-spacing:0;color:var(--ink)}
.cmp thead th:first-child,.cmp tbody tr:not(.secrow) td:first-child{position:sticky;left:0;background:var(--paper);z-index:1}
.cmp thead th:first-child{z-index:3;width:200px}
.cmp td.diff{background:var(--tint);font-weight:600}
table.plain th{position:static;top:auto;z-index:auto;cursor:default;white-space:normal;vertical-align:bottom}
/* Zugangs-Check */
.wahl{display:flex;gap:9px;flex-wrap:wrap;margin:8px 0 2px}
.wahl button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:9px 16px;font-size:14px}
.wahl button:hover{border-color:var(--brand);color:var(--brand)}
.wahl button.on{border-color:var(--brand);background:var(--brand);color:#fff}
.profil{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:8px}
.profil .card{cursor:pointer;transition:border-color .15s,box-shadow .15s}
.profil .card:hover{border-color:var(--brand)}
.profil .card.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:var(--tint)}
.badge{display:inline-block;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600;white-space:nowrap}
.b-ja{background:#e2efe7;color:var(--gruen)}
.b-vor{background:#f6efdb;color:var(--gelb)}
.b-nein{background:#f6e6e4;color:var(--rot)}
.b-unk{background:var(--bg3);color:var(--grau)}
.b-stufe{background:var(--tint);color:var(--brand)}
.konf{font-family:var(--mono);font-size:10px;border:1px solid var(--line);border-radius:999px;padding:2px 7px;color:var(--soft);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}
.opts{display:flex;gap:20px;flex-wrap:wrap;align-items:center;font-size:14px;color:var(--mid);margin:20px 0 4px}
.opts label{display:flex;gap:8px;align-items:center;cursor:pointer}
.hinweis{border:1px solid var(--line2);border-left:2px solid var(--brand);background:var(--bg2);padding:16px 18px;font-size:13px;color:var(--mid);line-height:1.65;margin-top:22px;border-radius:0 8px 8px 0}
.zsum{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line2);border:1px solid var(--line2);border-radius:10px;overflow:hidden;margin:4px 0 2px}
.zsum>div{background:var(--paper);padding:14px 16px}
.zsum b{display:block;font-size:24px;font-family:var(--serif);font-weight:450;font-variant-numeric:tabular-nums}
.zsum span{font-size:12px;color:var(--mid)}
@media(max-width:900px){.profil,.zsum{grid-template-columns:1fr 1fr}}
/* Charts */
.hchart{display:grid;gap:8px;margin-top:14px}
.hrow{display:grid;grid-template-columns:160px 1fr 74px;gap:12px;align-items:center;font-size:13.5px}
.hrow .hb{height:14px;background:var(--bg3);border-radius:999px;overflow:hidden}
.hrow .hb i{display:block;height:100%;background:var(--brand);border-radius:999px}
.hrow .hv{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--mid);font-size:12px;white-space:nowrap}
.vchart{display:flex;align-items:flex-end;gap:10px;height:170px;margin-top:18px}
.vchart>div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;height:100%}
.vchart .vb{width:100%;background:var(--brand);border-radius:4px 4px 0 0;min-height:2px}
.vchart .vl{font-family:var(--mono);font-size:10.5px;color:var(--soft);white-space:nowrap}
.vchart .vn{font-family:var(--mono);font-size:11.5px;font-weight:500}
.cmphd{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.cmphd span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmpx{border:1px solid var(--line);background:var(--paper);color:var(--mid);width:20px;height:20px;line-height:1;border-radius:999px;font-size:13px;padding:0;flex:none}
.cmpx:hover{border-color:var(--rot);color:var(--rot)}
.cmpbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 18px}
.cmpwrap{overflow:visible}
.cmphint{display:none}
.cmpchk{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--mid);cursor:pointer}
.cmpadd{border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-size:14px;max-width:300px;background:var(--paper)}
.secrow td{background:var(--bg2);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--soft);font-weight:500}
@media(max-width:900px){.dblayout,.g3,.g4,.facts,.kpi{grid-template-columns:1fr}.filters{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--line2)}section{padding:32px 20px}h1{font-size:32px}#home>section:first-child h1{font-size:36px}}
.shell .shell{max-width:none;margin:0;border:0;min-height:0;background:transparent;box-shadow:none}
.ph{background:var(--bg2);border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;color:var(--soft);font-size:12px;border-radius:8px;text-align:center;padding:10px}
.split{display:grid;grid-template-columns:1.35fr 1fr;gap:38px;align-items:start}
.g5{grid-template-columns:repeat(5,1fr)}
.card.click{cursor:pointer;transition:border-color .15s,transform .15s}
.card.click:hover{border-color:var(--brand);transform:translateY(-1px)}
.searchbar{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin-bottom:12px;background:var(--paper)}
.searchbar:focus-within{border-color:var(--brand)}
.searchbar input{border:0;padding:12px 18px;flex:1;outline:none;background:transparent}
.searchbar button{border:0;background:var(--brand);color:#fff;padding:0 22px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13.5px;color:var(--mid);cursor:pointer;text-decoration:none;background:var(--paper)}
.chip:hover{border-color:var(--brand);color:var(--brand)}
.chip.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.kick{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--kick);display:block;margin:0 0 10px;font-weight:500}
section.alt{background:var(--bg2)}
section.alt .card{background:var(--paper)}
section.alt .card.mut{background:var(--paper);border-color:var(--line2)}
.whead{display:flex;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:22px}
.wnum{font-family:var(--serif);font-size:48px;line-height:.9;color:var(--brand2);min-width:60px}
.whead h2{margin:0 0 4px}
.wlvl{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--soft);margin:0}
#knowledge section{border-bottom:10px solid var(--bg2)}
details.profi{border:1px solid var(--line2);border-radius:10px;background:var(--paper);margin-top:24px;overflow:hidden}
details.profi summary{cursor:pointer;padding:13px 18px;font-weight:600;font-size:13.5px;color:var(--brand);list-style:none;background:var(--tint);display:flex;align-items:center;gap:11px}
details.profi summary::-webkit-details-marker{display:none}
details.profi summary::before{content:'+';font-family:var(--mono);font-size:15px;border:1px solid var(--brand);border-radius:999px;width:20px;height:20px;line-height:18px;text-align:center;flex:none}
details.profi[open] summary::before{content:'\2013'}
details.profi .pin{padding:6px 20px 16px}
details.profi .pin p{font-size:13.5px;color:var(--mid);line-height:1.62;margin:10px 0}
details.profi .pin b{color:var(--ink)}
.crumb{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--soft);margin-bottom:12px}.crumb u{cursor:pointer;text-decoration:none;border-bottom:1px solid var(--line)}
.btn.full{width:100%}
.wizard-dots{display:flex;gap:6px;align-items:center;margin-bottom:16px}
.wizard-dots i{width:30px;height:3px;background:var(--bg3);display:block;border-radius:999px}
.wizard-dots i.on{background:var(--brand2)}
.paywall{position:relative}
.paywall .veil{position:absolute;inset:0;background:linear-gradient(rgba(255,253,250,.2),rgba(255,253,250,.97) 62%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:14px}
.mobile{width:308px;border:9px solid var(--brand-d);border-radius:26px;overflow:hidden;background:var(--paper)}
.mobile .mh{padding:11px 13px;border-bottom:1px solid var(--line2);display:flex;justify-content:space-between;font-size:12.5px}
footer.site{padding:26px 40px 34px;border-top:1px solid var(--line2);background:var(--brand);color:#9dc0ba;font-size:13px;display:flex;gap:22px;flex-wrap:wrap;align-items:center}
footer.site b{color:#fff}
footer.site a{cursor:pointer;text-decoration:none;color:#bcd3ce;border-bottom:1px solid rgba(255,255,255,.25)}
footer.site a:hover{color:#fff}
@media(max-width:900px){.split,.g5{grid-template-columns:1fr}}
@media(max-width:1120px){nav.main{gap:14px;font-size:13px}header.site{padding:0 20px;gap:16px}}
.mobile .searchbar button{padding:0 13px}
.mobile .searchbar input{padding:10px 13px}
/* Fonds-Detailseite v4 */
#detailBody h2{font-size:23px;margin:0 0 8px}
.hnum{font-family:var(--mono);font-size:11.5px;color:var(--brand2);font-weight:500;letter-spacing:.08em;margin-right:10px;vertical-align:4px}
.dnav a.on{color:var(--brand);border-bottom-color:var(--brand2);font-weight:500}
.secintro{font-size:13.5px;color:var(--mid);line-height:1.62;margin:0 0 18px;max-width:72ch}
section.alt table.plain th{background:transparent}
.dhead{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.facts.f6{grid-template-columns:repeat(6,1fr)}
.facts.f7{grid-template-columns:repeat(7,1fr)}
.facts.f8{grid-template-columns:repeat(4,1fr)}
.dnav{position:sticky;top:var(--hdr);z-index:30;background:color-mix(in oklab,var(--paper) 92%,transparent);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line2);display:flex;gap:2px;padding:0 32px;overflow-x:auto;scrollbar-width:none}
.dnav::-webkit-scrollbar{display:none}
.dnav a{white-space:nowrap;padding:12px 12px;font-size:13.5px;color:var(--mid);cursor:pointer;border-bottom:2px solid transparent}
.dnav a:hover{color:var(--brand);border-color:var(--brand2)}
/* Auf den geernteten Seiten liegen die Abschnitte in #inhalt, nicht in #detail -
   die Regel darueber traf sie nie, scroll-margin-top war 0. Ein Klick auf einen
   Reiter legte die Ueberschrift deshalb hinter Kopf und Reiterleiste. Seit die
   Leiste auch mobil klebt, waeren das 115px verdeckter Text. Direkte Kinder,
   damit die Anwendung (#detail) ihren eigenen Wert behaelt. */
#inhalt>section{scroll-margin-top:calc(var(--hdr) + 56px)}
#detail section{scroll-margin-top:calc(var(--hdr) + 48px)}
.ncbox{border:1px solid var(--line2);border-radius:12px;background:var(--paper);padding:16px 16px 8px;margin-top:14px}
.nchead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.ncbtns{display:flex;gap:6px;flex-wrap:wrap}
.ncbtns .chip{padding:3px 12px;font-size:12px;font-family:var(--mono)}
.ncnow{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:0 2px 6px}
.ncnow b{font-family:var(--serif);font-weight:450;font-size:29px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ncnow span{font-family:var(--mono);font-size:11px;color:var(--soft);text-transform:uppercase;letter-spacing:.06em}
.nclegend{display:flex;gap:18px;flex-wrap:wrap;font-size:11.5px;color:var(--mid);padding:0 2px 7px}
.nclegend i{display:inline-block;width:22px;height:0;border-top:2px solid var(--brand);margin-right:6px;vertical-align:middle}
.nclegend i.l2{border-top:2px dashed var(--gelb)}
.ncsvg{position:relative}
.ncsvg svg{display:block;width:100%;height:auto;cursor:crosshair}
.nctip{position:absolute;pointer-events:none;background:var(--brand-d);color:#fff;font-family:var(--mono);font-size:11px;padding:5px 9px;border-radius:6px;transform:translate(-50%,-135%);white-space:nowrap;display:none;z-index:5}
.nctip b{color:#fff;font-weight:500}
.ncmeta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line2);margin-top:8px;padding:8px 2px 4px;font-size:11.5px;color:var(--soft)}
.sri{display:inline-flex;gap:3px;vertical-align:-1px}
.sri i{width:17px;height:9px;border-radius:2px;background:var(--bg3);display:block}
.sri i.on{background:var(--brand)}
@media(max-width:1100px){.facts.f6{grid-template-columns:repeat(3,1fr)}.facts.f7,.facts.f8{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){.facts.f6,.facts.f7,.facts.f8{grid-template-columns:repeat(2,1fr)}.dnav{padding:0 16px}
 .resbar>div{flex-wrap:wrap;min-width:0}
 #q{width:100%!important;min-width:0}
 .resbar{margin-bottom:10px}}
@media(max-width:900px){.grid.g2{grid-template-columns:1fr}}


/*IXSEKTION*/
.ixwrap{--ixc:#2a78d6;border:1px solid var(--line2);border-radius:12px;background:var(--paper);overflow:hidden;margin-top:18px}
.ixtabsw{position:relative}
.ixtabsw::after{content:"";position:absolute;top:0;right:0;bottom:1px;width:26px;pointer-events:none;background:linear-gradient(to right,rgba(246,244,239,0),var(--bg2));opacity:0}
@media (max-width:700px){.ixtabsw::after{opacity:1}}
.ixtabs{display:flex;border-bottom:1px solid var(--line2);background:var(--bg2);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ixtabs::-webkit-scrollbar{display:none}
.ixtabs button{flex:none;display:flex;align-items:center;gap:8px;padding:12px 17px;border:0;border-right:1px solid var(--line2);background:none;font:500 14px/1.15 var(--sans);color:var(--mid);white-space:nowrap}
.ixtabs button:last-child{border-right:0}
.ixtabs button:hover{color:var(--ink)}
.ixtabs button[aria-selected="true"]{background:var(--paper);color:var(--ink);box-shadow:inset 0 -2px 0 var(--ixc)}
.ixtabs i{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.ixkpi{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line2)}
.ixkpi>div{padding:15px 17px;border-right:1px solid var(--line2)}
.ixkpi>div:last-child{border-right:0}
.ixkpi h4{margin:0 0 7px;font:500 12px/1.3 var(--sans);color:var(--mid)}
.ixkpi b{display:block;font:450 31px/1.02 var(--serif);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.ixkpi span{display:block;margin-top:5px;font:400 12px/1.4 var(--sans);color:var(--soft)}
.ixplot{position:relative;padding:15px 17px 10px}
.ixhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:3px}
.ixhead h3{margin:0;font:450 18px/1.25 var(--serif);letter-spacing:-.01em}
.ixsub{margin:0 0 9px;font:400 12px/1.5 var(--sans);color:var(--soft)}
.ixseg{display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;flex:none}
.ixseg button{border:0;background:none;padding:5px 13px;font:500 12px/1.5 var(--sans);color:var(--mid)}
.ixseg button+button{border-left:1px solid var(--line)}
.ixseg button[aria-pressed="true"]{background:var(--tint);color:var(--brand)}
.ixleg{display:flex;flex-wrap:wrap;gap:5px 16px;margin:0 0 4px;font:400 12px/1.5 var(--sans);color:var(--mid)}
.ixleg span{display:inline-flex;align-items:center;gap:6px}
.ixsvg{display:block;width:100%;height:auto;touch-action:pan-y;outline:none}
.ixsvg:focus-visible{outline:2px solid var(--brand2);outline-offset:2px;border-radius:4px}
.ixtip{position:absolute;pointer-events:none;opacity:0;transition:opacity .1s;background:var(--ink);color:#fff;border-radius:7px;padding:7px 10px;font:400 12px/1.6 var(--sans);white-space:nowrap;z-index:5;box-shadow:0 6px 20px -8px rgba(0,0,0,.55)}
.ixtip b{font-weight:600;font-variant-numeric:tabular-nums}
.ixtip em{font-style:normal;opacity:.6}
.ixtip i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:1px}
.ixfoot{margin:0;padding:9px 17px 12px;border-top:1px solid var(--line2);font:400 11.5px/1.55 var(--sans);color:var(--soft)}
.ixmehr{color:var(--mid);white-space:nowrap}
.ixmehr::before{content:"\00b7";margin:0 6px 0 2px;color:var(--line);text-decoration:none;display:inline-block}
.ixmehr:hover{color:var(--brand)}
@media (max-width:860px){
 .ixkpi{grid-template-columns:repeat(2,1fr)}
 .ixkpi>div{border-bottom:1px solid var(--line2)}
 .ixkpi>div:nth-child(2){border-right:0}
 .ixkpi>div:nth-child(3),.ixkpi>div:nth-child(4){border-bottom:0}
 .ixkpi b{font-size:26px}
 .ixplot{padding:13px 12px 8px}
 .ixfoot{padding:9px 12px 11px}
 .ixtabs button{padding:11px 13px;font-size:13px}
 .ixhead h3{font-size:16px}
}


/* Methodik-Abschnitt auf /ueber-uns/ */
#methodik-index{scroll-margin-top:80px}
#methodik-index h3{font-size:14px;letter-spacing:.01em;color:var(--brand);margin:24px 0 6px}
#methodik-index table td:first-child{white-space:nowrap;font-weight:500;vertical-align:top;width:1%}
#methodik-index .note{margin:0}
.formel{margin:10px 0 4px;padding:11px 14px;border-left:2px solid var(--brand2);background:var(--bg2);border-radius:0 7px 7px 0;font:400 13px/2 var(--mono);color:var(--ink);overflow-x:auto}
.formel span{display:block;white-space:nowrap}
.formel sub,.formel sup{font-size:11px;line-height:0}
@media (max-width:700px){
 .formel{font-size:12px;padding:10px 11px}
 #methodik-index table td:first-child{white-space:normal}
 #methodik-index h3{margin-top:20px}
}
/*/IXSEKTION*/


/* ===== Sprachumschalter ===== */
.langsw{flex:none;display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;font-family:var(--mono);font-size:11px;letter-spacing:.07em;background:var(--paper)}
.langsw button{appearance:none;border:0;background:none;font:inherit;color:var(--soft);padding:5px 9px;cursor:pointer;transition:background .15s,color .15s;line-height:1.4}
.langsw button+button{border-left:1px solid var(--line)}
.langsw button:hover:not(.on){color:var(--brand)}
.langsw button.on{background:var(--brand);color:#fff}
.langsw button:focus-visible{outline:2px solid var(--brand2);outline-offset:-2px}
@media(max-width:900px){.langsw{font-size:10px}.langsw button{padding:4px 7px}}


.wx-course{display:flex;gap:10px;align-items:center;flex-wrap:wrap;max-width:860px;margin:0 0 32px;padding:10px 12px;background:var(--bg2);border:1px solid var(--line2);border-radius:12px}
.wx-cbtn{display:inline-flex;align-items:center;gap:6px;font:500 13.5px/1 var(--sans);color:var(--mid);text-decoration:none;border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:10px 14px;white-space:nowrap;transition:border-color .15s,color .15s}
.wx-cbtn:hover{border-color:var(--brand2);color:var(--brand)}
.wx-cbtn.next{color:var(--brand);border-color:var(--brand2);font-weight:600}
.wx-cbtn.next:hover{background:var(--tint)}
.wx-cmid{display:flex;flex-direction:column;gap:6px;margin-right:auto;padding-left:6px;min-width:120px}
.wx-clabel{font:600 10.5px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--soft)}
.wx-cbar{display:flex;gap:3px;width:130px}
.wx-cbar i{height:4px;flex:1;background:var(--line);border-radius:99px}
.wx-cbar i.on{background:var(--brand2)}
.wx-cnav{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:720px){.wx-cmid{order:-1;width:100%;padding-left:2px}.wx-cnav{margin-left:auto}}
.wx-answer{border-left:3px solid var(--brand2);background:var(--tint);border-radius:0 8px 8px 0;padding:12px 16px;margin:14px 0;max-width:760px}
.wx-answer b{font:600 11.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}
.wx-answer p{margin:6px 0 0;line-height:1.55}
.wx-data{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:16px 0;max-width:560px;background:var(--paper)}
.wx-data h3{margin:0 0 4px;font-size:15px}.wx-data p{margin:0 0 8px;font-size:14px;line-height:1.5}
.wx-data-foot{color:var(--soft);font-size:12px;margin-top:10px}
.wx-dgrid{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.wx-drow{display:grid;grid-template-columns:minmax(96px,40%) 1fr 44px;gap:10px;align-items:center}
.wx-dlab{font-size:13px;color:var(--mid);line-height:1.3}
.wx-dtrack{display:block}
.wx-dbar{display:block;height:9px;background:var(--brand2);border-radius:2px 6px 6px 2px}
.wx-dbar.mut{background:var(--line)}
.wx-dval{font-size:13px;text-align:right;font-variant-numeric:tabular-nums}
.wx-fig{margin:22px 0;max-width:760px}
.wx-fig figcaption{color:var(--soft);font-size:12.5px;line-height:1.5;margin-top:10px;max-width:640px}
.wx-spek{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;max-width:760px}
.wx-szone{border:1px solid var(--line2);border-radius:10px;padding:12px 14px;background:var(--paper)}
.wx-szone i{display:block;height:5px;border-radius:99px;background:var(--brand2);margin-bottom:10px}
.wx-szone b{display:block;font-size:14px;margin-bottom:3px}
.wx-szone span{font-size:12.5px;color:var(--mid);line-height:1.45;display:block}
.wx-szone.on{border-color:var(--brand2);background:var(--tint)}
@media(max-width:640px){.wx-spek{grid-template-columns:1fr}}
.wx-ladder{display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:10px;background:var(--paper);max-width:640px;overflow:hidden}
.wx-lrow{display:grid;grid-template-columns:34px minmax(130px,36%) 1fr;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line2)}
.wx-lrow:last-child{border-bottom:0}
.wx-lnum{width:24px;height:24px;border-radius:50%;background:var(--brand2);color:#fff;font:600 12px/24px var(--sans);text-align:center}
.wx-lrow b{font-size:14px}
.wx-lnote{font-size:12.5px;color:var(--mid);line-height:1.4}
@media(max-width:560px){.wx-lrow{grid-template-columns:34px 1fr}.wx-lnote{grid-column:2}}
/* ---------- Mobile (Phone) ---------- */
.tabwrap>table{margin:0}
@media(max-width:720px){
  html,body{overflow-x:clip}
  .wx-read section>*{max-width:100%!important}
  .tabwrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-inline:0}
  /* Anbieterspalte entfaellt auf dem Phone — sie steht auf der Fondsseite */
  .tabwrap table.rows th:nth-child(2),.tabwrap table.rows td:nth-child(2){display:none}
  .tabwrap table.rows{table-layout:fixed;width:100%;font-size:13px}
  .tabwrap table.rows th,.tabwrap table.rows td{padding:10px 8px;vertical-align:top}
  /* Der Kopf klebte in der Tabelle statt am Seitenkopf. Ursache: .tabwrap ist
     mit overflow-x:auto ein Scrollkasten, und ein sticky th richtet sich dann
     nach diesem Kasten, nicht mehr nach dem Fenster. Weil der Kasten nicht
     senkrecht scrollt, parkte die Kopfzeile 66px (var(--hdr)) unter seiner
     Oberkante - also mitten in den ersten Zeilen. Auf dem Phone bringt ein
     klebender Kopf ohnehin nichts, deshalb hier fest. Dazu duerfen die
     Kopfzellen umbrechen: einzeilig zwangen sie die Tabelle 63px ueber die
     Schirmbreite, obwohl die Werte darunter viel schmaler sind. */
  .tabwrap th{position:static;white-space:normal}
  /* 49/28/23 statt 52/29/19: mit umbrechenden Koepfen passt die Tabelle damit
     genau in 320px, ohne Querscrollen. */
  .tabwrap table.rows th:nth-child(1),.tabwrap table.rows td:nth-child(1){width:49%}
  .tabwrap table.rows th:nth-child(3),.tabwrap table.rows td:nth-child(3){width:28%}
  .tabwrap table.rows th:nth-child(4),.tabwrap table.rows td:nth-child(4){width:23%}
  .tabwrap table.rows th:first-child,.tabwrap table.rows td:first-child{padding-left:0}
  .tabwrap table.rows th:last-child,.tabwrap table.rows td:last-child{padding-right:0}
  /* Wissen-Hub: Stationszeilen kompakter */
  .wx-strow{gap:12px;padding:14px 4px}
  .wnum{font-size:30px;min-width:34px;padding-top:2px}
  .wx-arrow{align-self:center;font-size:16px;color:var(--soft)}
  .wx-teaser{font-size:13.5px}
  input,select,textarea{font-size:16px}
}
.wx-double{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:760px;margin:0 0 4px}
@media(max-width:640px){.wx-double{grid-template-columns:1fr}}
.wx-card{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-decoration:none;color:var(--ink);background:var(--paper)}
.wx-card:hover{border-color:var(--brand2)}
.wx-card-k{font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--kick)}
.wx-faq{max-width:760px}
.wx-faq details{border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:8px 0;background:var(--paper)}
.wx-faq summary{cursor:pointer;font-weight:600}.wx-faq p{margin:8px 0 2px;line-height:1.55}
.wx-stand{color:var(--soft);font-size:12.5px;border-top:1px solid var(--line2);padding-top:12px;margin-top:26px;max-width:760px}
.wx-sources{max-width:760px;padding-left:20px}.wx-sources li{margin:6px 0;font-size:13.5px;line-height:1.5;color:var(--mid)}
.wx-srcnote{color:var(--soft);font-size:12.5px;margin-top:14px;max-width:760px}
.wx-srcnote a{color:var(--soft)}
.wx-cta{display:inline-flex;align-items:center;gap:8px;margin-top:14px;text-decoration:none;font-weight:600;box-shadow:0 1px 2px rgba(15,61,62,.18)}
.wx-cta:hover{box-shadow:0 2px 6px rgba(15,61,62,.24)}
.wx-morech{display:flex;gap:8px;align-items:center;flex-wrap:wrap;max-width:760px;margin:0 0 26px}
.wx-morelbl{font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-right:4px}
.profi .pin+.pin{border-top:1px solid var(--line2);margin-top:2px;padding-top:14px}
/* --- Lesetypografie und EINE durchgehende Inhaltsspalte fuer die Wissen-Rubrik --- */
.wx-read section>*{max-width:720px;margin-inline:auto!important}
.wx-read section>p:not(.sub){font-size:16px;line-height:1.65}
.wx-read section>ul:not(.wx-sources),.wx-read section>ol{font-size:16px;line-height:1.65}
.wx-read .profi .pin p{font-size:14.5px;line-height:1.62}
.wx-read .wx-sources li{font-size:14px}
.wx-read .wx-answer p{font-size:16px;line-height:1.62}
.wx-read .wx-faq p{font-size:15.5px}
.wx-read .wx-teaser{font-size:14px;line-height:1.5}
/* Verschachtelte Bausteine fuellen ihren Container, statt eigene Breiten zu setzen */
.wx-read .wx-fig figcaption,.wx-read .wx-fig svg,.wx-read .profi p,
.wx-read .wx-ladder,.wx-read .wx-spek{max-width:100%}
/* Karten-Raster: bei Lesespaltenbreite zwei statt drei/vier Spalten */
.wx-read .grid.g3,.wx-read .grid.g4{grid-template-columns:1fr 1fr}
@media(max-width:620px){.wx-read .grid.g3,.wx-read .grid.g4{grid-template-columns:1fr}}
/* Die Fondsliste ist ein eigener Datenblock: breiter als die Lesespalte, aber ebenfalls zentriert */
.wx-read section[id^="fondsliste"]>*{max-width:1040px}
.wx-read section>.wx-fig>*{margin-inline:0}
/* Vertikaler Rhythmus: Ueberschriften bekommen Luft nach oben */
.wx-read section>h2{margin-top:52px;margin-bottom:14px;line-height:1.25}
.wx-read section>h2:first-child,.wx-read section>.wx-course+h1+*+h2{margin-top:0}
.wx-read section>h1+h2,.wx-read section>p.sub+h2,.wx-read section>p.wlvl+h2{margin-top:30px}
.wx-read section>h3{display:block;font-size:18.5px;line-height:1.38;margin-top:34px;margin-bottom:10px}
.wx-read section>h2+h3{margin-top:20px}
.wx-read .grid+h2,.wx-read .grid+h3,.wx-read .steps+h2,.wx-read .steps+h3,
.wx-read .wx-data+h2,.wx-read .wx-fig+h2,.wx-read table+h2{margin-top:56px}
.wx-read .profi{margin-top:38px}
.wx-stations{display:flex;flex-direction:column;border-top:1px solid var(--line);max-width:860px}
.wx-strow{display:flex;gap:18px;align-items:flex-start;padding:16px 8px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.wx-strow:hover{background:var(--bg2)}.wx-strow .wnum{flex:0 0 auto}
.wx-stbody{display:flex;flex-direction:column;gap:2px}.wx-stbody>b{font-size:17px}
.wx-teaser{color:var(--mid);font-size:13.5px;line-height:1.45;display:block}
.wx-arrow{margin-left:auto;color:var(--soft);align-self:center}
h1{text-wrap:balance}

/* ---------- Mobile-Navigation (<=720 px) ---------- */
.navtoggle{display:none}
@media(max-width:900px){
  .langsw{font-size:12px}
  .langsw button{padding:9px 13px;min-height:44px;font-size:12px}
}
@media(max-width:720px){
  header.site{position:relative;gap:10px}
  header.site.navopen{z-index:60}
  .navtoggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
    margin-left:auto;border:1px solid var(--line);border-radius:10px;background:var(--paper);
    color:var(--brand);cursor:pointer;padding:0;flex:0 0 auto}
  .navtoggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
  .navtoggle .ic-x{display:none}
  header.site.navopen .navtoggle .ic-b{display:none}
  header.site.navopen .navtoggle .ic-x{display:block}
  nav.main{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;
    gap:0;background:var(--paper);border-bottom:1px solid var(--line);
    box-shadow:0 14px 28px -18px rgba(15,61,62,.5);padding:6px 0 10px;overflow:auto;
    max-height:calc(100dvh - var(--hdr));overscroll-behavior:contain;
    transform:translateY(-8px);opacity:0;visibility:hidden;transition:transform .18s,opacity .18s,visibility .18s;z-index:60}
  header.site.navopen nav.main{transform:translateY(0);opacity:1;visibility:visible}
  nav.main a{display:flex;align-items:center;min-height:48px;padding:0 20px;font-size:15px;border-bottom:1px solid var(--line2)}
  nav.main a:last-child{border-bottom:0}
  nav.main a.on,nav.main a.act{color:var(--brand);font-weight:600;box-shadow:inset 3px 0 0 var(--brand2)}
  .navbackdrop{position:fixed;inset:0;background:rgba(15,61,62,.35);opacity:0;visibility:hidden;
    transition:opacity .18s,visibility .18s;z-index:30}
  body.navopen .navbackdrop{opacity:1;visibility:visible}
  .langsw{margin-left:0}
  footer.site a{display:inline-block;padding:6px 0;min-height:32px}
}
@media(prefers-reduced-motion:reduce){
  nav.main,.navbackdrop{transition:none}
}

/* ---------- Fondsdatenbank mobil ---------- */
.fabfilter{display:none}
.fsheet-head{display:none}
.fsheet-apply{display:none}
@media(max-width:900px){
  #db .dblayout{display:block}
  #db .results{order:-1;padding:16px}
  #db #filters{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;margin:0;
    display:flex;flex-direction:column;
    max-height:85vh;max-height:85dvh;overflow:hidden;
    background:var(--paper);border-top:1px solid var(--line);border-radius:16px 16px 0 0;
    box-shadow:0 -18px 40px -20px rgba(15,61,62,.55);padding:0 16px;
    transform:translateY(100%);visibility:hidden;transition:transform .22s,visibility .22s;z-index:70}
  .fsheet-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;padding-bottom:8px}
  body.fopen #db #filters{transform:translateY(0);visibility:visible}
  .fsheet-head{display:flex;align-items:center;gap:10px;flex:0 0 auto;position:relative;z-index:2;
    background:var(--paper);padding:10px 0 8px;border-bottom:1px solid var(--line2)}
  .fsheet-grab{position:absolute;top:6px;left:50%;transform:translateX(-50%);width:38px;height:4px;
    border-radius:99px;background:var(--line)}
  .fsheet-head b{font-size:15px;margin-top:8px}
  .fsheet-close{margin-left:auto;margin-top:8px;border:1px solid var(--line);background:var(--paper);
    border-radius:10px;width:40px;height:40px;color:var(--mid);cursor:pointer;font-size:17px;line-height:1}
  .fsheet-apply{flex:0 0 auto;display:flex;gap:10px;align-items:center;
    background:var(--paper);border-top:1px solid var(--line2);margin:0 -16px;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
  .fsheet-apply .btn{flex:1;min-height:46px}
  /* Trefferflaeche der Vergleichs-Kaestchen: das Kaestchen selbst ist 20 px und
     damit auf dem Telefon fummelig. Die Huelle waechst auf 44 px, der negative
     Aussenabstand haelt die sichtbare Zeile unveraendert. */
  tr.row .selbox{display:inline-flex;align-items:center;justify-content:center;
    min-width:44px;min-height:44px;margin:-12px;cursor:pointer}
  .fabfilter{display:inline-flex;align-items:center;gap:8px;position:fixed;right:16px;
    bottom:calc(16px + env(safe-area-inset-bottom));z-index:55;
    border:0;border-radius:999px;background:var(--brand);color:#fff;font:600 14px/1 var(--sans);
    padding:14px 20px;box-shadow:0 8px 22px -8px rgba(15,61,62,.7);cursor:pointer}
  .fabfilter .n{background:var(--brand2);color:#04302c;border-radius:999px;padding:2px 8px;font-size:12.5px}
  body.fopen .fabfilter{display:none}
  /* Der Selektor lautete '#db .selbar' und traf nie: <div id="selbar"> haengt
     direkt am <body>, nicht in #db. Folge war, dass die Leiste (z-index 80)
     genau auf dem Filter-Knopf (z-index 55) lag und ihn unerreichbar machte,
     sobald ein Fonds ausgewaehlt war. Die Leiste erscheint ohnehin nur auf dem
     Datenbank-Schirm (updSel prueft #db.on), darum gilt die Regel unbedingt. */
  .selbar{bottom:calc(84px + env(safe-area-inset-bottom))}
  #db .fg h4{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:48px;margin:0;
    border-bottom:1px solid var(--line2)}
  #db .fg h4::after{content:'+';margin-left:auto;font:400 18px/1 var(--mono);color:var(--soft)}
  #db .fg.open h4::after{content:'–'}
  #db .fg:not(.open)>*:not(h4){display:none}
  #db .fg label{min-height:44px;display:flex;align-items:center;gap:9px}
  #db .fg .fgn{background:var(--tint);color:var(--brand);border-radius:99px;padding:1px 7px;font-size:11.5px}
  #db #q{font-size:16px!important;width:100%}
  #db .resbar{gap:10px}
  #db .resbar>div:last-child{flex-wrap:wrap;width:100%}
  #db #sort{font-size:16px!important;flex:1}
}
@media(max-width:720px){
  /* Ergebnistabelle wird zur Kartenliste */
  #db .tblwrap{max-height:none;overflow:visible;margin:0}
  #db .results table,#db .results tbody{display:block;width:100%}
  #db .results thead{display:none}
  #db .results tr.row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;
    border:1px solid var(--line2);border-radius:12px;padding:14px;margin:0 0 10px;
    background:var(--paper);content-visibility:auto;contain-intrinsic-size:auto 210px}
  #db .results tr.row td{display:block;border:0;padding:0;white-space:normal}
  #db .results tr.row td:nth-child(2){grid-area:1/1;min-width:0;font-size:15.5px}
  #db .results tr.row td:nth-child(1){grid-area:1/2;justify-self:end}
  #db .results tr.row td:nth-child(1) input{width:20px;height:20px}
  #db .results tr.row td:nth-child(3){grid-area:2/1/2/-1;max-width:none;margin:6px 0 8px}
  #db .results tr.row td:nth-child(n+4){grid-column:1/-1;display:flex;justify-content:space-between;
    gap:12px;font-size:13.5px;padding:5px 0;border-top:1px solid var(--line2)}
  #db .results tr.row td:nth-child(n+4)::before{content:attr(data-l);color:var(--mid);flex:0 0 auto}
  #db .results tr.row td.num{text-align:right}
  #db .results .fname{font-weight:600}
}

@media(max-width:720px){
  /* Umbrochen brauchten die sieben Reiter 836px und damit drei Zeilen (149px);
     sie scrollten ausserdem weg, weil position:relative das sticky der
     Grundregel aufhob. Jetzt eine einzelne, waagerecht wischbare Zeile, die
     wie am Schreibtisch unter dem Kopf kleben bleibt - 49px statt 149px. Der
     angeschnittene Reiter am rechten Rand ist der Hinweis, dass es weitergeht. */
  .dnav{flex-wrap:nowrap;scroll-padding-inline:16px;-webkit-overflow-scrolling:touch}
  .dnav a{min-height:44px;display:inline-flex;align-items:center;flex:0 0 auto}
  .kpi b,.facts b,.kpi span{hyphens:auto;overflow-wrap:break-word;-webkit-hyphens:auto}
  .chip,.tag{min-height:32px;display:inline-flex;align-items:center}
  .btn{min-height:44px}
  .btn.sm{min-height:38px}
  /* Der Inhalt brauchte 379px in einer 366px breiten Leiste - der gruene Knopf
     stand 4px ueber die abgerundete Kante hinaus. Der Zaehltext schrumpft jetzt
     als einziger mit und kuerzt notfalls ab; die Knoepfe behalten ihre Groesse.
     Der Hinweis "mehr als vier" bekommt bei Bedarf eine eigene Zeile. */
  .selbar{left:12px;right:12px;transform:none;justify-content:space-between;
    flex-wrap:wrap;gap:8px;padding:9px 9px 9px 14px}
  .selbar .btn.sm{padding-left:11px;padding-right:11px}
  /* "3 Fonds ausgewaehlt" braucht 137px; zusammen mit den beiden Knoepfen sind
     das 361px und damit unter 385px Schirmbreite zwei Zeilen. Das Wort traegt
     nichts bei - daneben steht "Leeren", die Zahl steht davor. Ohne es passt
     die Leiste ab 300px in eine Zeile. */
  .selbar .selw{display:none}
  .selbar>span:first-child{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .selbar .selvoll{flex:1 1 100%;order:-1;white-space:normal;line-height:1.35}
  .selbar .btn{flex:0 0 auto}
  .searchbar input{font-size:16px!important}
  input[type=email],input[type=text],select,textarea{font-size:16px!important}
  /* Die Vergleichstabelle war bei 390px unlesbar: table-layout:fixed liess der
     Merkmalsspalte ihre 200px und teilte den Rest auf die Fondsspalten auf -
     je 50px, der Text lag uebereinander. Jetzt echte Spaltenbreiten in einem
     waagerecht wischbaren Kasten, die Merkmalsspalte klebt links, damit jede
     Zeile zuzuordnen bleibt. Preis: der Tabellenkopf kann in einem Scrollkasten
     nicht mehr am Seitenkopf kleben, die Fondsnamen scrollen oben mit weg. */
  .cmpwrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;scrollbar-width:none}
  .cmpwrap::-webkit-scrollbar{display:none}
  .cmp{table-layout:auto;width:auto;min-width:100%}
  /* Fuenf deutsche Bezeichnungen sind Komposita ohne Leerzeichen und liefen
     aus der Zelle in die Wertspalte ("Rücknahmefrequenz" braucht 127px, da
     sind 94). Sie tragen in der Vergleichsliste jetzt weiche Trennstellen.
     break-word ist das Netz darunter: lieber ein harter Umbruch als Text,
     der sich mit der Nachbarspalte ueberlagert. */
  .cmp tr td:first-child,.cmp thead th:first-child{width:118px;min-width:118px;max-width:118px}
  .cmp tr td:first-child{overflow-wrap:break-word}
  .cmp thead th:not(:first-child),.cmp tbody td:not(:first-child){min-width:172px;scroll-snap-align:start}
  .cmp thead th{top:auto}
  .cmp tbody tr.secrow td>span{position:sticky;left:12px;display:inline-block}
  .cmphd{justify-content:flex-start;gap:6px}
  .cmphd span{flex:0 1 auto}
  .cmp td,.cmp th{padding:10px 12px}
  .cmphd span{white-space:normal;overflow:visible;text-overflow:clip}
  .cmphint{display:block;margin:0 0 8px}
}

#about .abgrid{grid-template-columns:1.55fr 1fr 1fr}
@media(max-width:900px){#about .abgrid{grid-template-columns:1fr}}
.ab-li{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font:500 13px/1 var(--sans);color:var(--brand);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:7px 13px;background:var(--paper);transition:border-color .15s,background .15s}
.ab-li:hover{border-color:var(--brand2);background:var(--tint)}
.ab-li svg{width:15px;height:15px;fill:currentColor;flex:0 0 auto}

.wx-strow{cursor:pointer}


/* ===== Sichtbarer Fokus fuer Tastaturbedienung ===== */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid var(--brand2,#17b0a4);outline-offset:2px;border-radius:2px}
.skiplink{position:absolute;left:-9999px;top:0;z-index:999;background:var(--ink,#0f3d3e);
  color:#fff;padding:10px 16px;font-size:14px;text-decoration:none}
.skiplink:focus{left:8px;top:8px}
nav.main a[aria-current="page"]{font-weight:600}
/* Tabellenkoepfe sind nicht anklickbar - sortiert wird ueber das Auswahlfeld */
table th{cursor:default}

/* ===== Risikohinweise ===== */
ul.risk{margin:10px 0 0;padding:0;list-style:none;max-width:760px}
ul.risk li{padding:9px 0 9px 15px;border-left:2px solid var(--line);margin-bottom:2px;font-size:14px;line-height:1.62}

/* ===== Newsletter-Band ===== */
.nlband{background:var(--brand-d);color:#eaf3f1;border-bottom:0;padding:40px}
.nlwrap{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.nlcopy h2{font-family:var(--serif);font-weight:450;font-size:30px;line-height:1.24;letter-spacing:-.01em;color:#fff;margin:0 0 10px}
.nlcopy p{margin:0 0 10px;font-size:15px;line-height:1.62;color:#c3d9d5;max-width:46ch}
.nlband .kick{color:var(--brand2)}
.nlmeta{font-size:13px!important;color:#8fb0ab!important}
.nlform{display:grid;gap:10px}
.nlrow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nlfield{display:grid;gap:5px}
.nlfield>span{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:#8fb0ab}
.nlform input[type=email],.nlform select{
  width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,.22);border-radius:8px;
  background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:15px;appearance:none}
.nlform select{background-image:linear-gradient(45deg,transparent 50%,#8fb0ab 50%),linear-gradient(135deg,#8fb0ab 50%,transparent 50%);background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}
.nlform select option{background:var(--brand-d);color:#fff}
.nlform input[type=email]::placeholder{color:#7fa19c}
.nlform input[type=email]:focus,.nlform select:focus{outline:2px solid var(--brand2);outline-offset:1px;border-color:transparent}
.nlform input[type=email][aria-invalid=true]{border-color:#e2857c}
.nlconsent{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.55;color:#c3d9d5;cursor:pointer;margin-top:2px}
.nlconsent input{margin:3px 0 0;flex:0 0 auto;width:15px;height:15px;accent-color:var(--brand2)}
.nllink{background:none;border:0;padding:0;font:inherit;color:#fff;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.nllink:hover{color:var(--brand2)}
.nlbtn{border:1px solid var(--brand2);background:var(--brand2);color:#04302c;padding:11px 18px;border-radius:999px;
  font:inherit;font-size:15px;font-weight:500;cursor:pointer;justify-self:start;transition:background .15s,opacity .15s}
.nlbtn:hover:not(:disabled){background:#14c9ba;border-color:#14c9ba}
.nlbtn:disabled{opacity:.55;cursor:progress}
.nlstatus{font-size:13.5px;line-height:1.55;margin:0;min-height:0}
.nlstatus.err{color:#f0a49c}
.nlstatus.ok{color:#7fe3d6}
.nlhp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nldone{background:rgba(23,176,164,.12);border:1px solid rgba(23,176,164,.4);border-radius:10px;padding:16px 18px}
.nldone b{color:#fff;display:block;margin-bottom:5px;font-size:15px}
.nldone p{margin:0;font-size:13.5px;color:#c3d9d5;max-width:none}
.nlflash{background:var(--brand2);color:#04302c;padding:11px 40px;font-size:14px;text-align:center}
@media(max-width:900px){
  .nlband{padding:32px 20px}
  .nlwrap{grid-template-columns:1fr;gap:24px}
  .nlrow{grid-template-columns:1fr}
  .nlcopy h2{font-size:25px}
  .nlbtn{justify-self:stretch;text-align:center}
}
