:root{
  --gruen:#046c41; --gruen-dark:#03502f; --tint:#f4f7f5;
  --text:#1f2d27; --muted:#5f6f67; --line:#e3eae6; --card:#ffffff;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--text); background:#fff; margin:0; line-height:1.6;
  display:flex; flex-direction:column; min-height:100vh;
}
.wrap{max-width:1000px; margin:0 auto; padding:0 22px; width:100%;}

/* ---------- Hero ---------- */
header.hero{
  background:radial-gradient(circle at 50% -25%, #ffffff 0%, var(--tint) 78%);
  text-align:center; padding:54px 22px 48px; border-bottom:1px solid var(--line);
}
.hero .logo{ width:220px; max-width:60vw; height:auto; margin:0 auto 26px; display:block; }
.hero h1{ font-size:30px; line-height:1.25; color:var(--gruen-dark); margin:0 0 14px; font-weight:700; }
.hero .lead{ font-size:17px; color:var(--muted); max-width:660px; margin:0 auto 30px; }

/* ---------- Buttons ---------- */
.cta-row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.btn{ display:inline-block; text-decoration:none; font-weight:700; font-size:16px;
  padding:14px 28px; border-radius:9px; transition:background .15s,transform .15s,border-color .15s; cursor:pointer; }
.btn-primary{ background:var(--gruen); color:#fff; box-shadow:0 8px 20px rgba(4,108,65,.22); }
.btn-primary:hover{ background:var(--gruen-dark); transform:translateY(-1px); }
.btn-secondary{ background:#fff; color:var(--gruen-dark); border:2px solid var(--gruen); padding:12px 26px; }
.btn-secondary:hover{ background:var(--tint); }

/* ---------- Sections ---------- */
main{flex:1;}
section{ padding:50px 0; border-bottom:1px solid var(--line); }
section.alt{ background:var(--tint); }
h2{ font-size:23px; color:var(--gruen-dark); margin:0 0 10px; text-align:center; font-weight:700; }
.section-intro{ text-align:center; color:var(--muted); max-width:640px; margin:0 auto 32px; }

.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.col-card{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:26px; }
.col-card h3{ color:var(--gruen-dark); margin:0 0 8px; font-size:18px; }
.col-card p{ margin:0; color:var(--muted); font-size:15px; }

.tiles{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.tile{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:22px 24px;
  box-shadow:0 5px 16px rgba(4,108,65,.05); }
.tile .ic{ display:block; width:30px; height:30px; color:var(--gruen); margin-bottom:12px; }
.tile h3{ margin:0 0 6px; font-size:17px; color:var(--gruen-dark); }
.tile p{ margin:0; color:var(--muted); font-size:14.5px; }

.track{ max-width:720px; margin:0 auto; text-align:center; }
.track p{ color:var(--muted); margin:0 auto 24px; }

.disclaimer{ background:#fbfaf3; border:1px solid #e8e0bf; border-radius:12px;
  padding:22px 26px; max-width:800px; margin:0 auto; }
.disclaimer h2{ text-align:left; font-size:18px; margin:0 0 8px; }
.disclaimer p{ margin:0; color:#6b6450; font-size:14.5px; line-height:1.65; }

.crosslink{ text-align:center; }
.crosslink p{ color:var(--muted); max-width:660px; margin:0 auto 22px; }

footer{ padding:26px 22px; text-align:center; font-size:13px; color:var(--muted); }
footer a{ color:var(--muted); text-decoration:none; }
footer a:hover{ color:var(--gruen-dark); text-decoration:underline; }

/* ---------- Rechtsseiten ---------- */
.legal{ flex:1; width:100%; max-width:720px; margin:0 auto; padding:44px 24px; }
.legal .logo-sm{ height:46px; width:auto; display:block; margin-bottom:8px; }
.legal .back{ display:inline-block; margin-bottom:22px; font-size:14px; color:var(--muted); text-decoration:none; }
.legal .back:hover{ color:var(--gruen-dark); }
.legal h1{ font-size:26px; color:var(--gruen-dark); margin:0 0 18px; }
.legal h2{ font-size:18px; color:var(--gruen-dark); margin:26px 0 8px; text-align:left; }
.legal p,.legal ul{ font-size:15px; line-height:1.7; margin:0 0 12px; }
.legal a{ color:var(--gruen-dark); }

@media(max-width:680px){ .two-col,.tiles{ grid-template-columns:1fr; } .hero h1{ font-size:25px; } }
