/* Grundlagen. Werte 1:1 aus WCMB v2.2 (components.css der Lieferung). */
html{font-size:100%}
body{margin:0}
.wcmb,body{font-family:var(--wcmb-font-sans);color:var(--wcmb-text);background:var(--wcmb-canvas);font-size:16px;line-height:1.6;font-synthesis:none;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
:where(h1,h2,h3,h4,p,figure){margin:0}
:where(h1,h2,h3,h4){font-weight:500;text-wrap:balance;overflow-wrap:break-word}
:where(b,strong){font-weight:600}
:where(button,input,select,textarea){font:inherit}
a{color:var(--wcmb-link);text-underline-offset:4px;text-decoration-thickness:1px;overflow-wrap:anywhere}
/* Nur echte Textlinks: Hover verstaerkt die Unterstreichung und aendert die Farbe nicht.
   Als <a href> gerenderte Buttons sind ausgenommen, ihre Textfarbe ist rollenfest. */
a:not(.w-button):hover{text-decoration-thickness:2px}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--wcmb-control-focus-width) solid var(--wcmb-focus);outline-offset:var(--wcmb-control-focus-offset)}
[data-surface]{background:var(--wcmb-canvas);color:var(--wcmb-text)}
::selection{background:var(--wcmb-selection);color:var(--wcmb-text)}

/* Typografie-Rollen */
.w-display{font-size:var(--wcmb-fs-display);line-height:var(--wcmb-type-display-line-height);font-weight:var(--wcmb-type-display-weight);letter-spacing:var(--wcmb-type-display-tracking)}
h1,.w-h1{font-size:var(--wcmb-fs-h1);line-height:var(--wcmb-type-h1-line-height);font-weight:var(--wcmb-type-h1-weight);letter-spacing:var(--wcmb-type-h1-tracking)}
h2,.w-h2{font-size:var(--wcmb-fs-h2);line-height:var(--wcmb-type-h2-line-height);font-weight:var(--wcmb-type-h2-weight);letter-spacing:var(--wcmb-type-h2-tracking)}
h3,.w-h3{font-size:var(--wcmb-fs-h3);line-height:var(--wcmb-type-h3-line-height);font-weight:var(--wcmb-type-h3-weight);letter-spacing:var(--wcmb-type-h3-tracking)}
h4,.w-h4{font-size:var(--wcmb-fs-h4);line-height:var(--wcmb-type-h4-line-height);font-weight:var(--wcmb-type-h4-weight);letter-spacing:var(--wcmb-type-h4-tracking)}
.w-lead{font-size:var(--wcmb-fs-lead);line-height:var(--wcmb-type-lead-line-height);font-weight:var(--wcmb-type-lead-weight);letter-spacing:var(--wcmb-type-lead-tracking);max-width:var(--wcmb-layout-reading)}
.w-body{font-size:var(--wcmb-fs-body);line-height:var(--wcmb-type-body-line-height);font-weight:var(--wcmb-type-body-weight);letter-spacing:var(--wcmb-type-body-tracking);max-width:var(--wcmb-layout-reading)}
.w-ui{font-size:var(--wcmb-fs-ui);line-height:var(--wcmb-type-ui-line-height);font-weight:var(--wcmb-type-ui-weight);letter-spacing:var(--wcmb-type-ui-tracking)}
.w-small{font-size:var(--wcmb-fs-small);line-height:var(--wcmb-type-small-line-height);font-weight:var(--wcmb-type-small-weight);letter-spacing:var(--wcmb-type-small-tracking)}
.w-label{font-size:13px;font-weight:500;line-height:1.4;color:var(--wcmb-label)}
.w-eyebrow{font-size:14px;font-weight:500;letter-spacing:0;color:var(--wcmb-link)}
.w-muted{color:var(--wcmb-muted)}
.w-mono{font-family:var(--wcmb-font-mono);font-variant-numeric:tabular-nums lining-nums;letter-spacing:0}
.w-kpi{font-family:var(--wcmb-font-mono);font-size:var(--wcmb-fs-kpi);line-height:var(--wcmb-type-kpi-line-height);font-weight:var(--wcmb-type-kpi-weight);letter-spacing:var(--wcmb-type-kpi-tracking);font-variant-numeric:tabular-nums lining-nums;color:var(--wcmb-kpi)}
.w-kpi-group-value{font-family:var(--wcmb-font-mono);font-size:var(--wcmb-fs-kpi-group);line-height:var(--wcmb-type-kpi-group-line-height);font-weight:var(--wcmb-type-kpi-group-weight);letter-spacing:var(--wcmb-type-kpi-group-tracking);font-variant-numeric:tabular-nums lining-nums}
.w-data,.w-ui-value{font-family:var(--wcmb-font-mono);font-size:var(--wcmb-fs-data);line-height:var(--wcmb-type-data-line-height);font-weight:400;letter-spacing:0;font-variant-numeric:tabular-nums lining-nums}

/* Layout — mobile first: Basisregeln gelten fuer die kleinste Breite,
   Erweiterungen ausschliesslich ueber min-width. Referenzbreite der Pruefung: 320 px. */
html,body{overflow-x:hidden}
img,svg,video,table{max-width:100%}
.w-container{width:min(var(--wcmb-layout-max),calc(100% - 2 * var(--wcmb-layout-gutter-mobile)));margin-inline:auto}
.w-section{padding-block:var(--wcmb-layout-section-mobile)}
.w-band{background:var(--wcmb-band)}
/* Lesebreite (2.2.4): ch loest am Element auf, das max-width traegt. Wrapper geben die Grenze an ihre Textkinder ab. */
.w-reading{max-width:var(--wcmb-layout-reading)}
.w-reading:has(> :is(p,h1,h2,h3,h4,ul,ol,blockquote)){max-width:none}
.w-reading > :is(p,ul,ol,blockquote){max-width:var(--wcmb-layout-reading)}
/* Ueberschriften (2.2.5): feste Grenze in rem, nicht ch — Umbruch wie vor 2.2.4 */
.w-reading > :is(h1,h2,h3,h4),:is(h1,h2,h3,h4).w-reading{max-width:var(--wcmb-layout-heading)}
.w-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.w-grid{display:grid;grid-template-columns:1fr;gap:24px}
.w-rule{border:0;border-top:1px solid var(--wcmb-line);margin:24px 0}
@media(min-width:768px){.w-container{width:min(var(--wcmb-layout-max),calc(100% - 2 * var(--wcmb-layout-gutter-tablet)))}.w-section{padding-block:var(--wcmb-layout-section-tablet)}.w-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1200px){.w-container{width:min(var(--wcmb-layout-max),calc(100% - 2 * var(--wcmb-layout-gutter-desktop)))}.w-section{padding-block:var(--wcmb-layout-section-desktop)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
