:root {
  --rot: #850b09;
  --rot-dunkel: #5e0806;
  --grau: #6f6f6f;
  --text: #1f1f1f;
  --hell: #f6f4f2;
  --linie: #e2dedb;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body { height: 100%; }

body {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  color: var(--text);
  background: #fff;
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

a { color: var(--rot); }
a:hover { color: var(--rot-dunkel); }

/* ---------- Startseite / Under Construction ---------- */
.hero {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 20px;
  text-align: center;
  background:
    linear-gradient(180deg, #fff 0%, var(--hell) 100%);
  position: relative;
  overflow: hidden;
}

/* Bildzeichen (C mit Gebäuden) als dezentes Wasserzeichen */
.hero::after {
  content: "";
  position: absolute;
  right: -8vw;
  bottom: -10vw;
  width: min(55vw, 620px);
  aspect-ratio: 1;
  background: url("img/favicon.svg") no-repeat center / contain;
  opacity: 0.05;
  pointer-events: none;
}

.hero > * { position: relative; z-index: 1; }

.hero-logo {
  width: 100%;
  max-width: 400px;
  height: auto;
  margin-bottom: 48px;
}

.status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rot);
  border: 1.5px solid var(--rot);
  padding: 6px 16px;
  margin-bottom: 24px;
}

.status::before {
  content: "";
  width: 8px; height: 8px;
  background: var(--rot);
  animation: blink 1.6s ease-in-out infinite;
}

@keyframes blink { 50% { opacity: 0.2; } }

@media (prefers-reduced-motion: reduce) {
  .status::before { animation: none; }
}

.hero h1 {
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  font-weight: 600;
  margin-bottom: 14px;
}

.hero p.lead {
  max-width: 560px;
  color: var(--grau);
  font-size: 1.05rem;
  margin-bottom: 36px;
}

.leistungen {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  max-width: 640px;
  margin: -12px auto 40px;
}

.leistungen li {
  font-size: 0.92rem;
  color: var(--text);
  background: #fff;
  border: 1px solid var(--linie);
  border-left: 3px solid var(--rot);
  padding: 8px 14px;
}

.kontakt-btn {
  display: inline-block;
  background: var(--rot);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  padding: 14px 30px;
  transition: background 0.2s;
}
.kontakt-btn:hover { background: var(--rot-dunkel); color: #fff; }

/* ---------- Fußzeile ---------- */
footer {
  background: var(--rot);
  color: #fff;
  font-size: 0.875rem;
  padding: 18px 20px;
}

footer .inner {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
}

footer .footer-logo img { height: 44px; width: auto; display: block; }
footer .copy { opacity: 0.85; }
footer nav { margin-left: auto; }

footer nav a { color: #fff; text-decoration: none; margin-left: 20px; }
footer nav a:first-child { margin-left: 0; }
footer nav a:hover { color: #fff; text-decoration: underline; }

@media (max-width: 520px) {
  footer .inner { flex-direction: column; text-align: center; }
  footer nav { margin-left: 0; }
}

/* ---------- Rechtstexte ---------- */
.kopf {
  border-bottom: 1px solid var(--linie);
  padding: 18px 20px;
}
.kopf a { display: inline-block; }
.kopf img { height: 52px; width: auto; max-width: 100%; display: block; }

main.text {
  flex: 1;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: 48px 20px 64px;
}

main.text h1 { font-size: 2rem; margin-bottom: 28px; color: var(--rot); }
main.text h2 { font-size: 1.15rem; margin: 32px 0 8px; }
main.text p, main.text ul { margin-bottom: 12px; }
main.text ul { padding-left: 22px; }

.platzhalter {
  background: #f3d250;
  padding: 0 4px;
}
