/* Shared by index, impressum, datenschutz, 404. Page-specific CSS stays inline. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;
  src:url(fonts/archivo-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;
  src:url(fonts/archivo-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- FOOTER ---------- */
.site-foot{border-top:1px solid rgba(255,255,255,.08);padding:44px 0 28px;color:#626262;font-size:13px}
.site-foot .wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.foot-top{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.foot-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.foot-brand img{height:36px;width:36px;object-fit:cover;object-position:center 38%;border-radius:6px}
.foot-brand span{color:#9a9a9a;font-size:12px;letter-spacing:.1em}
.foot-brand i{font-style:normal;color:#9FF137}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:0;padding:0}
.foot-links a,.foot-links button{color:#9a9a9a;text-decoration:none;font:inherit;font-size:12px;letter-spacing:.12em;text-transform:uppercase;background:none;border:0;padding:0;cursor:pointer}
.foot-links a:focus-visible,.foot-links button:focus-visible{color:#9FF137;outline:none}
.foot-bottom{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.foot-bottom small{font-size:12px;letter-spacing:.06em}
.foot-ig{display:inline-flex;align-items:center;gap:8px}
.foot-ig svg{width:15px;height:15px}

/* subtle builder credit */
.credit{display:inline-flex;align-items:center;gap:7px;color:#4a4a4a;text-decoration:none;font-size:11px;letter-spacing:.08em;opacity:.8;transition:opacity .25s,color .25s}
.credit img{width:16px;height:16px;border-radius:50%;filter:grayscale(1) brightness(.75);transition:filter .25s}
.credit b{font-weight:600}

@media (hover:hover){
  .foot-links a:hover,.foot-links button:hover{color:#9FF137}
  .credit:hover{opacity:1;color:#9a9a9a}
  .credit:hover img{filter:none}
}

/* ---------- COOKIE BANNER ---------- */
.ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:300;max-width:420px;background:#0d0d0d;color:#d9d9d9;
  border:1px solid rgba(255,255,255,.12);padding:18px 18px 16px;box-shadow:0 24px 60px -12px rgba(0,0,0,.9);
  font-family:'Archivo',ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.55}
.ck strong{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#f4f4f4;margin-bottom:8px}
.ck p{margin:0 0 14px}
.ck a{color:#9FF137}
.ck-b{display:grid;grid-template-columns:1fr 1fr;gap:8px}
/* equal weight for both choices (German DSK guidance: rejecting must be as easy as accepting) */
.ck-b button{font:inherit;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:12px 10px;cursor:pointer;
  border:1px solid #9FF137;background:transparent;color:#9FF137}
.ck-b button:active{transform:scale(.97)}
@media (hover:hover){.ck-b button:hover{background:#9FF137;color:#000}}

/* ---------- LEGAL PAGES ---------- */
.legal{max-width:760px;margin:0 auto;padding:130px 24px 80px;color:#bdbdbd;font-size:16px;line-height:1.7}
.legal h1{font-size:clamp(30px,6vw,52px);color:#f4f4f4;margin:14px 0 8px}
.legal h2{font-size:18px;color:#f4f4f4;letter-spacing:.06em;margin:44px 0 10px}
.legal h3{font-size:15px;color:#e6e6e6;letter-spacing:.04em;margin:26px 0 6px;text-transform:none;font-stretch:100%}
.legal p,.legal ul{margin:0 0 14px}
.legal ul{padding-left:20px}
.legal li{margin-bottom:6px}
.legal a{color:#9FF137;overflow-wrap:anywhere}
.legal .stand{color:#626262;font-size:14px}
