/* Gemeinsames Layout für Impressum und Datenschutzerklärung. */

:root{
  --white:#ffffff;
  --text:rgba(255,255,255,.72);
  --muted:rgba(255,255,255,.5);
  --line:rgba(255,255,255,.14);
  --font:"Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ background:#000; }

body{
  margin:0;
  background:#000;
  color:var(--text);
  font-family:var(--font);
  font-weight:300;
  font-size:15px;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
}

.seite{
  max-width:740px;
  margin:0 auto;
  padding:
    calc(28px + env(safe-area-inset-top))
    calc(clamp(20px,5vw,32px) + env(safe-area-inset-right))
    calc(64px + env(safe-area-inset-bottom))
    calc(clamp(20px,5vw,32px) + env(safe-area-inset-left));
}

/* ---------- Navigation ---------- */

.zurueck{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:clamp(36px,7vw,60px);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
  text-decoration:none;
  border-bottom:0;
  transition:color .25s ease;
}
.zurueck:hover{ color:var(--white); }
.zurueck::before{ content:"←"; font-size:14px; letter-spacing:0; }

/* ---------- Typografie ---------- */

h1{
  margin:0 0 clamp(28px,5vw,44px);
  font-size:clamp(1.9rem,5vw,2.6rem);
  font-weight:200;
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--white);
  hyphens:auto;
}

h2{
  margin:clamp(44px,6vw,64px) 0 18px;
  padding-top:clamp(24px,4vw,32px);
  border-top:1px solid var(--line);
  font-size:1.15rem;
  font-weight:400;
  line-height:1.35;
  letter-spacing:-.01em;
  color:var(--white);
}

h3{
  margin:34px 0 12px;
  font-size:1rem;
  font-weight:500;
  line-height:1.4;
  color:var(--white);
}

h4{
  margin:26px 0 10px;
  font-size:.9rem;
  font-weight:500;
  line-height:1.5;
  color:rgba(255,255,255,.85);
}

p{ margin:0 0 16px; }

ul{ margin:0 0 16px; padding-left:20px; }
li{ margin-bottom:10px; }

strong{ color:rgba(255,255,255,.88); font-weight:400; }

a{
  color:var(--white);
  text-decoration:none;
  border-bottom:1px solid var(--line);
  overflow-wrap:anywhere;
  transition:border-color .25s ease;
}
a:hover{ border-bottom-color:var(--white); }

/* ---------- Fußzeile ---------- */

.fuss{
  display:flex;
  gap:clamp(22px,4vw,40px);
  margin-top:clamp(52px,8vw,80px);
  padding-top:28px;
  border-top:1px solid var(--line);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.fuss a{ color:var(--muted); border-bottom-color:transparent; }
.fuss a:hover{ color:var(--white); }

@media (max-width:600px){
  body{ font-size:14.5px; }
  h2{ font-size:1.05rem; }
}
