#demo-banner{ position:fixed; left:50%; bottom:14%; transform:translateX(-50%) translateY(12px);
  z-index:9999; text-align:center; opacity:0; transition:opacity .5s, transform .5s; pointer-events:none;
  background:rgba(21,17,25,.82); backdrop-filter:blur(6px); border:1px solid #3a3348; border-radius:14px;
  padding:14px 26px; box-shadow:0 10px 40px rgba(0,0,0,.5); }
#demo-banner.an{ opacity:1; transform:translateX(-50%) translateY(0); }
#demo-banner .db-t{ font:700 22px system-ui; color:#fff; letter-spacing:-.01em; }
#demo-banner .db-s{ font:500 13px system-ui; color:#b99bcb; margin-top:4px; }
.demo-puls{ position:fixed; width:20px; height:20px; z-index:9998; pointer-events:none;
  transform:translate(-50%,-50%); border-radius:50%; border:3px solid #6dbb92; box-shadow:0 0 24px #6dbb92;
  animation:demopuls 1.4s ease-out infinite; }
@keyframes demopuls{ 0%{ transform:translate(-50%,-50%) scale(.6); opacity:1 } 100%{ transform:translate(-50%,-50%) scale(3.2); opacity:0 } }

/* Matilde-Recherche-Zeile (oben) */
#demo-rech{ position:fixed; left:50%; top:12%; transform:translateX(-50%) translateY(-8px);
  z-index:9999; opacity:0; transition:opacity .4s, transform .4s; pointer-events:none;
  background:rgba(21,17,25,.9); border:1px solid #3a3348; border-radius:20px;
  padding:8px 18px; font:600 13px system-ui; color:#e4e0ea; }
#demo-rech.an{ opacity:1; transform:translateX(-50%) translateY(0); }
#demo-rech b{ color:#b99bcb; }
#demo-rech .dr-dot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:#6dbb92;
  margin-right:7px; box-shadow:0 0 10px #6dbb92; animation:drdot 1s ease-in-out infinite; }
@keyframes drdot{ 0%,100%{ opacity:.4 } 50%{ opacity:1 } }

/* NEUPROJEKTION — die Zwei-Fragen-Umschaltung (eigener Banner, mittig oben) */
#neupro-frage{ position:fixed; left:50%; top:11%; transform:translateX(-50%) translateY(-10px);
  z-index:10000; text-align:center; opacity:0; transition:opacity .45s, transform .45s; pointer-events:none;
  background:rgba(21,17,25,.86); backdrop-filter:blur(6px); border:1px solid #3a3348; border-radius:14px;
  padding:13px 26px; box-shadow:0 10px 40px rgba(0,0,0,.5); max-width:min(560px,86vw); }
#neupro-frage.an{ opacity:1; transform:translateX(-50%) translateY(0); }
#neupro-frage .np-t{ font:700 21px system-ui; color:#fff; letter-spacing:-.01em; }
#neupro-frage .np-s{ font:500 13px system-ui; color:#b99bcb; margin-top:5px; }
