body { margin:0; font-family: 'Segoe UI', Tahoma, Geneva, sans-serif; color: #333; }
header { display: flex; align-items: center; justify-content: center; padding:20px; background:#f8f9fa; }
header img { max-height: 100px; }
nav { background:#007BFF; padding:10px; text-align:center;}
nav a { color:#fff; margin:0 15px; font-weight:500; text-decoration:none }
nav a:hover { text-decoration: underline;}
.hero { background: url('hero.jpg') center/cover no-repeat; color:#fff; padding:100px 20px; text-align:center;}
.hero h2 { font-size:2.5rem; margin-bottom:10px;}
.hero p { font-size:1.2rem; }
.services { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap:20px; padding:40px 20px;}
.card { border-radius:8px; overflow:hidden; box-shadow:0 4px 8px rgba(0,0,0,0.1); background:#fff; }
.card img { width:100%; display:block; }
.card-content { padding:20px; }
.card-content h3 { margin-top:0; color:#007BFF; }
#contact { background:#f8f9fa; padding:40px 20px; }
form { max-width:600px; margin:auto; display:grid; gap:15px; }
input, textarea { padding:12px; border:1px solid #ccc; border-radius:4px; width:100%; }
button { background:#007BFF; color:#fff; padding:12px; border:none; border-radius:4px; font-size:1rem; cursor:pointer; }
button:hover { background:#0056b3; }
footer { background:#343a40; color:#fff; text-align:center; padding:20px; }
footer a { color:#fff; text-decoration:none;}
.impressum { padding:40px 20px; max-width:900px; margin:auto;}
@media (max-width: 768px) {
  .hero { padding:60px 15px; }
  .hero h2 { font-size:1.8rem; }
  .hero p { font-size:1rem; }
  nav a { display:block; margin:10px 0; }
}