/* Schriften lokal eingebunden (keine Verbindung zu externen Servern) */
@font-face { font-family: "Gelasio"; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/gelasio-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Gelasio"; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/gelasio-latin-400-italic.woff2) format("woff2"); }
@font-face { font-family: "Istok Web"; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/istok-web-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Istok Web"; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/istok-web-latin-700-normal.woff2) format("woff2"); }

:root {
  --gruen: #7da632;
  --hellgruen: #c0cf46;
  --text: #222;
  --grau: #555;
  --footer: #5b5b5b;
}

* { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

body {
  font-family: "Istok Web", "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--text);
  background: #fff;
}

a { color: var(--gruen); }
a:hover { color: #5d7d22; }

/* Kopfbereich */
.site-header {
  padding: 14px 16px;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,.12);
  position: relative;
  z-index: 2;
}
.site-header .inner { max-width: 1170px; margin: 0 auto; }
.site-header img { display: block; width: 198px; height: auto; }

.hero {
  height: 280px;
  background: url(img/header.jpg) center 40% / cover no-repeat;
}

/* Inhalt */
main { max-width: 1000px; margin: 0 auto; padding: 60px 16px 70px; }

.intro { text-align: center; font-family: "Gelasio", Georgia, serif; }
.intro img { width: 180px; height: auto; }
.intro .name { font-size: 26px; color: var(--grau); margin: 24px 0 0; line-height: 1.4; }
.intro .name em { color: var(--gruen); font-style: normal; }
.intro h1 {
  font-family: "Gelasio", Georgia, serif;
  font-style: italic;
  font-weight: 400;
  color: var(--gruen);
  font-size: 30px;
  margin: 50px 0 60px;
}

.brief { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
.brief h2 { color: var(--gruen); font-size: 17px; margin: 0 0 1em; }
.brief p { margin: 0 0 1em; }
.brief img { width: 100%; height: auto; display: block; }

/* Rechtstexte */
.legal { max-width: 860px; }
.legal h1 { font-family: "Gelasio", Georgia, serif; font-weight: 400; color: var(--gruen); font-size: 34px; margin: 0 0 30px; }
.legal h2, .legal h3 { font-family: "Gelasio", Georgia, serif; font-weight: 400; color: var(--gruen); margin: 2em 0 .5em; }
.legal h2 { font-size: 22px; }
.legal h3 { font-size: 20px; }
.legal h4 { font-size: 16px; margin: 1.5em 0 .3em; }
.legal p { margin: 0 0 .8em; }
.legal .zurueck { display: inline-block; margin-top: 40px; }
.legal .caps { font-size: 14px; }

/* Fußbereich */
.site-footer {
  background: var(--footer);
  color: #fff;
  font-family: "Gelasio", Georgia, serif;
  font-style: italic;
  text-align: center;
  padding: 50px 16px;
  font-size: 16px;
}
.site-footer p { margin: 0 0 1.2em; }
.site-footer p:last-child { margin: 0; }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.site-footer b { font-style: italic; }

@media (max-width: 760px) {
  .hero { height: 170px; }
  main { padding: 40px 16px 50px; }
  .intro .name { font-size: 20px; }
  .intro h1 { font-size: 24px; margin: 35px 0 40px; }
  .brief { grid-template-columns: 1fr; gap: 30px; }
  .legal h1 { font-size: 28px; }
}
