/* Schrift: Source Sans 3 (SIL Open Font License), auf eigenem Server */
@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-400.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-600.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}
:root{
  --blau:#142C84;
  --blau-dunkel:#0E1F5E;
  --text:#1D2433;
  --text-2:#4A5263;
  --linie:#D9DDE6;
  --flaeche:#F4F6FA;
  --weiss:#FFFFFF;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:18px;line-height:1.6;color:var(--text);background:var(--weiss)}
a{color:var(--blau)}
a:focus-visible,button:focus-visible{outline:3px solid var(--blau);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}

/* Kopf */
header{position:sticky;top:0;z-index:10;background:var(--weiss);border-bottom:3px solid var(--blau)}
.kopf{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:80px}
.kopf img{display:block;height:44px;width:auto}
nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
nav a{text-decoration:none;color:var(--text);font-weight:600;font-size:17px}
nav a:hover{color:var(--blau)}

/* Abschnitte */
section{padding:72px 0;border-bottom:1px solid var(--linie)}
section:last-of-type{border-bottom:0}
h1,h2,h3{color:var(--blau-dunkel);line-height:1.25;font-weight:600;margin:0}
h1{font-size:40px;max-width:760px}
h2{font-size:30px;margin-bottom:24px}
h3{font-size:20px;margin-bottom:6px}
p{margin:0 0 16px}
.einleitung{font-size:20px;color:var(--text-2);max-width:720px;margin-top:20px}
.start{padding:88px 0 80px;background:var(--flaeche)}
.fakten{display:flex;flex-wrap:wrap;gap:12px 40px;margin-top:36px;padding:0;list-style:none;color:var(--text-2);font-size:17px}
.fakten li{border-left:3px solid var(--blau);padding-left:12px}

/* Leistungen */
.leistungen{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--linie)}
.leistung{padding:24px 24px 20px 0;border-bottom:1px solid var(--linie)}
.leistung:nth-child(odd){padding-right:32px;border-right:1px solid var(--linie)}
.leistung:nth-child(even){padding-left:32px}
.leistung p{color:var(--text-2);margin:0}
.geraete{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}
.geraet{margin:0;border:1px solid var(--linie);padding:16px;text-align:center;font-size:16px;color:var(--text-2)}
.geraet img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:var(--flaeche);margin-bottom:12px}

/* Über uns */
.zweispaltig{display:grid;grid-template-columns:3fr 2fr;gap:48px;align-items:start}
.kasten{background:var(--flaeche);padding:24px;border-left:3px solid var(--blau)}
.kasten dl{margin:0}
.kasten dt{font-size:15px;color:var(--text-2)}
.kasten dd{margin:0 0 12px;font-weight:600}

/* Portale */
.portale{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.portal{border:1px solid var(--linie);padding:28px}
.portal p{color:var(--text-2)}
.knopf{display:inline-block;margin-top:8px;background:var(--blau);color:var(--weiss);border:0;font:inherit;font-weight:600;padding:12px 22px;border-radius:3px;cursor:pointer;text-decoration:none}
.knopf:hover{background:var(--blau-dunkel)}
.knopf.zweit{background:var(--weiss);color:var(--blau);border:1px solid var(--blau)}
.knopf.zweit:hover{background:var(--flaeche)}

/* Kontakt */
.kontakt{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.kontakt div{border-top:3px solid var(--blau);padding-top:16px}
.kontakt .klein{font-size:15px;color:var(--text-2)}

/* Fuß */
footer{background:var(--blau-dunkel);color:#C9D0E3;font-size:15px;padding:28px 0}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
footer a{color:var(--weiss);text-decoration:none;margin-left:20px}
footer a:first-child{margin-left:0}

/* Hinweis-Dialog */
dialog{border:0;padding:0;max-width:480px;width:calc(100% - 32px);box-shadow:0 10px 40px rgba(14,31,94,.25)}
dialog::backdrop{background:rgba(14,31,94,.45)}
.dialog-inhalt{padding:28px}
.dialog-inhalt h2{font-size:22px;margin-bottom:12px}
.dialog-knoepfe{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}

@media (max-width:820px){
  body{font-size:17px}
  nav ul{gap:16px}
  nav .optional{display:none}
  h1{font-size:30px}
  .leistungen,.portale,.zweispaltig,.kontakt{grid-template-columns:1fr}
  .geraete{gap:10px}
  .geraet{padding:8px;font-size:14px;line-height:1.3}
  .geraet img{margin-bottom:8px}
  .leistung:nth-child(odd),.leistung:nth-child(even){padding:20px 0;border-right:0}
}
@media (max-width:560px){
  .kopf{flex-wrap:wrap;padding:12px 24px;gap:8px}
  .kopf img{height:36px}
  html{scroll-padding-top:120px}
}

/* Rechtsseiten */
.rechtstext > *{max-width:760px}
.rechtstext h1{font-size:34px;margin-bottom:28px}
.rechtstext h2{font-size:22px;margin:36px 0 10px}
.rechtstext h3{font-size:18px;margin:20px 0 6px}
.rechtstext ul{padding-left:22px;margin:0 0 16px}
.offen{background:#FFF3C4;padding:0 4px}
