/* Gemeinsame Styles für Unterseiten (Impressum, Datenschutz, AGB, Widerruf) */
@font-face{font-family:Archivo;src:url(../fonts/archivo-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url(../fonts/archivo-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url(../fonts/archivo-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url(../fonts/archivo-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(../fonts/source-serif-4-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(../fonts/source-serif-4-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  --paper:#F5F2EC;--surface:#FFFFFF;--surface-2:#EBE6DC;--ink:#101A1B;--ink-2:#4B5C5C;
  --line:#DCD6CA;--petrol:#0E4A50;--petrol-2:#0A383D;--on-petrol:#EAF3F2;--on-petrol-2:#9CC3C4;
  --cyan:#177E93;--amber:#B5780A;--amber-bright:#D8A02A;--radius:3px;
  --display:Archivo,"Helvetica Neue",Arial,sans-serif;
  --body:"Source Serif 4",Georgia,"Times New Roman",serif;
  --maxw:760px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0C1213;--surface:#131B1C;--surface-2:#182223;--ink:#EDEAE3;--ink-2:#9AAAA9;
    --line:#25312F;--petrol:#0B3A40;--petrol-2:#082E33;--on-petrol:#E6F1F0;--on-petrol-2:#8FB6B8;
    --cyan:#57BDD3;--amber:#E0A63A;--amber-bright:#E9B953;
  }
}
:root[data-theme="dark"]{
  --paper:#0C1213;--surface:#131B1C;--surface-2:#182223;--ink:#EDEAE3;--ink-2:#9AAAA9;
  --line:#25312F;--petrol:#0B3A40;--petrol-2:#082E33;--on-petrol:#E6F1F0;--on-petrol-2:#8FB6B8;
  --cyan:#57BDD3;--amber:#E0A63A;--amber-bright:#E9B953;
}

*{box-sizing:border-box}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--body);font-size:18px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(ellipse 80% 50% at 10% -10%, rgba(23,126,147,.07), transparent 55%),
    radial-gradient(ellipse 60% 40% at 100% 0%, rgba(181,120,10,.05), transparent 50%);
}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin:0}
a{color:var(--cyan)}
a:hover{color:var(--amber)}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}

.top{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{max-width:1180px;margin:0 auto;padding:0 28px;display:flex;align-items:center;gap:24px;height:72px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{height:48px;width:auto}
.brand .logo-light{display:none}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .brand .logo-dark{display:none}
  :root:not([data-theme="light"]) .brand .logo-light{display:block}
}
:root[data-theme="dark"] .brand .logo-dark{display:none}
:root[data-theme="dark"] .brand .logo-light{display:block}
.back{margin-left:auto;font-family:var(--display);font-size:.82rem;font-weight:600;text-decoration:none;color:var(--ink-2)}
.back:hover{color:var(--ink)}

.page{max-width:var(--maxw);margin:0 auto;padding:56px 28px 96px}
.eyebrow{font-family:var(--display);font-weight:600;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin:0 0 16px}
.page h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:12px}
.lead{color:var(--ink-2);margin:0 0 40px;font-size:1.05rem}
.page h2{font-size:1.25rem;margin:40px 0 14px;padding-top:8px;border-top:1px solid var(--line)}
.page h2:first-of-type{border-top:0;padding-top:0}
.page p,.page li{color:var(--ink-2)}
.page p{margin:0 0 14px}
.page ul,.page ol{margin:0 0 16px;padding-left:1.25em}
.page li{margin-bottom:8px}
.page address{font-style:normal;line-height:1.7;margin:0 0 16px}
.note-box{
  background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--amber);
  padding:16px 18px;margin:24px 0;font-size:.92rem;color:var(--ink-2);border-radius:var(--radius);
}
footer{
  background:var(--petrol);color:var(--on-petrol-2);padding:36px 28px;font-size:.84rem;text-align:center;
}
footer a{color:var(--on-petrol);text-decoration:none;margin:0 10px}
footer a:hover{text-decoration:underline}
@media (max-width:600px){.top .wrap,.page{padding-left:20px;padding-right:20px}}
