/* Gemeinsame Gestaltung für Impressum und Datenschutz */
@font-face{font-family:'Archivo Black';font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/ArchivoBlack-400.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/SourceSans3-400.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;
  src:url(fonts/SourceSans3-600.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url(fonts/JetBrainsMono-500.woff2) format('woff2')}

:root{
  --canvas:#E7E3DC;--panel:#F3F0EA;--accent:#F2B705;--steel:#2E3A40;
  --text-secondary:#5C574F;--text-primary:#1B1A17;--line:#CFC8BD;
  --display:'Archivo Black',Impact,'Arial Black',sans-serif;
  --body:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html,body{overflow-x:hidden;overflow-x:clip}
body{margin:0;background:var(--canvas);color:var(--text-primary);
  font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.wrap{width:min(760px,calc(100% - 48px));margin-inline:auto}
a{color:var(--text-primary)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--accent);
  color:var(--text-primary);padding:12px 18px;font-weight:600}
.skip:focus-visible{left:0}

.topbar{border-bottom:1px solid var(--line);background:var(--panel)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 0;width:min(1180px,calc(100% - 48px))}
.mark{display:flex;align-items:center;gap:10px;text-decoration:none}
.mark svg{width:20px;height:31px;flex:none}
.mark .txt{font-family:var(--display);font-size:14px;line-height:.94}
.mark .txt i{display:block;font-style:normal;color:var(--text-secondary);font-size:10px;letter-spacing:.22em}
.zurueck{font-weight:600;font-size:15px;text-decoration:none;border-bottom:2px solid var(--accent);
  padding-bottom:2px;transition:color .3s var(--ease)}
.zurueck:hover{color:var(--text-secondary)}

main{padding:clamp(56px,9vh,96px) 0 clamp(72px,11vh,120px)}
h1{font-family:var(--display);font-weight:400;font-size:clamp(30px,5vw,46px);line-height:1.04;
  letter-spacing:-.015em;margin:0 0 10px}
.stand{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-secondary);margin:0 0 42px}
h2{font-family:var(--display);font-weight:400;font-size:clamp(19px,2.4vw,24px);line-height:1.2;
  margin:44px 0 12px}
h3{font-family:var(--body);font-weight:600;font-size:17px;margin:26px 0 6px}
p{margin:0 0 14px}
ul{margin:0 0 14px;padding-left:22px}
li{margin-bottom:7px}
address{font-style:normal;margin-bottom:14px}
.karte{background:var(--panel);border:1px solid var(--line);padding:26px 28px;margin:0 0 14px}
.hinweis{border-left:4px solid var(--accent);background:var(--panel);padding:20px 24px;margin:22px 0}
.hinweis b{display:block;margin-bottom:6px}
.luecke{border:2px dashed var(--accent);background:rgba(242,183,5,.09);padding:20px 24px;margin:22px 0}
.luecke b{display:block;margin-bottom:6px;font-family:var(--display);font-weight:400}

footer{background:#15191B;color:#9AA3A8;padding:40px 0;font-size:14px}
footer a{color:#C6CDD1}
footer .wrap{width:min(1180px,calc(100% - 48px))}
.fnav{display:flex;flex-wrap:wrap;gap:18px;margin-top:10px}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
