:root{
  --tinte:#15202E;
  --tinte-2:#3D4B5C;
  --tinte-3:#586A7E;
  --linie:#D4DAE2;
  --linie-fein:#E6EAF0;
  --akzent:#2C5FA1;
  --akzent-hell:#EAF0F8;
  --flaeche:#F4F6F9;
  --gruen:#1D6B47;
  --gruen-hell:#2E9E6B;
  --amber:#8F6508;
  --amber-hell:#D9A521;
  --rot:#A93226;
  --papier:#FFFFFF;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Arial,sans-serif;
  color:var(--tinte);background:var(--flaeche);
  line-height:1.55;font-size:16px;-webkit-font-smoothing:antialiased;
}
.rahmen{max-width:1120px;margin:0 auto;padding:0 24px;}
header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--linie);}
.kopf-innen{display:flex;align-items:center;justify-content:space-between;padding:13px 24px;gap:16px;flex-wrap:wrap;}
.wortmarke{font-size:14px;font-weight:750;letter-spacing:.22em;text-transform:uppercase;color:var(--tinte);text-decoration:none;}
.wortmarke span{color:var(--akzent);}
.intern-badge{
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--amber);border:1px solid var(--amber);padding:3px 8px;margin-left:10px;vertical-align:2px;
}
nav.bereiche{display:flex;gap:4px;flex-wrap:wrap;}
nav.bereiche a{
  font-size:13.5px;font-weight:620;color:var(--tinte-2);text-decoration:none;
  padding:7px 13px;border:1px solid transparent;transition:all .15s;
}
nav.bereiche a:hover{background:var(--flaeche);color:var(--tinte);}
nav.bereiche a.hier{background:var(--tinte);color:#fff;}
main{padding:56px 0 80px;}
h1{font-size:clamp(26px,3.6vw,38px);font-weight:680;letter-spacing:-.02em;line-height:1.12;margin-bottom:12px;}
.vorspann{font-size:16.5px;color:var(--tinte-2);max-width:70ch;line-height:1.62;}
.karte{background:#fff;border:1px solid var(--linie);}
.knopf{
  display:inline-block;padding:12px 24px;background:var(--tinte);color:#fff;
  font-size:14.5px;font-weight:640;text-decoration:none;border:1px solid var(--tinte);
  cursor:pointer;font-family:inherit;transition:background .18s,border-color .18s;
}
.knopf:hover{background:var(--akzent);border-color:var(--akzent);}
.knopf.leise{background:transparent;color:var(--tinte);}
.knopf.leise:hover{background:var(--flaeche);}
footer{border-top:1px solid var(--linie);padding:22px 0 36px;background:#fff;}
footer p{font-size:12.5px;color:var(--tinte-3);}
footer a{color:var(--tinte-3);}

/* ===== Tor (Zugang) ===== */
#tor{
  position:fixed;inset:0;z-index:100;
  background:var(--tinte);
  display:flex;align-items:center;justify-content:center;padding:24px;
}
#tor.zu{display:none;}
.tor-kasten{max-width:400px;width:100%;text-align:center;}
.tor-kasten .marke{font-size:16px;font-weight:750;letter-spacing:.24em;text-transform:uppercase;color:#fff;margin-bottom:6px;}
.tor-kasten .marke span{color:#7FA8D9;}
.tor-kasten .zeile{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9FB0C3;font-weight:700;margin-bottom:34px;}
.tor-kasten p{color:#9FB0C3;font-size:14px;margin-bottom:18px;}
.tor-kasten input{
  width:100%;padding:14px 16px;font-size:17px;text-align:center;letter-spacing:.14em;
  background:#0C141D;border:1px solid #2A3A4E;color:#fff;outline:none;
  font-family:inherit;transition:border-color .2s;
}
.tor-kasten input:focus{border-color:#7FA8D9;}
.tor-kasten button{
  margin-top:12px;width:100%;padding:14px;font-size:15px;font-weight:650;
  background:#7FA8D9;color:var(--tinte);border:0;cursor:pointer;font-family:inherit;
  transition:background .2s;
}
.tor-kasten button:hover{background:#A5C2E5;}
.tor-kasten .fehl{color:#E08A80;font-size:13px;margin-top:12px;min-height:1.3em;}
@keyframes ruetteln{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(3px)}30%,70%{transform:translateX(-5px)}40%,60%{transform:translateX(5px)}50%{transform:translateX(-3px)}}
.ruettelt{animation:ruetteln .5s;}
