/* Kerstin Serr - gemeinsamer Seitenrahmen und Schriften.
   Wird in jeder Seite NACH dem seiteneigenen <style> eingebunden;
   die Kaskadenreihenfolge des Ursprungsstands bleibt damit erhalten. */
@font-face{font-family:"KSSerif";src:url("fonts/ks-serif-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"KSSerif";src:url("fonts/ks-serif-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"KSSans";src:url("fonts/ks-sans-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"KSSans";src:url("fonts/ks-sans-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"KSSans";src:url("fonts/ks-sans-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"KSSerif";src:url("fonts/ks-serif-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

/* Gemeinsamer Seitenrahmen. Originales Logo-Lock-up unverändert.
   Phi ordnet die Hauptflächen; Reflow und lesbare Zeilen haben Vorrang. */
:root{
 --ks-ivory:#F5F1E9;--ks-linen:#DED7CC;--ks-sage:#A3B8B0;--ks-green:#27433B;
 --ks-ink:#1E2623;--ks-mulberry:#7B3A54;--ks-secondary:#4E5B55;
 --ks-line:#5F6F67;--ks-phi:1.61803398875;--ks-max:1120px;
 --ks-header:123px;--ks-gutter:clamp(16px,3.4vw,34px);
 --ks-space-1:13px;--ks-space-2:21px;--ks-space-3:34px;--ks-space-4:55px;--ks-space-5:89px;
 /* Schriftgradreihe, Wurzel-Phi (1.272). Einzige Quelle fuer alle Seiten. */
 --ks-t-mikro:13.4px;--ks-t-basis:17px;--ks-t-lead:21.6px;--ks-t-h3:27.5px;
 --ks-t-h2:35px;--ks-t-h1:44.5px;--ks-t-display:56.6px;
 --ks-t-display-l:72px;--ks-t-display-xl:91.6px;
 --ks-ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--ks-header) + 21px)}
body{margin:0;min-width:0;background:var(--ks-ivory);color:var(--ks-ink);font-family:KSSans,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.618;font-synthesis:none;-webkit-font-smoothing:antialiased}
body:has(.ks-header){min-height:100svh}
::selection{background:var(--ks-linen);color:var(--ks-ink)}
button,input,textarea,select{font:inherit}
button{cursor:pointer}button:disabled{cursor:wait}
img,svg{max-width:100%}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--ks-green);outline-offset:4px}
.ks-top-anchor{height:0;scroll-margin:0}
.ks-shell{width:min(var(--ks-max),calc(100% - 2*var(--ks-gutter)));margin-inline:auto;min-width:0}
.sr-only,.ks-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.ks-optional{font-weight:400;color:var(--ks-secondary)}
.ks-skip{position:fixed;z-index:999;inset:13px auto auto 13px;padding:13px 21px;background:var(--ks-green);color:var(--ks-ivory);border-radius:999px;transform:translateY(-200%);font:600 13.4px KSSans,sans-serif;text-decoration:none}
.ks-skip:focus{transform:none;color:var(--ks-ivory);outline-color:var(--ks-mulberry)}
.ks-header{position:sticky;top:0;z-index:40;background:rgba(245,241,233,.96);border-bottom:1px solid rgba(39,67,59,.12)}
.ks-header-inner{min-height:var(--ks-header);display:flex;align-items:center;justify-content:space-between;gap:21px;padding-block:8px}
.ks-brand{display:inline-flex;align-items:center;justify-content:flex-start;flex:0 0 auto;line-height:1;padding:0;border:0;text-decoration:none;min-height:44px}
.ks-brand img{display:block;width:127px;height:auto}
.ks-header-nav{display:flex;min-width:0;align-items:center;font:600 13.4px/1.4 KSSans,sans-serif}
.ks-header-nav a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:var(--ks-green);text-decoration:none;padding:8px 0;white-space:nowrap}
.ks-header-nav a:hover{color:var(--ks-mulberry);text-decoration:underline;text-underline-offset:5px}
.ks-header-nav svg{flex:0 0 16px;display:block}
.ks-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 21px;font:400 13.4px/1.5 KSSans,sans-serif;color:var(--ks-secondary)}
.ks-breadcrumb a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ks-green);text-decoration:none}
.ks-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.ks-breadcrumb .ks-sep{color:var(--ks-secondary)}
.ks-footer{background:var(--ks-ivory);color:var(--ks-secondary);padding:0;font:400 13.4px/1.5 KSSans,sans-serif;clear:both}
.ks-footer .ks-shell{border-top:1px solid rgba(39,67,59,.16);padding-block:13px max(21px,env(safe-area-inset-bottom))}
.ks-footer-nav{display:flex;flex-wrap:wrap;align-items:center;gap:0 21px;margin:0;padding:0 0 8px}
.ks-footer-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;color:var(--ks-secondary);text-decoration:none;font:400 13.4px/1.5 KSSans,sans-serif;overflow-wrap:anywhere}
.ks-footer-nav a:hover,.ks-footer-nav a:focus-visible{color:var(--ks-green);text-decoration:underline;text-underline-offset:4px}
.ks-footer-nav [aria-current="page"]{color:var(--ks-green);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.ks-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px 21px;flex-wrap:wrap;min-height:44px}
.ks-copyright{display:flex;align-items:center;gap:13px;min-width:0;margin:0!important;font:400 13.4px/1.5 KSSans,sans-serif}
.ks-copyright img{display:block;flex:0 0 24px;width:24px;height:24px}
.ks-backtop{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-height:44px;text-decoration:none;color:var(--ks-green);font:500 13.4px/1.5 KSSans,sans-serif;white-space:nowrap}
.ks-backtop svg{flex:0 0 14px}
.ks-backtop:hover{text-decoration:underline;text-underline-offset:4px}
.ks-settings{width:min(560px,calc(100vw - 32px));max-height:calc(100svh - 42px);overflow:auto;border:0;border-radius:21px;background:var(--ks-ivory);color:var(--ks-ink);padding:0;box-shadow:none}
.ks-settings::backdrop{background:rgba(30,38,35,.52)}
.ks-dialog-inner{padding:clamp(21px,5vw,34px)}
.ks-kicker{margin:0 0 13px;font:600 13.4px/1.5 KSSans,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ks-green)}
.ks-settings h2{margin:0 0 21px;font:500 clamp(27.5px,5vw,35px)/1.2 KSSerif,serif;color:var(--ks-green)}
.ks-settings p{margin:13px 0;font:400 17px/1.618 KSSans,sans-serif}
.ks-settings a{color:var(--ks-mulberry);text-decoration:underline;text-underline-offset:3px}
.ks-settings form{margin-top:21px}
.ks-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:13px 26px;border:0;border-radius:999px;background:var(--ks-green);color:var(--ks-ivory);font:600 17px/1.4 KSSans,sans-serif;text-decoration:none;max-width:100%;white-space:normal}
.ks-button:hover{background:var(--ks-ink);color:var(--ks-ivory)}
.ks-button:disabled{opacity:.6}
.ks-button--light{background:var(--ks-ivory);color:var(--ks-green)}
.ks-button--light:hover{background:var(--ks-linen);color:var(--ks-ink)}
.ks-inline-note{font:400 13.4px/1.55 KSSans,sans-serif;color:var(--ks-secondary)}
.ks-tools{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin-top:21px}
.ks-text-button{border:0;background:transparent;padding:8px 0;min-height:44px;font:500 13.4px/1.5 KSSans,sans-serif;color:var(--ks-green);text-decoration:underline;text-underline-offset:4px}
.ks-toc-native{min-width:0}
.ks-toc-native>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:13px;font:600 13.4px/1.4 KSSans,sans-serif;color:var(--ks-green);list-style:none;padding:8px 0}
.ks-toc-native>summary::-webkit-details-marker{display:none}
.ks-toc-native>summary::after{content:'+';font-size:21.6px;font-weight:400;line-height:1}
.ks-toc-native[open]>summary::after{content:'−'}
.ks-toc-native>summary:focus-visible{outline-color:var(--ks-green)}
.ks-toc-native ol{margin-top:8px!important}
.ks-toc-native a{min-height:44px!important}
.ks-notice{padding:21px;background:var(--ks-linen);border-radius:13px;margin-top:21px}
.ks-notice p{margin:0!important}
.ks-noscript{max-width:70ch;margin:21px auto;padding:21px;background:var(--ks-linen);color:var(--ks-ink);font:400 17px/1.6 KSSans,sans-serif}
.ks-noscript a{color:var(--ks-mulberry);text-decoration:underline}
@media(min-width:760px){}
@media(max-width:759px){:root{--ks-header:110px}.ks-header-inner{padding-block:6px}.ks-brand img{width:113px}.ks-footer-nav{gap:0 21px}.ks-footer-bottom{padding-top:5px}}
@media(max-width:359px){.ks-footer-nav{gap:0 16px}.ks-footer-bottom{column-gap:13px}.ks-copyright{gap:8px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.ks-header-nav a,.ks-button{transition:color .2s,background .2s}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{
 .ks-header,.ks-footer,.ks-skip,.ks-breadcrumb,.ks-tools,.ks-settings,.ks-noscript,.ks-toc-native{display:none!important}
 html{scroll-padding:0!important}body{background:white!important;color:black!important}a{color:inherit}
}

/* --- Nachtrag aus dem externen Code-Review --------------------------- */
/* WCAG 1.4.12: Bei individuell erhoehten Zeichen- und Wortabstaenden liefen
   die AGB (338px) und die Barrierefreiheitsseite (355px) bei 320 CSS-Pixeln
   ueber. Ursache sind lange Woerter in der Kopfspalte der Stammdaten, im
   Sprungverzeichnis und in der Seitenueberschrift. Nachgemessen, nicht
   pauschal per overflow-x versteckt. */
.support-title h1,.kern__zeile dt,.sprung a,.legal-agb .klausel{overflow-wrap:anywhere;hyphens:auto}
/* Der Hinweis fuer Besucher ohne JavaScript stand im gruenen Abschnitt in
   Sekundaerfarbe: 1.51:1, der Verweis darin in Maulbeere: 1.32:1. Beides war
   unsichtbar fuer Pruefungen mit aktivem JavaScript. */
.notify .ks-inline-note{color:var(--ks-linen)}
.notify .ks-inline-note a{color:var(--ks-ivory);text-decoration:underline;text-underline-offset:4px}
