:root{
  --bg:#ffffff; --text:#1f1f23; --muted:#6b6b70; --line:#e9e9ee;
  --bordeaux:#7a001c; --shadow:0 10px 30px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}
.container{width:min(1100px,92%);margin:auto}
.section{padding:clamp(2rem,5vw,3.2rem) 0;scroll-margin-top:96px}
.section.alt{background:#fafafa}
h1,h2,h3{margin:.4rem 0;line-height:1.2}
p{margin:0 0 1rem}
ul{margin:0 0 1rem;padding-left:1.2rem}

.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;border-bottom:1px solid var(--line);
  background: linear-gradient(90deg, var(--bordeaux) 0%, #ffffff 70%);transition: opacity .8s ease;}
.site-header.fade-out{opacity:0;pointer-events:none}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:96px}
.main-nav .nav-link{margin-right:1rem;text-decoration:none;color:#fff;font-weight:700}
.main-nav .nav-link:hover{opacity:.9}
.lang-switch{display:flex;gap:.4rem;align-items:center;background:#fff;padding:.25rem .5rem;border-radius:999px;border:1px solid var(--line)}
.lang-switch .lang{line-height:0;background:none;border:0;padding:.1rem .2rem;cursor:pointer}
.lang-switch img{width:24px;height:16px;display:block}

.hero{padding-top:118px;padding-bottom:.6rem}
.hero-grid{display:grid;grid-template-columns:1fr .8fr;gap:2rem;align-items:center}

/* Verschiebt Logo, Slogan und Portrait gemeinsam proportional nach rechts */
.hero-left {
  transform: translateX(10%);
}

.hero-logo{width:min(420px,50vw);height:auto;margin:0 0 .2rem 0;display:block}

/* Slogan kleiner und etwas weiter nach rechts */
.slogan{
  color:#2a2a2a;
  font-size:clamp(0.85rem,1.8vw,1.2rem);
  margin-top:.1rem;
  padding-left:40px;
}

.hero-portrait{width:min(280px,42vw);height:auto;border-radius:12px;box-shadow:var(--shadow);justify-self:center}

.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.2rem;box-shadow:var(--shadow)}
.block{text-align:justify}
.checklist{list-style:none;padding:0}
.checklist li{padding-left:1.5rem;position:relative;margin:.25rem 0}
.checklist li::before{content:"✓";position:absolute;left:0;color:var(--bordeaux)}

.soft{border:0;border-top:1px solid var(--line);margin:1rem 0}

.grid-contact{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
label{display:block;margin-top:.6rem;font-size:.95rem}
input,textarea{width:100%;padding:.6rem;border:1px solid var(--line);border-radius:8px;font-size:1rem}
button.btn{margin-top:1rem;background:var(--bordeaux);color:#fff;border:0;padding:.75rem 1rem;border-radius:10px;cursor:pointer;font-weight:800}
button.btn:hover{filter:brightness(1.05)}
.micro{font-size:.85rem;color:var(--muted)}
.confirm{margin-top:.7rem;color:green;font-weight:700}
.hidden{display:none}

.site-footer{border-top:1px solid var(--line);padding:1.2rem 0;text-align:center;color:var(--muted)}

@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:1rem}
  .grid-contact{grid-template-columns:1fr}
  .main-nav .nav-link{color:#fff}
  .hero{padding-bottom:0}
}

/* Portrait kleiner */
.hero img.portrait {
  width: 20%;
  max-width: 160px;
  display: block;
  margin: 20px auto;
  border-radius: 50%;
}