*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;color:#1C2B24;background:#fff;line-height:1.5}
a{color:#2F7A4F}a:hover{color:#1F5A38}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.eyebrow{margin:0;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#2F7A4F}
h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.02em}
h2{font-size:38px;line-height:1.15}
.btn{display:inline-flex;align-items:center;text-decoration:none;font-weight:700;padding:14px 26px;border-radius:6px;font-size:17px;min-height:48px}
.btn-orange{background:#C8641E;color:#fff}.btn-orange:hover{background:#A9521A;color:#fff}
.btn-white{background:#fff;color:#1C2B24;border:1px solid #C9D3CC}.btn-white:hover{color:#1C2B24;border-color:#1C2B24}

/* Kopfzeile */
header{border-bottom:1px solid #E3E8E4;background:#fff;position:sticky;top:0;z-index:10}
header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:#1C2B24}
.logo-name{font-size:22px;font-weight:800;letter-spacing:-.02em}
.logo-name small{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#5A6B62}
nav{display:flex;flex-wrap:wrap;align-items:center;gap:24px;font-size:16px;font-weight:600}
nav a{text-decoration:none;color:#1C2B24}
nav{margin-left:auto}
.header-cta{font-size:16px;padding:10px 18px;min-height:44px}

/* Start */
.hero{background:#F2F6F3}
.hero .wrap{display:flex;flex-wrap:wrap;gap:48px;align-items:center;padding-top:88px;padding-bottom:96px}
.hero-text{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:24px}
.hero h1{font-size:64px;line-height:1.05;letter-spacing:-.03em}
.hero h1 span{color:#2F7A4F}
.hero p.lead{margin:0;font-size:19px;line-height:1.6;color:#44544B;max-width:560px}
.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.foto{background-color:#DCE6DF;background-size:cover;background-position:center;border-radius:12px}
.hero .foto{flex:1 1 420px;min-width:0;height:400px}

/* Leistungen */
.section{padding:96px 0}
.head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;border-bottom:2px solid #1C2B24;padding-bottom:20px;margin-bottom:12px}
.head-row p{margin:0;color:#44544B}
.leistung{display:flex;flex-wrap:wrap;gap:32px;padding:36px 0;border-bottom:1px solid #D5DDD8}
.leistung:last-child{border-bottom:none}
.leistung .foto{flex:0 0 280px;height:190px;border-radius:4px;max-width:100%}
.leistung-text{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:14px}
.leistung h3{font-size:26px}
.leistung p{margin:0;font-size:17px;line-height:1.6;color:#44544B}
.leistung p.liste{font-size:15px;color:#1C2B24}

/* Über uns */
.dunkel{background:#1C2B24;color:#fff}
.dunkel .wrap{display:flex;flex-wrap:wrap;gap:56px}
.dunkel .eyebrow{color:#F0A35E}
.ueber-text{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:20px}
.ueber-text p{margin:0;font-size:18px;line-height:1.65;color:#C9D6CE}
.gruende{flex:1 1 420px;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gruende div{border-top:3px solid #C8641E;padding-top:16px}
.gruende h3{font-size:18px;font-weight:700;margin-bottom:8px}
.gruende p{margin:0;font-size:15px;line-height:1.55;color:#C9D6CE}

/* Kontakt */
.kontakt{background:#F2F6F3}
.kontakt .wrap{display:flex;flex-wrap:wrap;gap:48px}
.kontakt-text{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:20px}
.kontakt-text p{margin:0;font-size:17px;line-height:1.6;color:#44544B}
.kontakt-daten{display:flex;flex-direction:column;gap:10px;font-size:17px;font-weight:600}
.kontakt-daten a{color:#1C2B24}
form{flex:1 1 480px;min-width:0;background:#fff;border-radius:12px;padding:32px;display:flex;flex-direction:column;gap:18px;border:1px solid #E3E8E4}
.zwei{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
input,select,textarea{border:1px solid #C9D3CC;border-radius:6px;padding:12px 14px;font-size:16px;font-family:inherit;background:#fff;color:#1C2B24}
input,select{height:48px;padding-top:0;padding-bottom:0}
textarea{resize:vertical}
button{height:52px;border:none;border-radius:6px;background:#C8641E;color:#fff;font-size:17px;font-weight:700;font-family:inherit;cursor:pointer}
button:hover{background:#A9521A}
.hinweis{font-size:13px;color:#5A6B62;font-weight:400}

/* Fußzeile */
footer{border-top:1px solid #E3E8E4}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:32px;padding-bottom:32px;font-size:14px;color:#5A6B62}
footer .links{display:flex;gap:24px}

/* Unterseiten */
.text-seite{max-width:800px;margin:0 auto;padding:64px 24px 96px}
.text-seite h1{font-size:40px;margin-bottom:32px}
.text-seite h2{font-size:22px;margin:32px 0 8px}
.text-seite p{margin:0 0 12px;color:#2C3A33}

@media (max-width:640px){
  .hero h1{font-size:44px}
  h2{font-size:30px}
  .hero .wrap{padding-top:56px;padding-bottom:64px}
  .section{padding:64px 0}
  .hero .foto{height:260px}
  .leistung .foto{flex:1 1 100%}
  header .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 10px;padding-bottom:0}
  .logo{gap:8px}
  .logo img{width:34px;height:34px}
  .logo-name{font-size:19px;white-space:nowrap}
  .logo-name small{font-size:11px}
  .header-cta{font-size:15px;padding:8px 14px;white-space:nowrap}
  nav{grid-column:1/-1;order:3;margin:0 -24px;border-top:1px solid #E3E8E4;flex-wrap:nowrap;gap:0}
  nav a{flex:1 1 0;text-align:center;padding:13px 0;font-size:15px}
  nav a+a{border-left:1px solid #E3E8E4}
}
