
:root{
  --bg:#f5f7ee;
  --panel:#ffffff;
  --ink:#10251d;
  --muted:#52665c;
  --green:#0a3a2a;
  --accent:#80d67f;
  --line:rgba(14,64,43,.14);
  --shadow:0 24px 70px rgba(18,70,46,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"IBM Plex Sans",system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);line-height:1.65}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(11,91,58,.055) 0 1px,transparent 1px 24vw);z-index:-1}
a{color:inherit}
.container{width:min(1180px,calc(100% - 42px));margin-inline:auto}
.header{position:sticky;top:0;z-index:30;background:rgba(245,247,238,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 0}
.brand{font-weight:800;letter-spacing:.02em;text-decoration:none;color:var(--green)}
.links{display:flex;gap:1.1rem;align-items:center;flex-wrap:wrap;font-size:.95rem}
.links a{text-decoration:none;font-weight:650}
.lang{border-left:1px solid var(--line);padding-left:1rem;display:flex;gap:.55rem}
.lang .active{text-decoration:underline;text-underline-offset:.25rem}
.hero{padding:clamp(4rem,8vw,7rem) 0 4rem}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:#0d6c44;font-size:.78rem}
h1,h2,h3{line-height:1.05;margin:0 0 1rem}
h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,7vw,6rem);letter-spacing:-.04em}
h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.035em}
h3{font-size:1.25rem}
.lead{font-size:clamp(1.1rem,2vw,1.35rem);color:#263c32;max-width:68ch}
.hero-card{border-radius:34px;overflow:hidden;box-shadow:var(--shadow);background:var(--panel)}
.hero-card img,.image-card img{display:block;width:100%;height:auto}
.badges{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}
.badge{border:1px solid var(--line);background:rgba(255,255,255,.65);padding:.55rem .85rem;border-radius:999px;font-weight:700;font-size:.92rem}
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.9rem 1.25rem;text-decoration:none;font-weight:800;background:linear-gradient(135deg,#7fd873,#78e2c6);color:#082418;border:0;box-shadow:0 16px 34px rgba(24,120,75,.22)}
.button.secondary{background:#fff;border:1px solid var(--line);box-shadow:none}
.section{padding:clamp(3.5rem,7vw,6rem) 0}
.section.alt{background:rgba(255,255,255,.38)}
.grid-2{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.card{background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:26px;padding:1.4rem;box-shadow:0 18px 44px rgba(18,70,46,.07)}
.image-card{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:#fff;margin:1rem 0}
.prose h2{margin-top:2.5rem}
.prose h3{margin-top:1.4rem;color:var(--green)}
.prose p{color:#2b4037;max-width:78ch}
.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.footer{background:#0b3829;color:#e9fff4;padding:2.5rem 0;margin-top:3rem}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:2rem}
.footer a{color:#e9fff4;text-decoration:none}
.footer-meta{opacity:.72;font-size:.9rem}
.note{font-size:.95rem;color:#5d6d64;border-left:4px solid var(--accent);padding-left:1rem}
@media(max-width:880px){.hero-grid,.grid-2,.footer-grid{grid-template-columns:1fr}.cards,.media-grid{grid-template-columns:1fr}.links{font-size:.9rem}.hero{padding-top:3rem}h1{font-size:clamp(2.5rem,12vw,4.2rem)}}


/* Dezentere Footer-Version */
.footer-meta {
  font-size: 0.78rem !important;
  opacity: 0.58 !important;
  line-height: 1.45 !important;
  margin-top: 0.8rem;
}

.footer-version {
  font-size: 0.72rem;
  opacity: 0.72;
  letter-spacing: 0.02em;
  white-space: nowrap;
}


/* V3 contact form */
.contact-form {
  display: grid;
  gap: 1rem;
}

.contact-form label {
  display: grid;
  gap: 0.45rem;
  font-weight: 700;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 0.9rem 1rem;
  font: inherit;
  background: rgba(255,255,255,0.94);
  color: var(--ink);
}

.contact-form textarea {
  min-height: 150px;
  resize: vertical;
}

.hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.human-check-label {
  display: grid;
  gap: 0.45rem;
}
