
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#222;background:#f5f3ee;line-height:1.65}
.wrap{max-width:1120px;margin:auto;background:#fff;min-height:100vh}
header{padding:26px 30px 18px;text-align:center}
.brand{font-size:36px;font-weight:700;letter-spacing:.5px}.claim{font-size:19px;color:#666}
nav{background:#333;display:flex;justify-content:center;flex-wrap:wrap}
nav a{color:#fff;text-decoration:none;padding:13px 15px}nav a:hover{background:#555}
main{max-width:900px;margin:auto;padding:38px 30px 55px}
h1{font-size:34px;line-height:1.2;margin:0 0 24px}h2{margin-top:34px}
p{margin:0 0 18px}ul{padding-left:24px}li{margin:8px 0}
.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}
.photos.two{grid-template-columns:repeat(2,1fr)}
.photos.one{grid-template-columns:1fr;max-width:720px;margin:25px auto}
.photos img{width:100%;max-width:100%;height:auto;max-height:420px;object-fit:contain;border-radius:7px;display:block;margin:auto}
.photos.logos img{width:100%;height:auto;max-height:180px;object-fit:contain;background:#fff}
.site-logo{text-align:center;margin-bottom:18px}
.site-logo img{max-width:320px;width:80%;height:auto;max-height:180px;object-fit:contain}
.team{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:28px 0}
.card{border:1px solid #ddd;border-radius:8px;padding:20px;background:#fafafa}
.card h2{margin-top:12px}.team img{width:100%;max-width:100%;height:auto;max-height:360px;object-fit:contain;border-radius:7px;display:block;margin:auto}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:28px 0}
.button{display:inline-block;background:#333;color:#fff;text-decoration:none;padding:12px 18px;border-radius:5px;margin:5px}
.contactbox{text-align:center;background:#f1f1f1;padding:25px;margin-top:35px}
footer{background:#333;color:#fff;text-align:center;padding:25px} footer a{color:#fff}
.note{font-size:14px;color:#777}.price{font-size:20px;font-weight:bold}
@media(max-width:700px){
 .brand{font-size:29px}h1{font-size:28px}main{padding:28px 18px 45px}
 .cards,.team{grid-template-columns:1fr}
 .photos{grid-template-columns:repeat(3,1fr);gap:5px}
 .photos.two{grid-template-columns:repeat(2,1fr)}
 .photos img{height:auto;max-height:220px}.photos.logos img{height:auto;max-height:120px}.team img{height:auto;max-height:320px}
 nav a{padding:11px 10px;font-size:15px}
}

/* V5: einheitlich kleinere Bildbereiche, ohne Beschnitt oder Verzerrung */
.photos{align-items:center;justify-items:center}
.photos img{
  width:100%;
  height:200px;
  max-width:280px;
  object-fit:contain;
  object-position:center;
  border-radius:7px;
  display:block;
  margin:auto;
}
.photos.one img{
  width:auto;
  max-width:100%;
  height:auto;
  max-height:320px;
}
.photos.logos img{
  width:auto;
  max-width:100%;
  height:auto;
  max-height:130px;
  object-fit:contain;
}
.team img{
  width:100%;
  height:260px;
  max-width:320px;
  object-fit:contain;
  object-position:center;
  display:block;
  margin:auto;
}
.site-logo img{
  width:auto;
  max-width:160px;
  max-height:90px;
  height:auto;
  object-fit:contain;
}

/* Dropdown Leistungen */
nav .dropdown{position:relative;display:inline-block}
nav .dropbtn{display:block;color:#fff;text-decoration:none;padding:13px 15px;cursor:pointer}
nav .dropdown-content{
  display:none;position:absolute;left:0;top:100%;min-width:210px;
  background:#333;box-shadow:0 8px 18px rgba(0,0,0,.18);z-index:1000
}
nav .dropdown-content a{display:block;text-align:left;white-space:nowrap}
nav .dropdown:hover .dropdown-content,
nav .dropdown:focus-within .dropdown-content{display:block}
nav .dropbtn::after{content:" \25BE";font-size:.85em}
@media(max-width:700px){
  .photos img{height:110px;max-width:160px}
  .photos.one img{height:auto;max-height:250px;max-width:100%}
  .team img{height:auto;max-height:280px}
  .site-logo img{max-width:120px;max-height:70px}
  nav .dropdown-content{position:absolute;min-width:190px}
}
