:root{
  --bg:#fbf8f3; --panel:#ffffff; --ink:#1b1a17; --muted:#56524a;
  --line:#e2dbd0; --accent:#c2410c; --accent-ink:#ffffff;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#1b1a17; --panel:#232119; --ink:#f4efe6; --muted:#b5ad9f;
    --line:#39352c; --accent:#fb923c; --accent-ink:#1b1a17;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  font-size:19px; line-height:1.65;
}
.wrap{max-width:46rem; margin:0 auto; padding:0 1rem}
a{color:var(--accent)}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent); outline-offset:3px}

header{padding:3.5rem 0 0}
.brand{display:flex; align-items:center; gap:.7rem; font-weight:700; font-size:1.15rem; letter-spacing:-.01em}
.brand svg{flex:none}
.status{
  display:inline-block; margin-top:2.5rem; padding:.35rem .8rem;
  border:1px solid var(--line); border-radius:2rem;
  font-size:.8rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted);
}
h1{
  font-size:clamp(2.1rem,7vw,3.4rem); line-height:1.1; letter-spacing:-.025em;
  margin:1rem 0 1.25rem; font-weight:700;
}
.lead{font-size:clamp(1.1rem,2.6vw,1.3rem); color:var(--muted); margin:0 0 2rem; max-width:34rem}

main{padding:1rem 0 0}
section{padding:2.75rem 0; border-top:1px solid var(--line)}
h2{font-size:1.35rem; letter-spacing:-.015em; margin:0 0 1rem; font-weight:700}
p{margin:0 0 1rem; max-width:36rem}
ul{margin:0 0 1rem; padding-left:1.1rem; max-width:36rem}
li{margin:0 0 .6rem}
li strong{font-weight:700}

.cta{
  display:inline-block; margin-top:.5rem; padding:.85rem 1.5rem;
  background:var(--accent); color:var(--accent-ink); text-decoration:none;
  border-radius:.5rem; font-weight:700; font-size:1.05rem;
}
.cta:hover{filter:brightness(1.08)}
.mail{font-weight:700; white-space:nowrap}

footer{
  border-top:1px solid var(--line); padding:2rem 0 3.5rem;
  font-size:.95rem; color:var(--muted);
}
footer a{color:var(--muted)}
footer nav{margin-bottom:.75rem; display:flex; gap:1.25rem; flex-wrap:wrap}

/* Unterseiten (Impressum, Datenschutz) */
.subpage header{padding:3rem 0 1.5rem}
.subpage h1{font-size:clamp(1.8rem,5vw,2.5rem); margin:1.5rem 0 .5rem}
.subpage h2{margin-top:2rem}
.subpage h3{font-size:1.05rem; margin:1.5rem 0 .5rem; font-weight:700}
.subpage section{padding:1.5rem 0}
.subpage section:first-of-type{border-top:none}
.back{display:inline-block; margin-bottom:1rem; font-size:.95rem; text-decoration:none}
.back:hover{text-decoration:underline}
.todo{
  background:rgba(194,65,12,.08); border-left:4px solid var(--accent);
  padding:.9rem 1rem; margin:0 0 1rem; border-radius:0 .35rem .35rem 0;
}
.todo strong{color:var(--accent)}
address{font-style:normal; margin:0 0 1rem; line-height:1.8}
.updated{font-size:.9rem; color:var(--muted)}

/* Sprachumschalter */
.langswitch{margin:1.75rem 0 0; font-size:.95rem}
.langswitch a{text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:1px}
.langswitch a:hover{text-decoration:none; opacity:.75}
