/* 8Solutions Website – gemeinsame Regeln für alle Seiten (Kopf, Fuß, Textseiten, Wissen, Vorschaltseite).
   Die gestalteten Seiten bringen ihre eigenen Regeln mit (/_s/<seite>.<stand>.css). Schrift lokal, keine fremden Quellen. */
@font-face{font-family:'Archivo';src:url('/assets/fonts/archivo-var.woff') format('woff');font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
/* Schriften: Fließtext und Überschriften. Redaktion › Design kann beide umstellen (setzt die Variablen in /media/fonts/schriften.css). */
:root{--s8-schrift:'Archivo',system-ui,sans-serif;--s8-schrift-titel:var(--s8-schrift)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:#ffffff}
body.s8{font-family:var(--s8-schrift);color:#0E1116;background:#FFFFFF;min-width:0;font-size:17px;line-height:1.6}
*{box-sizing:border-box}
a{color:#1A5F8C;text-decoration:none}a:hover{color:#134A6E}
button{font:inherit;cursor:pointer}
body.s8 :is(h1,h2,h3,h4,h5,h6,[style*="font-stretch"],.s8-gate-uhr b){font-family:var(--s8-schrift-titel)}
:focus-visible{outline:2px solid #5BADDD;outline-offset:3px}
.dots{background-image:radial-gradient(rgba(91,173,221,.18) 1px,transparent 1.3px);background-size:24px 24px}
.navbtn{background:none;border:0;padding:10px 4px;color:#0E1116;font-weight:600;font-size:15px;display:flex;align-items:center;gap:6px}
.navbtn:hover{color:#1A5F8C}
.mitem:hover{background:#F3F7FA}
.tile{transition:border-color .2s,box-shadow .2s}
.tile:hover{border-color:#5BADDD;box-shadow:0 18px 40px rgba(11,21,32,.08)}
.chip{transition:background .2s,color .2s,border-color .2s}
.pulse{animation:pulse 2s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(91,173,221,.65)}100%{box-shadow:0 0 0 10px rgba(91,173,221,0)}}
@media (max-width:420px){.kbl{display:none}}
.mgruppe:hover{text-decoration:underline}
@media (max-width:420px){.mobilgrid{grid-template-columns:minmax(0,1fr) !important}}
@media (min-width:1101px){.mobilnav{display:none !important}}
.burger{display:none}
@media (max-width:1100px){.nav{display:none !important}.burger{display:flex !important}.hide-m{display:none !important}}
@media (max-width:640px){.topbar-r{display:none}}
@media (prefers-reduced-motion:reduce){.pulse{animation:none}}

/* Kopf: Menüs, Handy-Menü, Sprungmarke */
.s8-skip{position:absolute;left:-9999px;top:0}
.s8-skip:focus{left:16px;top:8px;z-index:60;background:#FFFFFF;color:#0E1116;padding:10px 14px;border-radius:8px;box-shadow:0 8px 24px rgba(11,21,32,.2)}
.s8-panel[hidden]{display:none !important}
.s8-chev{transition:transform .2s}
.navbtn[aria-expanded="true"]{color:#1A5F8C !important}
.navbtn[aria-expanded="true"] .s8-chev{transform:rotate(180deg)}
.burger .s8-auf{display:none}
.burger[aria-expanded="true"] .s8-auf{display:inline}
.burger[aria-expanded="true"] .s8-zu{display:none}
.s8-leiste a[aria-current]{text-decoration:underline;text-underline-offset:3px}
.s8-seite{min-width:0}
#dc-root:not([data-bereit]):empty{min-height:100vh}

/* Hinweisbänder */
.s8-vorschau-band{position:sticky;top:0;z-index:70;background:#E07B24;color:#0B1520;font-size:14px;padding:8px 24px;text-align:center}
.s8-band{background:#E07B24;color:#0B1520;font-size:14px}
.s8-band-wartung{background:#E8A33D}
.s8-band-redaktion{background:#F4C79A}
.s8-band-in{max-width:1280px;margin:0 auto;padding:9px 24px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.s8-band-in a{color:#0B1520;text-decoration:underline}
.s8-band-uhr{font-variant-numeric:tabular-nums;font-weight:700}

/* Textseiten (Rechtstexte und eigene Seiten) */
.rhero{background-color:#0B1520;color:#FFFFFF;overflow:hidden}
.rhero-in{max-width:1280px;margin:0 auto;padding:56px 24px 60px}
.rkruemel{font-size:14px;color:#A9B8C8;margin-bottom:22px}
.rkruemel a{color:#A9B8C8}
.rhero h1{margin:0 0 18px;font-stretch:116%;font-weight:800;font-size:clamp(34px,3.8vw,54px);line-height:1.05;letter-spacing:-0.02em;max-width:900px;overflow-wrap:break-word}
.rlead{margin:0 0 28px;font-size:19px;line-height:1.6;color:#C3CFDB;max-width:700px}
.rtabs-zeile{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px}
.rtabs{display:flex;flex-wrap:wrap;gap:8px}
.rtab{white-space:nowrap;background:transparent;color:#DCE5EE;border:1px solid #2E4A63;border-radius:999px;padding:9px 16px;font-size:14.5px;font-weight:700}
.rtab:hover{color:#FFFFFF;border-color:#5BADDD}
.rtab[aria-current]{background:#FFFFFF;color:#0B1520;border-color:#FFFFFF}
.rstand{display:inline-flex;align-items:center;gap:8px;border:1px solid #2E4A63;border-radius:999px;padding:6px 13px;font-size:13.5px;font-weight:700;color:#C3CFDB}
.rstand span{width:8px;height:8px;border-radius:50%;background:#6CC4BA}
.rgrid{max-width:1280px;margin:0 auto;padding:64px 24px 112px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:56px;align-items:start}
.rgrid-1{grid-template-columns:minmax(0,1fr)}
.rtoc{position:sticky;top:24px;display:flex;flex-direction:column;gap:2px}
.rtoc-k{font-size:12.5px;font-weight:800;letter-spacing:.05em;color:#4A5361;padding:0 12px 8px}
.rtoc a{display:block;padding:7px 12px;border-left:3px solid #E1E7ED;font-size:14.5px;color:#4A5361;line-height:1.35}
.rtoc a:hover{color:#1A5F8C;border-left-color:#5BADDD}
.recht{min-width:0;max-width:780px}
.recht h2{overflow-wrap:break-word;hyphens:manual;margin:52px 0 16px;font-stretch:112%;font-weight:800;font-size:28px;line-height:1.2;letter-spacing:-.01em;scroll-margin-top:24px}
.recht h2.erst,.recht > h2:first-child{margin-top:0}
.recht h3{margin:30px 0 10px;font-weight:800;font-size:19px;line-height:1.35}
.recht p{margin:0 0 14px;font-size:16.5px;line-height:1.7;color:#2B323C;overflow-wrap:break-word}
.recht ul,.recht ol{margin:0 0 16px;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.recht ul > li{position:relative;padding-left:24px;font-size:16.5px;line-height:1.6;color:#2B323C}
.recht ul > li::before{content:"";position:absolute;left:4px;top:10px;width:8px;height:8px;border-radius:50%;background:#5BADDD}
.recht ol{counter-reset:n}
.recht ol > li{position:relative;padding-left:34px;font-size:16.5px;line-height:1.6;color:#2B323C;counter-increment:n}
.recht ol > li::before{content:counter(n);position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:#1A5F8C;color:#FFFFFF;font-size:12.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
.recht a{color:#1A5F8C;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.recht strong{font-weight:700;color:#0E1116}
.recht figure.table,.recht table{margin:4px 0 18px}
.recht table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #E1E7ED;border-radius:14px;overflow:hidden;background:#FFFFFF}
.recht th,.recht td{text-align:left;vertical-align:top;margin:0;padding:12px 16px;font-size:15.5px;line-height:1.55;border-top:1px solid #E1E7ED}
.recht tr:first-child th,.recht tr:first-child td{border-top:0}
.recht th{font-weight:700;color:#4A5361;background:#F7FAFC;width:200px}
.recht blockquote{margin:6px 0 18px;background:#EAF4FB;border:1px solid #C9DFEE;border-radius:14px;padding:14px 16px;color:#134A6E}
.recht blockquote p{margin:0;font-size:15px;line-height:1.6;color:#134A6E}
.recht blockquote p + p{margin-top:8px}
.recht img{max-width:100%;height:auto;border-radius:12px}
.recht figure{margin:24px 0}
.recht figcaption{font-size:14px;color:#4A5361;margin-top:8px}
.recht hr{border:0;border-top:1px solid #E1E7ED;margin:32px 0}
@media (max-width:1000px){.rgrid{grid-template-columns:minmax(0,1fr) !important;gap:28px !important;padding-top:40px !important}.rtoc{position:static !important;border:1px solid #E1E7ED;border-radius:16px;padding:16px 8px !important}}
@media (max-width:640px){.recht table,.recht tbody,.recht tr,.recht th,.recht td{display:block;width:auto}.recht td{border-top:0;padding-top:0}.recht h2{font-size:24px;margin-top:40px}.recht p,.recht li{font-size:16px}}

/* Wissen: Übersicht und Beitrag */
.btitel{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.bkurz{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.65em}
.kirow + .kirow{border-top:1px solid #22374B}
.prosa h2{margin:56px 0 16px;font-stretch:112%;font-weight:800;font-size:30px;line-height:1.15;letter-spacing:-.01em;scroll-margin-top:24px}
.prosa h2:first-child{margin-top:0}
.prosa h3{margin:32px 0 12px;font-weight:800;font-size:21px;line-height:1.3}
.prosa p{margin:0 0 18px;font-size:18px;line-height:1.7;color:#2B323C}
.prosa a{text-decoration:underline;text-underline-offset:2px}
.prosa img{max-width:100%;height:auto;border-radius:14px}
.prosa figure.image{margin:28px 0}
.prosa figure.image figcaption{font-size:14px;color:#4A5361;margin-top:8px}
.prosa table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15.5px}
.prosa th,.prosa td{border:1px solid #E1E7ED;padding:10px 12px;text-align:left;vertical-align:top}
.prosa th{background:#F3F7FA}
.bliste{margin:0 0 18px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.bliste li{position:relative;padding-left:26px;font-size:17px;line-height:1.6;color:#2B323C}
.bliste li::before{content:"";position:absolute;left:4px;top:11px;width:9px;height:9px;border-radius:50%;background:#5BADDD}
.nliste{margin:0 0 18px;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}
.nliste li{display:flex;gap:14px;align-items:flex-start;font-size:17px;line-height:1.6;color:#2B323C}
.nnr{flex:0 0 30px;height:30px;border-radius:50%;background:#1A5F8C;color:#FFFFFF;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;margin-top:-1px}
.katleiste::-webkit-scrollbar{display:none}
.mark{border-radius:4px;padding:1px 2px;transition:background .25s}
.mnr{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1.5px solid #E07B24;font-size:12px;font-weight:800;margin-left:6px;vertical-align:1px;cursor:pointer;padding:0;transition:background .2s}
@media (prefers-reduced-motion:no-preference){.wpuls{animation:wbpuls 1.6s ease-in-out infinite}@keyframes wbpuls{0%,100%{opacity:1}50%{opacity:.25}}}
@media (max-width:1100px){.agrid3{grid-template-columns:minmax(0,1fr) 260px !important}.toc{display:none !important}.vrow > span{padding-left:12px !important;padding-right:12px !important}.vrow > span > span{font-size:13.5px}.ztext{font-size:14px !important}.artitel{white-space:normal !important}}
@media (max-width:860px){.agrid3{grid-template-columns:minmax(0,1fr) !important}.aside{position:static !important}}
@media (max-width:640px){.prosa h2{font-size:25px}.prosa p{font-size:17px}.zahlgrid,.abgrid,.schgrid{grid-template-columns:minmax(0,1fr) !important}
.zgrid{grid-template-columns:minmax(0,1fr) !important;gap:16px !important;padding-left:36px}.zlinie{left:11px !important;right:auto !important;top:6px !important;bottom:6px;width:2px;height:auto !important}.zpunkt{position:absolute;left:-36px;top:0;margin:0 !important}
.vrow{grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important}.vk{grid-column:1 / -1}.vk:empty{display:none}.wmeta{display:none !important}
.kimeta{display:none !important}.kirow{align-items:flex-start !important}.btitel,.bkurz{-webkit-line-clamp:unset;display:block;min-height:0}}

/* Vorschaltseite (Countdown und Wartung) */
.s8-gate{min-height:100vh;background-color:#0B1520;color:#FFFFFF;display:flex;align-items:center;justify-content:center;padding:48px 24px}
.s8-gate-in{max-width:760px;width:100%;text-align:left}
.s8-gate-logo{height:28px;width:auto;display:block;margin-bottom:56px}
.s8-gate-k{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#9FD3F1}
.s8-gate-k i{width:10px;height:10px;border-radius:50%;background:#5BADDD;box-shadow:0 0 0 0 rgba(91,173,221,.6);animation:pulse 2s ease-out infinite}
.s8-gate h1{margin:0 0 18px;font-stretch:118%;font-weight:800;font-size:clamp(36px,5vw,64px);line-height:1.02;letter-spacing:-.02em}
.s8-gate-text,.s8-gate-spaeter{margin:0 0 32px;font-size:19px;line-height:1.6;color:#C3CFDB;max-width:640px}
.s8-gate-uhr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px;max-width:560px}
.s8-gate-uhr span{background:#0F1D2B;border:1px solid #22374B;border-radius:16px;padding:16px 12px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:#A9B8C8}
.s8-gate-uhr b{font-stretch:116%;font-size:38px;line-height:1;color:#FFFFFF;font-variant-numeric:tabular-nums}
.s8-gate-wann{margin:0 0 24px;font-size:15px;color:#A9B8C8}
.s8-gate-prog{display:flex;align-items:center;gap:12px;margin:0 0 24px;font-size:14px;color:#A9B8C8}
.s8-gate-prog progress{flex:1;max-width:420px;height:10px}
.s8-gate-kontakt,.s8-gate-recht{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0 0 16px;font-size:15px}
.s8-gate-kontakt a{color:#FFFFFF;font-weight:600}
.s8-gate-recht a{color:#A9B8C8;font-size:13.5px}
@media (prefers-reduced-motion:reduce){.s8-gate-k i{animation:none}}
@media (max-width:520px){.s8-gate-uhr{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Beitragstitel: lange deutsche Wörter trennen statt mitten im Wort umbrechen */
.wtitel{margin:0 0 22px;font-stretch:116%;font-weight:800;font-size:clamp(34px,3.8vw,54px);line-height:1.05;letter-spacing:-.02em;max-width:780px;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
@media (max-width:520px){.wtitel{font-size:clamp(26px,7.6vw,34px)}.rhero h1{font-size:clamp(28px,8vw,34px);-webkit-hyphens:auto;hyphens:auto}}
/* Einwilligung für die Statistik (nur wenn in der Redaktion eingeschaltet). Mittig: leicht abgedunkelte, weichgezeichnete Seite;
   unten rechts: kleines Fenster, die Seite bleibt bedienbar. Beide Knöpfe gleich groß und gleich auffällig. */
html.s8-ruhig{overflow:hidden}
.s8-einw[hidden]{display:none!important}
.s8-einw-karte{position:relative;overflow:hidden;width:100%;max-width:560px;background:#FFFFFF;color:#0E1116;border:1px solid #E1E7ED;border-radius:20px;box-shadow:0 30px 80px rgba(11,21,32,.35);padding:30px 30px 20px;font-family:var(--s8-schrift);font-size:15px;line-height:1.6}
.s8-einw-karte::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#0B1520 0 68%,#5BADDD 68% 100%)}
.s8-einw-karte:focus{outline:none}
.s8-einw-kopf{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#4A5361}
.s8-einw-kopf img{display:block;border-radius:6px}
.s8-einw h2{margin:0 0 10px;font-family:var(--s8-schrift-titel);font-stretch:112%;font-weight:800;font-size:24px;line-height:1.2;letter-spacing:-.01em;color:#0E1116}
.s8-einw p{margin:0 0 16px;font-size:15px;line-height:1.6;color:#4A5361}
.s8-einw-fakten{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.s8-einw-fakten li{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#0E1116;background:#F4F7FA;border:1px solid #E1E7ED;border-radius:999px;padding:5px 12px 5px 8px}
.s8-einw-fakten li::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;background:#1A5F8C url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.3 8.3 6.8 10.7 11.7 5.6' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.s8-einw-knoepfe{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.s8-einw-btn{min-height:50px;padding:12px 18px;border:0;border-radius:10px;background:#1A5F8C;color:#FFFFFF;font:inherit;font-size:15px;font-weight:700;line-height:1.2;cursor:pointer;transition:background-color .15s}
.s8-einw-btn:hover{background:#134A6E}
.s8-einw-btn:focus-visible{outline:2px solid #5BADDD;outline-offset:3px}
.s8-einw-links{display:flex;justify-content:center;gap:20px;margin:14px 0 0!important;font-size:13px!important}
.s8-einw-links a{color:#4A5361;text-decoration:underline;text-underline-offset:2px}
.s8-einw-links a:hover{color:#0E1116}
.s8-einw[data-art="mitte"]{position:fixed;inset:0;z-index:1000;display:flex;overflow-y:auto;overscroll-behavior:contain;padding:24px;background:rgba(11,21,32,.55);-webkit-backdrop-filter:blur(6px) saturate(.9);backdrop-filter:blur(6px) saturate(.9);animation:s8-einw-wand .3s ease-out}
.s8-einw[data-art="mitte"] .s8-einw-karte{margin:auto;animation:s8-einw-karte .4s cubic-bezier(.2,.8,.2,1)}
.s8-einw[data-art="ecke"]{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:1000;max-width:500px;margin-left:auto}
.s8-einw[data-art="ecke"] .s8-einw-karte{padding:24px 24px 16px;box-shadow:0 18px 50px rgba(11,21,32,.28);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;animation:s8-einw-karte .35s cubic-bezier(.2,.8,.2,1)}
.s8-einw[data-art="ecke"] h2{font-size:19px}
.s8-einw[data-art="ecke"] .s8-einw-fakten{margin-bottom:18px}
@keyframes s8-einw-wand{from{opacity:0}to{opacity:1}}
@keyframes s8-einw-karte{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.s8-einw[data-art],.s8-einw .s8-einw-karte{animation:none}}
@media (max-width:560px){
  .s8-einw-karte{padding:24px 20px 14px;border-radius:16px}
  .s8-einw h2{font-size:20px}
  .s8-einw-knoepfe{grid-template-columns:minmax(0,1fr)}
  .s8-einw[data-art="mitte"]{padding:12px}
  .s8-einw[data-art="mitte"] .s8-einw-karte{margin:auto auto 0}
  .s8-einw[data-art="ecke"]{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px))}
}
.s8-einw-oeffnen{font:inherit;font-size:inherit;background:none;border:0;padding:0;margin:0;color:#A9B8C8;cursor:pointer;text-align:left}
.s8-einw-oeffnen:hover{color:#FFFFFF;text-decoration:underline}
