*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;background:#f4f4f0;color:#171717}.topbar{position:fixed;z-index:10;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:22px 5vw;color:#fff;background:linear-gradient(rgba(0,0,0,.55),transparent)}.topbar a{color:#fff;text-decoration:none}.topbar nav{display:flex;gap:22px}.brand{font-weight:700}.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;background:#111;color:#fff}.slides,.slide,.overlay{position:absolute;inset:0}.slide{opacity:0;background-size:cover;background-position:center;transition:opacity 1.3s ease,transform 7s linear;transform:scale(1.04)}.slide.active{opacity:1;transform:scale(1)}.overlay{background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.2))}.hero-content{position:relative;z-index:2;max-width:760px;margin:0 7vw 12vh}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:#d4a437;font-size:.8rem}.eyebrow.dark{color:#755817}h1{font-size:clamp(3rem,8vw,7rem);margin:0}h2{font-size:clamp(2.4rem,5vw,4.6rem);margin:0}.hero-content p{font-size:1.15rem;line-height:1.6}.button{display:inline-flex;padding:15px 24px;border:0;border-radius:999px;background:#d4a437;color:#111;text-decoration:none;font-weight:700;cursor:pointer}.dark-button{background:#102019;color:#fff}.controls{position:absolute;z-index:3;right:5vw;bottom:45px;display:flex;gap:10px}.controls button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.12);color:#fff;cursor:pointer}.contact-section{max-width:1200px;margin:auto;padding:110px 24px;display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.contact-copy p{color:#666;line-height:1.7}.contact-form{position:relative;background:#fff;padding:38px;border-radius:24px;box-shadow:0 25px 70px rgba(0,0,0,.08)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px}.field label{display:block;font-weight:700;margin-bottom:8px}input,textarea{width:100%;padding:14px;border:1px solid #ccc;border-radius:12px;font:inherit}.privacy{display:flex;gap:10px;align-items:flex-start;color:#666;margin-bottom:18px}.privacy input{width:auto;margin-top:3px}.error{display:block;color:#a12727;min-height:18px;margin-top:5px}.form-status.success{color:#17643b}.form-status.failure{color:#a12727}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}footer{padding:28px;text-align:center;background:#102019;color:#fff}@media(max-width:800px){.topbar nav{display:none}.contact-section{grid-template-columns:1fr;gap:40px}.field-row{grid-template-columns:1fr}.hero-content{margin-bottom:130px}.controls{left:24px;right:auto}}
.gallery-notice {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 32px;
  text-align: center;
  color: rgba(255, 255, 255, 0.85);
  font-size: clamp(1rem, 2vw, 1.3rem);
  background: linear-gradient(135deg, #0e4f2d, #102019);
}

.controls button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}


/* Hoch- und Querformat automatisch korrekt darstellen */
.slide {
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #101010;
  transform: none;
  transition: opacity 2s ease;
}

.slide.active {
  transform: none;
}

.slide-background {
  position: absolute;
  inset: -7%;
  background-position: center;
  background-size: cover;
  filter: blur(38px);
  transform: scale(1.14);
  opacity: 0.76;
}

.slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.14);
}

.slide-image {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  box-shadow: 0 22px 80px rgba(0, 0, 0, 0.3);
}

.slide.landscape .slide-image {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  box-shadow: none;
}

.slide.portrait .slide-image {
  height: 100%;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

@media (max-width: 800px) {
  .slide.portrait .slide-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
