/* KHV – Baustellen-Seite */
:root { --bordeaux:#643B46; --bordeaux-tief:#3a2229; --creme:#F7F4EE; --sand:#E5DCCD; --sand-hell:#EFE9DF; --anthrazit:#292F32; --taupe:#A99690; --grau:#6b6460;
  --serif: Georgia, "Times New Roman", serif; --sans: Arial, Helvetica, sans-serif; }
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { -webkit-text-size-adjust:100%; }
body { min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; background:var(--creme); color:var(--anthrazit); font:17px/1.6 var(--sans); -webkit-font-smoothing:antialiased; overflow-x:hidden; position:relative; isolation:isolate; }
body::before { content:""; position:fixed; z-index:-1; width:80vmax; height:80vmax; right:-25vmax; top:-30vmax; background:radial-gradient(closest-side, rgba(229,220,205,.95), rgba(229,220,205,0)); }
body::after { content:""; position:fixed; z-index:-1; width:55vmax; height:55vmax; left:-22vmax; bottom:-28vmax; background:radial-gradient(closest-side, rgba(169,150,144,.28), transparent); }
a { color:var(--bordeaux); }
:focus-visible { outline:3px solid var(--taupe); outline-offset:3px; border-radius:6px; }
.wrap { width:100%; max-width:1080px; margin:0 auto; padding-inline:32px; }
header { padding:32px 0 0; }
header img { height:34px; width:auto; display:block; }
main { flex:1; display:flex; align-items:center; padding:64px 0; }
.grid { display:grid; grid-template-columns:1.2fr .8fr; gap:64px; align-items:center; }
.eyebrow { display:inline-flex; align-items:center; gap:12px; font:700 12px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--bordeaux); }
.eyebrow::before { content:""; width:28px; height:1px; background:currentColor; opacity:.6; }
h1 { font:400 clamp(40px,5.6vw,72px)/1.04 var(--serif); letter-spacing:-.02em; margin:22px 0 24px; }
h1 em { color:var(--bordeaux); }
.lead { font-size:clamp(18px,1.6vw,20px); color:#3f4548; max-width:540px; }
.ctas { display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
.btn { display:inline-flex; align-items:center; gap:10px; text-decoration:none; font:700 15px/1 var(--sans); padding:18px 26px; border-radius:999px; background:var(--bordeaux); color:var(--creme); box-shadow:0 6px 18px rgba(100,59,70,.22); transition:background .2s, transform .2s; }
.btn:hover { background:#4a2b34; }
.btn-light { background:#fff; color:var(--anthrazit); box-shadow:none; border:1.5px solid rgba(41,47,50,.12); }
.btn-light:hover { background:#fff; border-color:var(--anthrazit); }
.btn svg { width:18px; height:18px; }
.card { position:relative; border-radius:28px; padding:36px 32px 64px; color:var(--creme); overflow:hidden; background:linear-gradient(155deg,#7a4a57 0%, var(--bordeaux) 45%, var(--bordeaux-tief) 100%); box-shadow:0 30px 70px rgba(58,34,41,.25); }
.card::after { content:""; position:absolute; width:300px; height:300px; right:-110px; top:-110px; background:radial-gradient(closest-side, rgba(247,244,238,.2), transparent); }
.card .label { font:700 11px var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--taupe); }
.card ul { list-style:none; margin-top:18px; }
.card li { font:400 26px/1.25 var(--serif); padding:12px 0; border-bottom:1px solid rgba(247,244,238,.14); }
.card li:last-child { border-bottom:0; }
.card p { margin-top:18px; font-size:15px; color:rgba(247,244,238,.8); }
.chip { position:absolute; display:flex; align-items:center; gap:12px; left:-36px; bottom:-26px; background:rgba(255,255,255,.92); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); padding:12px 18px 12px 12px; border-radius:18px; box-shadow:0 12px 40px rgba(41,47,50,.12); font-size:13px; line-height:1.3; color:var(--grau); animation:float 7s ease-in-out infinite; }
.chip b { display:block; font:400 19px/1.15 var(--serif); color:var(--anthrazit); }
.avatars { display:flex; }
.avatars span { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; font:400 15px var(--serif); color:var(--creme); background:var(--bordeaux); border:2px solid #fff; }
.avatars span + span { margin-left:-12px; background:var(--taupe); }
.visual { position:relative; }
@keyframes float { 50% { transform:translateY(-8px); } }
footer { padding:24px 0 32px; font-size:14px; color:var(--grau); }
footer .wrap { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; border-top:1px solid var(--sand); padding-top:20px; }
footer a { color:var(--anthrazit); text-decoration:none; }
footer a:hover { color:var(--bordeaux); }
/* Rechtstexte */
.legal { padding:56px 0 72px; max-width:780px; }
.legal h1 { font-size:clamp(36px,5vw,56px); margin:0 0 32px; }
.legal h2 { font:400 24px/1.25 var(--serif); margin:32px 0 10px; }
.legal p, .legal li { margin-bottom:10px; }
.legal ul { padding-left:20px; }
.todo { background:#fff1c9; padding:0 4px; border-radius:4px; }
@media (prefers-reduced-motion: reduce) { .chip { animation:none; } }
@media (max-width: 860px) {
  .grid { grid-template-columns:1fr; gap:56px; }
  .visual { max-width:440px; }
  .chip { left:16px; }
}
@media (max-width: 560px) {
  .wrap { padding-inline:16px; }
  header img { height:28px; }
  main { padding:40px 0 56px; }
  .btn { width:100%; justify-content:center; }
  .card li { font-size:22px; }
}
