
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Roboto Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
color:#111;background:#fff;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.7}
a{color:#111;text-decoration:none;transition:color .15s,background .15s}
a:hover{color:#E85D4A}
a:focus-visible{outline:2px solid #E85D4A;outline-offset:3px}
::selection{background:#E85D4A;color:#fff}
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);
border-bottom:1px solid rgba(17,17,17,.08);padding:12px 24px;display:flex;
justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.nav-logo{font-weight:700;font-size:14px;letter-spacing:1.5px}
.nav-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.nav-links a{color:#555;font-size:10.5px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase}
.nav-links a:hover{color:#111}
.nav-cta{background:#E85D4A;color:#fff!important;padding:8px 16px;font-weight:700;
font-size:10.5px;letter-spacing:.5px}
.nav-cta:hover{background:#111}
.wrap{max-width:900px;margin:0 auto;padding:0 24px}
.brot{font-size:11px;color:#999;padding:18px 0 0;letter-spacing:.4px}
.brot a{color:#999}
.brot a:hover{color:#E85D4A}
.kopf{padding:26px 0 34px;border-bottom:1px solid rgba(17,17,17,.1)}
.label{color:#E85D4A;font-size:10.5px;font-weight:700;letter-spacing:3.5px;
text-transform:uppercase;margin-bottom:12px}
h1{font-size:clamp(24px,3.6vw,36px);font-weight:700;line-height:1.2;letter-spacing:-.5px;
margin-bottom:12px}
h2{font-size:clamp(17px,2.2vw,21px);font-weight:700;line-height:1.3;margin:44px 0 14px;
letter-spacing:-.2px}
h3{font-size:14px;font-weight:700;margin:22px 0 6px}
p{margin-bottom:14px;max-width:70ch}
.ort{font-size:13px;color:#777;letter-spacing:.3px}
.lead{font-size:15px;color:#444;max-width:70ch}
.small{font-size:12px;line-height:1.7;color:#777;max-width:74ch}
main{padding-bottom:56px}
.fakten{display:grid;grid-template-columns:repeat(3,1fr);
gap:1px;background:rgba(17,17,17,.12);border:1px solid rgba(17,17,17,.12);margin:22px 0}
.fakten>div{background:#fff;padding:13px 15px}
.fakten dt{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#999;
margin-bottom:5px}
.fakten dd{font-size:14px;font-weight:700}
.fakten dd.leer{font-weight:400;color:#bbb}
.rahmen{border-left:2px solid #E85D4A;padding:2px 0 2px 18px;margin:18px 0}
.rahmen h3{margin-top:0}
.rahmen .q{font-size:11.5px;color:#999;margin-bottom:20px}
.rahmen .q a{color:#999;text-decoration:underline}
.rahmen .q a:hover{color:#E85D4A}
ul.pl{list-style:none;margin:6px 0 14px}
ul.pl li{padding:9px 0 9px 20px;border-bottom:1px solid rgba(17,17,17,.07);
position:relative;font-size:13.5px;line-height:1.65;max-width:74ch}
ul.pl li:before{content:"";position:absolute;left:0;top:16px;width:8px;height:1px;
background:#E85D4A}
ul.pl li b{font-weight:700}
.offen{background:#FAFAF9;border:1px solid rgba(17,17,17,.1);padding:20px 22px;margin:18px 0}
.offen h3{margin-top:0;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#E85D4A}
.offen ul{list-style:none;margin-top:8px}
.offen li{padding:7px 0 7px 18px;position:relative;font-size:13px;line-height:1.6;
color:#444;max-width:74ch}
.offen li:before{content:"?";position:absolute;left:0;top:7px;color:#E85D4A;font-weight:700}
.tab{overflow-x:auto;margin:18px 0;border:1px solid rgba(17,17,17,.12)}
table{border-collapse:collapse;width:100%;font-size:13px;min-width:560px}
th{text-align:left;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:#999;
padding:11px 14px;border-bottom:1px solid rgba(17,17,17,.12);white-space:nowrap}
td{padding:11px 14px;border-bottom:1px solid rgba(17,17,17,.07);vertical-align:top}
tr:last-child td{border-bottom:none}
td.dim{color:#888}
td.r{text-align:right;white-space:nowrap}
a.pfeil{border-bottom:1px solid rgba(232,93,74,.4)}
.karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:12px;
margin:22px 0}
.karten a{background:#fff;padding:18px 20px;display:block;
border:1px solid rgba(17,17,17,.14)}
.karten a:hover{background:#FAFAF9;border-color:#E85D4A}
.karten .k{font-size:15px;font-weight:700;margin-bottom:5px}
.karten .z{font-size:11.5px;color:#888;letter-spacing:.3px}
.karten .s{font-size:12.5px;color:#555;margin-top:8px;line-height:1.55}
.quellen{list-style:none;font-size:12.5px}
.quellen li{padding:6px 0;word-break:break-all}
.quellen a{color:#555;text-decoration:underline}
.cta{background:#111;color:#fff;padding:34px;margin:44px 0 0}
.cta h2{color:#fff;margin:0 0 10px}
.cta p{color:rgba(255,255,255,.78);font-size:14px;max-width:62ch}
.cta .btn{display:inline-block;background:#E85D4A;color:#fff!important;padding:13px 24px;
font-weight:700;font-size:12.5px;letter-spacing:.5px;margin-top:8px}
.cta .btn:hover{background:#fff;color:#111!important}
.cta .preis{display:inline-block;margin-left:14px;font-size:12px;color:rgba(255,255,255,.6)}
.hinweis{border-top:1px solid rgba(17,17,17,.1);margin-top:44px;padding-top:22px}
.footer{background:#111;color:rgba(255,255,255,.55);padding:44px 24px 56px;font-size:12px}
.footer-inner{max-width:900px;margin:0 auto}
.footer a{color:rgba(255,255,255,.62)}
.footer a:hover{color:#E85D4A}
.footer p{max-width:80ch;margin-bottom:12px;line-height:1.7}
.footer .zeile{border-top:1px solid rgba(255,255,255,.12);margin-top:22px;padding-top:18px;
display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:11.5px}
.filter{margin:20px 0 0}
.filter input{font-family:inherit;font-size:13px;padding:11px 14px;width:100%;max-width:340px;
border:1px solid rgba(17,17,17,.2);background:#fff;color:#111}
.filter input:focus{outline:none;border-color:#E85D4A}
@media(max-width:620px){
.nav-links{gap:12px}
.nav-links a{font-size:10px}
.fakten{grid-template-columns:1fr 1fr}
.cta{padding:26px 22px}
}

.stat{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;
background:rgba(17,17,17,.12);border:1px solid rgba(17,17,17,.12);margin:22px 0}
.stat>div{background:#fff;padding:15px 16px}
.stat b{display:block;font-size:21px;font-weight:700;line-height:1.2}
.stat span{font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:#999}
.laenderliste{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
gap:1px;background:rgba(17,17,17,.12);border:1px solid rgba(17,17,17,.12);margin:22px 0}
.laenderliste a{background:#fff;padding:14px 16px;display:block}
.laenderliste a:hover{background:#FAFAF9}
.laenderliste .k{font-size:14px;font-weight:700}
.laenderliste .z{font-size:11px;color:#999;letter-spacing:.3px;margin-top:3px}
.btliste{list-style:none;margin:14px 0;columns:2;column-gap:26px}
.btliste li{font-size:13px;padding:5px 0;break-inside:avoid}
.btliste .z{color:#999;font-size:11.5px}
@media(max-width:620px){.btliste{columns:1}}

.nav-links{gap:26px}
.nav-item{position:relative}
.nav-top{font-family:inherit;background:none;border:0;cursor:pointer;color:#555;
 font-size:11px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;
 display:inline-flex;align-items:center;gap:7px;padding:0;line-height:1.4}
.nav-top i{width:5px;height:5px;border-right:1.5px solid currentColor;
 border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);
 display:block;transition:transform .15s}
.nav-item:hover>.nav-top,.nav-top[aria-expanded=true]{color:#111}
.nav-top[aria-expanded=true] i{transform:rotate(225deg) translateY(-2px)}
.nav-drop{position:absolute;top:100%;left:-18px;padding-top:16px;display:none;
 z-index:999}
.nav-item:hover>.nav-drop,.nav-drop.open{display:block}
.nav-drop-in{min-width:262px;background:#fff;border:1px solid rgba(17,17,17,.1);
 box-shadow:0 14px 38px rgba(17,17,17,.10);padding:9px 0}
.nav-links .nav-drop a{display:block;padding:10px 20px;font-size:12px;
 font-weight:500;letter-spacing:.4px;text-transform:none;color:#444;
 line-height:1.35;white-space:nowrap}
.nav-links .nav-drop a:hover{background:#FAFAF7;color:#111;opacity:1}
.nav-drop hr{border:0;height:1px;background:rgba(17,17,17,.09);margin:9px 20px}
/* ---------- Mobilmenü: Ziehharmonika statt langer Liste ---------- */
.mobile-menu{padding:0!important;display:none;flex-direction:column}
.mobile-menu.open{display:flex}
.mobile-menu .mm-rollen{flex:1 1 auto;overflow-y:auto;
 -webkit-overflow-scrolling:touch;padding:8px 22px 16px}
.mobile-menu .mm-gruppe{border-bottom:1px solid rgba(17,17,17,.09)}
.mobile-menu .mm-kopf{width:100%;background:none;border:0;cursor:pointer;
 font:inherit;font-family:inherit;font-size:15px;font-weight:700;
 letter-spacing:1.4px;text-transform:uppercase;color:#111;text-align:left;
 padding:18px 30px 18px 0;position:relative;display:block}
.mobile-menu .mm-kopf i{position:absolute;right:6px;top:50%;width:9px;height:9px;
 margin-top:-6px;border-right:2px solid #E85D4A;border-bottom:2px solid #E85D4A;
 transform:rotate(45deg);transition:transform .18s}
.mobile-menu .mm-kopf[aria-expanded=true] i{transform:rotate(225deg);
 margin-top:-2px}
.mobile-menu .mm-inhalt{display:none;padding:0 0 12px}
.mobile-menu .mm-inhalt.auf{display:block}
.mobile-menu .mm-inhalt a{display:block;font-size:15px;font-weight:500;
 letter-spacing:.3px;text-transform:none;padding:12px 0 12px 16px;border:0;
 border-left:2px solid rgba(232,93,74,.35);margin-bottom:2px;color:#333}
.mobile-menu .mm-inhalt a:active{color:#E85D4A}
.mobile-menu .mm-einzeln{display:block;font-size:15px;font-weight:700;
 letter-spacing:1.4px;text-transform:uppercase;padding:18px 0;
 border-bottom:1px solid rgba(17,17,17,.09);color:#111}
.mobile-menu .mm-fuss{flex:0 0 auto;padding:16px 22px calc(16px + env(safe-area-inset-bottom));
 border-top:1px solid rgba(17,17,17,.12);background:#fff}
.mobile-menu .mm-fuss .nav-cta{display:block;text-align:center;margin:0 0 12px;
 padding:16px 24px;font-size:13px;border:none}
.mobile-menu .mm-fuss .lang-switch{display:flex;justify-content:center;gap:8px;
 margin:0}
@media(max-width:1080px){.nav-links{gap:18px}.nav-top{font-size:10.5px;
 letter-spacing:.9px}}
.t-en{display:none}

.burger{display:none;background:none;border:0;cursor:pointer;padding:8px;
 flex-direction:column;gap:5px}
.burger span{display:block;width:22px;height:2px;background:#111}
.mobile-menu{display:none;position:fixed;top:52px;left:0;right:0;bottom:0;
 z-index:997;background:#fff;flex-direction:column;overflow:hidden}
.mobile-menu.open{display:flex}
.mobile-menu .nav-cta{background:#E85D4A;color:#fff;text-decoration:none}
@media(max-width:900px){
  .nav-links{display:none!important}
  .burger{display:flex!important}
  .nav{flex-wrap:nowrap!important;gap:0!important}
}

