/* OPCORE 01 – gemeinsame Grundlage aller Seiten
   Schriften liegen lokal in /fonts (keine Verbindung zu Google, DSGVO). */

@font-face{font-family:"Saira";font-style:normal;font-weight:300 500;font-display:swap;
  src:url("../fonts/saira-var-latin.woff2") format("woff2")}
@font-face{font-family:"Saira Semi Condensed";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/saira-semicondensed-400.woff2") format("woff2")}
@font-face{font-family:"Saira Semi Condensed";font-style:normal;font-weight:500;font-display:swap;
  src:url("../fonts/saira-semicondensed-500.woff2") format("woff2")}
@font-face{font-family:"Saira Semi Condensed";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/saira-semicondensed-600.woff2") format("woff2")}

:root{
  --schwarz:#09090A;
  --creme:#EFEDE7;
  --tinte:#15140F;
  --akzent-dunkel:#DE8B54;
  --akzent-hell:#A94E1E;
  --display:"Saira Semi Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;
  --body:"Saira","Helvetica Neue",Helvetica,Arial,sans-serif;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--creme);color:var(--tinte);
  font-family:var(--body);font-weight:300;font-size:16.5px;line-height:1.62;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance}
p{margin:0}
img,svg{max-width:100%}
[hidden]{display:none!important}
.nur-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:focus-visible{outline:2px solid var(--akzent-hell);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ============== Textseiten: Impressum, Datenschutz, Bestätigung, 404 ============== */
.textseite{--m:#5C5A52;--f:#77746B;--a:var(--akzent-hell);
  --l:rgba(21,20,15,.16);--ls:rgba(21,20,15,.09);line-height:1.65}
.textseite .innen{max-width:680px;margin:0 auto;padding-inline:20px}
.textseite header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  padding-block:20px;border-bottom:1px solid var(--l)}
.textseite header .mark{width:120px;height:auto;color:var(--tinte);display:block}
.textseite header nav{display:flex;gap:6px 18px;flex-wrap:wrap;font-family:var(--display);font-size:12px;
  letter-spacing:.2em;text-transform:uppercase}
.textseite header nav a{color:var(--f);text-decoration:none;padding-block:12px;display:inline-block}
.textseite header nav a:hover{color:var(--a)}
.textseite header nav a[aria-current]{color:var(--tinte)}
.textseite h1{font-weight:600;font-size:clamp(26px,5vw,38px);
  margin:clamp(28px,5vw,48px) 0 0;letter-spacing:-.005em}
.textseite .stand{margin-top:10px;font-size:12.5px;color:var(--f)}
.textseite h2{font-weight:600;font-size:clamp(17px,3vw,20px);
  margin:34px 0 0;padding-top:20px;border-top:1px solid var(--ls)}
.textseite h3{font-weight:600;font-size:15.5px;margin:22px 0 0;letter-spacing:.01em}
.textseite p{margin:10px 0 0}
.textseite ul{margin:10px 0 0;padding-left:20px}
.textseite li{margin-top:5px}
.textseite address{font-style:normal;margin-top:10px;line-height:1.7}
.textseite a{color:var(--a)}
.textseite address a,.textseite p a{word-break:break-word}
.textseite mark{background:#F5D9C4;color:var(--tinte);padding:0 3px}
.textseite .hinweis{margin-top:14px;padding:14px 16px;border:1px solid var(--a);font-size:14px;color:var(--m)}
.textseite .hinweis b{font-family:var(--display);font-weight:600;color:var(--a);
  display:block;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase}
.textseite .knopf{display:inline-block;margin-top:26px;font-family:var(--display);font-weight:600;
  font-size:14px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;
  color:var(--creme);background:var(--schwarz);padding:14px 26px}
.textseite .knopf:hover{background:var(--a)}
.textseite footer{margin-top:44px;border-top:1px solid var(--l);padding-block:22px 44px;
  display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline;font-size:12.5px;color:var(--f)}
.textseite footer a{color:var(--f);text-decoration:none;padding-block:10px;display:inline-block}
.textseite footer a:hover{color:var(--a)}
.textseite footer .sp{flex:1 1 auto}
