@font-face{font-family:"Open Sans";font-weight:400;font-display:swap;src:url(fonts/open-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-weight:600;font-display:swap;src:url(fonts/open-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-weight:700;font-display:swap;src:url(fonts/open-sans-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-weight:600;font-display:swap;src:url(fonts/poppins-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-weight:700;font-display:swap;src:url(fonts/poppins-latin-700-normal.woff2) format("woff2")}

:root{--blau:#013583;--hell:#2ea3f2;--orange:#f3a000;--text:#1a1a1a;--grau:#5b6472;--flaeche:#f4f6fa;--linie:#dfe4ec}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:16px/1.65 "Open Sans","Segoe UI",Arial,sans-serif;color:var(--text);background:#fff}
a{color:var(--blau)}
h1,h2,h3{font-family:Poppins,"Open Sans",sans-serif;color:var(--blau);line-height:1.2;margin:0 0 .6em}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}

header.top{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--linie)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px}
header.top img{height:44px;width:auto;display:block}
nav a{margin-left:22px;text-decoration:none;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.03em;color:var(--orange)}
nav a:hover{color:var(--blau)}
nav a.btn{background:var(--orange);color:#1a1a1a;padding:10px 18px}
nav a.btn:hover{background:#d98f00;color:#1a1a1a}

.btn{display:inline-block;background:var(--blau);color:#fff;text-decoration:none;font-weight:700;padding:12px 22px;border-radius:4px}
.btn:hover{background:#00246b}
.btn.alt{background:var(--orange);color:#1a1a1a}
.btn.alt:hover{background:#d98f00}

.hero{background:linear-gradient(135deg,var(--blau) 0%,#0a4fb3 60%,var(--hell) 130%);color:#fff;padding:84px 0 92px}
.hero h1{color:#fff;font-size:clamp(30px,5vw,48px);max-width:16ch}
.hero p{font-size:18px;max-width:58ch;opacity:.95;margin:0 0 28px}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px}
.hero .btn{background:#fff;color:var(--blau)}
.hero .btn.alt{background:var(--orange);color:#1a1a1a}

section{padding:68px 0}
section.grau{background:var(--flaeche)}
.lead{font-size:18px;color:var(--grau);max-width:70ch}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:32px}
.fact{background:#fff;border-top:4px solid var(--hell);padding:22px;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.fact h3{font-size:18px;margin-bottom:.4em}
.fact p{margin:0;color:var(--grau)}

.leistungen{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 28px;padding:0;margin:28px 0 0;list-style:none}
.leistungen li{padding:10px 0 10px 28px;border-bottom:1px solid var(--linie);position:relative}
.leistungen li::before{content:"";position:absolute;left:4px;top:19px;width:10px;height:10px;background:var(--orange);border-radius:2px}

.kontakt{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px;margin-top:28px}
.kontakt .karte:first-child{grid-row:span 2}
.karte{background:#fff;border-left:4px solid var(--blau);padding:22px;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.karte h3{font-size:18px;margin-bottom:.2em}
.karte .rolle{color:var(--grau);margin:0 0 12px}
.karte dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0}
.karte dt{color:var(--grau);white-space:nowrap}
.karte dd{margin:0}
.karte a{text-decoration:none}

.shop{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;background:var(--blau);color:#fff;border-radius:6px;padding:28px 32px}
.shop h2{color:#fff;margin:0 0 .3em}
.shop p{margin:0;opacity:.9}

footer{background:#0b1a33;color:#c9d3e3;padding:32px 0;font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
footer a{color:#fff;margin-left:18px}

.text{max-width:780px;padding:48px 20px 72px}
.text h1{font-size:34px}
.text h2{font-size:20px;margin-top:1.8em}

@media (max-width:980px){
  .kontakt{grid-template-columns:1fr 1fr}
  .kontakt .karte:first-child{grid-row:auto;grid-column:1/-1}
}
@media (max-width:820px){
  nav a:not(.btn){display:none}
  section{padding:52px 0}
  .hero{padding:60px 0 68px}
}
@media (max-width:560px){
  .kontakt{grid-template-columns:1fr}
}
