feat: add hallofraumaier.de — KI-gestützte Hausverwaltung

This commit is contained in:
m
2026-03-29 17:40:59 +02:00
parent a23fb8dcc1
commit 4f37b53c31
3 changed files with 964 additions and 0 deletions

View File

@@ -49,6 +49,11 @@
root * /srv/frenchkis.de
file_server
}
@hallofraumaier_de host hallofraumaier.de
handle @hallofraumaier_de {
root * /srv/hallofraumaier.de
file_server
}
@heygoldi_de host heygoldi.de heygoldi.com
handle @heygoldi_de {
root * /srv/heygoldi.de

View File

@@ -0,0 +1,955 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hallo Frau Maier — KI-gestützte Hausverwaltung</title>
<meta name="description" content="Ihre Hausverwaltung ist jetzt immer erreichbar. Auch nachts. Auch bei Wasserschäden. Frau Maier — die KI-Hausverwaltung, die nie schläft.">
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🏠</text></svg>">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=DM+Serif+Display&display=swap" rel="stylesheet">
<style>
*, *::before, *::after {
margin: 0; padding: 0; box-sizing: border-box;
}
:root {
--sand: #F7F2EB;
--sand-dark: #EDE5D8;
--clay: #C4A882;
--clay-dark: #A68B62;
--terracotta: #C06B3E;
--terracotta-soft: rgba(192, 107, 62, 0.12);
--water: #4A9FBF;
--water-deep: #2D7A9C;
--water-glow: rgba(74, 159, 191, 0.15);
--water-subtle: rgba(74, 159, 191, 0.08);
--text: #2C231A;
--text-soft: #7A6B5A;
--text-light: #A69780;
--white: #FFFFFF;
--card-border: rgba(196, 168, 130, 0.25);
}
html { scroll-behavior: smooth; }
body {
font-family: 'DM Sans', sans-serif;
background: var(--sand);
color: var(--text);
overflow-x: hidden;
line-height: 1.65;
-webkit-font-smoothing: antialiased;
}
/* === SUBTLE GRAIN === */
body::before {
content: '';
position: fixed;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");
pointer-events: none;
z-index: 9999;
}
.container {
max-width: 1120px;
margin: 0 auto;
padding: 0 24px;
}
/* === NAV === */
nav {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 100;
padding: 20px 0;
transition: all 0.3s ease;
}
nav.scrolled {
background: rgba(247, 242, 235, 0.92);
backdrop-filter: blur(20px);
padding: 14px 0;
box-shadow: 0 1px 0 var(--card-border);
}
nav .container {
display: flex;
justify-content: space-between;
align-items: center;
}
.nav-logo {
font-family: 'DM Serif Display', serif;
font-size: 1.25rem;
color: var(--text);
text-decoration: none;
display: flex;
align-items: center;
gap: 10px;
}
.nav-logo .drop {
width: 32px;
height: 32px;
background: var(--water);
border-radius: 50% 50% 50% 0;
transform: rotate(-45deg);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.nav-logo .drop span {
transform: rotate(45deg);
color: white;
font-size: 14px;
font-family: 'DM Sans', sans-serif;
font-weight: 700;
}
.nav-cta {
padding: 10px 24px;
background: var(--terracotta);
color: white;
border: none;
border-radius: 100px;
font-size: 0.9rem;
font-weight: 600;
text-decoration: none;
cursor: pointer;
transition: all 0.25s ease;
}
.nav-cta:hover {
background: #D47A4E;
transform: translateY(-1px);
}
/* === HERO === */
.hero {
padding: 160px 0 100px;
position: relative;
}
.hero-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: center;
}
.hero-badge {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
background: var(--water-subtle);
border: 1px solid rgba(74, 159, 191, 0.2);
border-radius: 100px;
font-size: 0.82rem;
font-weight: 500;
color: var(--water-deep);
margin-bottom: 28px;
}
.hero-badge .pulse {
width: 8px;
height: 8px;
background: var(--water);
border-radius: 50%;
animation: pulse 2s infinite;
}
@keyframes pulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.5; transform: scale(1.3); }
}
.hero h1 {
font-family: 'DM Serif Display', serif;
font-size: clamp(2.4rem, 4.5vw, 3.4rem);
line-height: 1.15;
color: var(--text);
margin-bottom: 24px;
}
.hero h1 .highlight {
color: var(--terracotta);
}
.hero p {
font-size: 1.15rem;
color: var(--text-soft);
max-width: 480px;
margin-bottom: 36px;
}
.hero-actions {
display: flex;
gap: 16px;
align-items: center;
}
.btn-primary {
padding: 16px 36px;
background: var(--terracotta);
color: white;
border: none;
border-radius: 100px;
font-size: 1rem;
font-weight: 600;
text-decoration: none;
cursor: pointer;
transition: all 0.25s ease;
display: inline-flex;
align-items: center;
gap: 8px;
}
.btn-primary:hover {
background: #D47A4E;
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(192, 107, 62, 0.25);
}
.btn-secondary {
padding: 16px 36px;
background: transparent;
color: var(--text);
border: 1.5px solid var(--card-border);
border-radius: 100px;
font-size: 1rem;
font-weight: 500;
text-decoration: none;
cursor: pointer;
transition: all 0.25s ease;
}
.btn-secondary:hover {
border-color: var(--clay-dark);
background: var(--sand-dark);
}
/* Hero visual — Chat mockup */
.hero-visual {
position: relative;
}
.chat-mockup {
background: var(--white);
border-radius: 20px;
border: 1px solid var(--card-border);
box-shadow: 0 20px 60px rgba(44, 35, 26, 0.08), 0 1px 3px rgba(44, 35, 26, 0.04);
padding: 0;
overflow: hidden;
}
.chat-header {
padding: 16px 20px;
background: linear-gradient(135deg, var(--terracotta), #D47A4E);
display: flex;
align-items: center;
gap: 12px;
}
.chat-avatar {
width: 40px;
height: 40px;
background: rgba(255,255,255,0.2);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.1rem;
color: white;
font-weight: 700;
}
.chat-header-info {
color: white;
}
.chat-header-info .name {
font-weight: 600;
font-size: 0.95rem;
}
.chat-header-info .status {
font-size: 0.75rem;
opacity: 0.85;
display: flex;
align-items: center;
gap: 5px;
}
.chat-header-info .status .online-dot {
width: 6px;
height: 6px;
background: #4ADE80;
border-radius: 50%;
}
.chat-body {
padding: 20px;
display: flex;
flex-direction: column;
gap: 12px;
min-height: 260px;
}
.chat-msg {
max-width: 80%;
padding: 12px 16px;
border-radius: 16px;
font-size: 0.9rem;
line-height: 1.5;
opacity: 0;
animation: chatFadeIn 0.4s ease forwards;
}
.chat-msg.user {
align-self: flex-end;
background: var(--sand-dark);
color: var(--text);
border-bottom-right-radius: 4px;
}
.chat-msg.bot {
align-self: flex-start;
background: var(--terracotta);
color: white;
border-bottom-left-radius: 4px;
}
.chat-msg:nth-child(1) { animation-delay: 0.5s; }
.chat-msg:nth-child(2) { animation-delay: 1.5s; }
.chat-msg:nth-child(3) { animation-delay: 2.8s; }
.chat-msg:nth-child(4) { animation-delay: 4s; }
@keyframes chatFadeIn {
from { opacity: 0; transform: translateY(8px); }
to { opacity: 1; transform: translateY(0); }
}
.chat-time {
font-size: 0.7rem;
color: var(--text-light);
text-align: center;
margin-bottom: 4px;
opacity: 0;
animation: chatFadeIn 0.4s ease 0.2s forwards;
}
/* Floating elements */
.float-badge {
position: absolute;
background: var(--white);
border: 1px solid var(--card-border);
border-radius: 12px;
padding: 10px 16px;
font-size: 0.82rem;
font-weight: 500;
box-shadow: 0 8px 24px rgba(44, 35, 26, 0.08);
display: flex;
align-items: center;
gap: 8px;
animation: floatBadge 3s ease-in-out infinite;
}
.float-badge.top-left {
top: -16px;
left: -24px;
animation-delay: 0s;
}
.float-badge.bottom-right {
bottom: -12px;
right: -20px;
animation-delay: 1.5s;
}
@keyframes floatBadge {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-6px); }
}
/* === TRUST BAR === */
.trust-bar {
padding: 60px 0;
border-top: 1px solid var(--card-border);
border-bottom: 1px solid var(--card-border);
}
.trust-items {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 40px;
text-align: center;
}
.trust-item .number {
font-family: 'DM Serif Display', serif;
font-size: 2rem;
color: var(--terracotta);
margin-bottom: 4px;
}
.trust-item .label {
font-size: 0.85rem;
color: var(--text-soft);
}
/* === FEATURES === */
.features {
padding: 100px 0;
}
.section-label {
font-size: 0.82rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--water-deep);
margin-bottom: 12px;
}
.section-title {
font-family: 'DM Serif Display', serif;
font-size: clamp(1.8rem, 3vw, 2.4rem);
line-height: 1.2;
margin-bottom: 16px;
}
.section-subtitle {
font-size: 1.05rem;
color: var(--text-soft);
max-width: 560px;
margin-bottom: 56px;
}
.features-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.feature-card {
background: var(--white);
border: 1px solid var(--card-border);
border-radius: 16px;
padding: 32px 28px;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
.feature-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, var(--terracotta), var(--water));
opacity: 0;
transition: opacity 0.3s ease;
}
.feature-card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 32px rgba(44, 35, 26, 0.1);
border-color: transparent;
}
.feature-card:hover::before {
opacity: 1;
}
.feature-icon {
width: 48px;
height: 48px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.3rem;
margin-bottom: 20px;
}
.feature-icon.emergency { background: rgba(239, 68, 68, 0.1); }
.feature-icon.always-on { background: var(--water-glow); }
.feature-icon.costs { background: var(--terracotta-soft); }
.feature-icon.craft { background: rgba(74, 159, 191, 0.1); }
.feature-icon.comm { background: rgba(168, 139, 250, 0.1); }
.feature-card h3 {
font-size: 1.05rem;
font-weight: 600;
margin-bottom: 8px;
}
.feature-card p {
font-size: 0.9rem;
color: var(--text-soft);
line-height: 1.6;
}
/* Highlight card spans 2 cols */
.feature-card.wide {
grid-column: span 2;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: center;
}
.feature-card.wide .feature-visual {
background: var(--sand);
border-radius: 12px;
padding: 24px;
text-align: center;
}
.feature-card.wide .feature-visual .big-icon {
font-size: 3rem;
margin-bottom: 12px;
}
.feature-card.wide .feature-visual .caption {
font-size: 0.82rem;
color: var(--text-soft);
}
/* === HOW IT WORKS === */
.how-it-works {
padding: 100px 0;
background: var(--sand-dark);
}
.steps {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
margin-top: 56px;
}
.step {
text-align: center;
padding: 40px 28px;
}
.step-number {
width: 56px;
height: 56px;
margin: 0 auto 24px;
background: var(--white);
border: 2px solid var(--card-border);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-family: 'DM Serif Display', serif;
font-size: 1.3rem;
color: var(--terracotta);
transition: all 0.3s ease;
}
.step:hover .step-number {
background: var(--terracotta);
color: white;
border-color: var(--terracotta);
}
.step h3 {
font-size: 1.1rem;
font-weight: 600;
margin-bottom: 10px;
}
.step p {
font-size: 0.9rem;
color: var(--text-soft);
line-height: 1.6;
}
/* === CTA === */
.cta-section {
padding: 100px 0;
}
.cta-card {
background: linear-gradient(135deg, #2C231A 0%, #3D3022 100%);
border-radius: 24px;
padding: 72px 60px;
text-align: center;
position: relative;
overflow: hidden;
}
.cta-card::before {
content: '';
position: absolute;
top: -50%;
right: -20%;
width: 400px;
height: 400px;
background: radial-gradient(circle, var(--water-glow), transparent 70%);
pointer-events: none;
}
.cta-card::after {
content: '';
position: absolute;
bottom: -30%;
left: -10%;
width: 300px;
height: 300px;
background: radial-gradient(circle, rgba(192, 107, 62, 0.15), transparent 70%);
pointer-events: none;
}
.cta-card .moon {
font-size: 3.5rem;
margin-bottom: 24px;
display: block;
position: relative;
z-index: 1;
}
.cta-card h2 {
font-family: 'DM Serif Display', serif;
font-size: clamp(1.8rem, 3vw, 2.6rem);
color: var(--sand);
margin-bottom: 16px;
position: relative;
z-index: 1;
}
.cta-card h2 .water-text {
color: var(--water);
}
.cta-card p {
font-size: 1.05rem;
color: var(--clay);
max-width: 520px;
margin: 0 auto 36px;
position: relative;
z-index: 1;
}
.cta-card .btn-primary {
position: relative;
z-index: 1;
background: var(--water);
font-size: 1.05rem;
padding: 18px 40px;
}
.cta-card .btn-primary:hover {
background: var(--water-deep);
box-shadow: 0 8px 24px rgba(74, 159, 191, 0.3);
}
/* === FOOTER === */
footer {
padding: 40px 0;
border-top: 1px solid var(--card-border);
}
footer .container {
display: flex;
justify-content: space-between;
align-items: center;
}
footer .footer-left {
font-size: 0.85rem;
color: var(--text-soft);
}
footer .footer-left a {
color: var(--text-soft);
text-decoration: none;
}
footer .footer-right {
font-size: 0.82rem;
color: var(--text-light);
}
/* === ANIMATIONS === */
.fade-up {
opacity: 0;
transform: translateY(24px);
transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.fade-up.visible {
opacity: 1;
transform: translateY(0);
}
/* === RESPONSIVE === */
@media (max-width: 900px) {
.hero-grid {
grid-template-columns: 1fr;
gap: 48px;
}
.hero-visual {
order: -1;
}
.features-grid {
grid-template-columns: 1fr;
}
.feature-card.wide {
grid-column: span 1;
grid-template-columns: 1fr;
}
.steps {
grid-template-columns: 1fr;
gap: 0;
}
.trust-items {
grid-template-columns: repeat(2, 1fr);
gap: 24px;
}
}
@media (max-width: 640px) {
.hero { padding: 120px 0 60px; }
.hero-actions {
flex-direction: column;
align-items: stretch;
text-align: center;
}
.cta-card {
padding: 48px 28px;
}
.float-badge { display: none; }
footer .container {
flex-direction: column;
gap: 12px;
text-align: center;
}
.nav-cta { display: none; }
}
</style>
</head>
<body>
<!-- Nav -->
<nav id="nav">
<div class="container">
<a href="#" class="nav-logo">
<div class="drop"><span>FM</span></div>
Frau Maier
</a>
<a href="mailto:hallofraumaier@msbls.de" class="nav-cta">Kontakt aufnehmen</a>
</div>
</nav>
<!-- Hero -->
<section class="hero">
<div class="container">
<div class="hero-grid">
<div class="hero-content">
<div class="hero-badge">
<div class="pulse"></div>
Jetzt erreichbar — rund um die Uhr
</div>
<h1>Ihre Hausverwaltung ist jetzt <span class="highlight">immer erreichbar</span></h1>
<p>Frau Maier ist die KI-gestützte Hausverwaltung, die nie schläft. Wasserschaden um 3 Uhr nachts? Heizung ausgefallen am Wochenende? Frau Maier ist da.</p>
<div class="hero-actions">
<a href="mailto:hallofraumaier@msbls.de" class="btn-primary">Hallo Frau Maier! <span></span></a>
<a href="#features" class="btn-secondary">Mehr erfahren</a>
</div>
</div>
<div class="hero-visual">
<div class="float-badge top-left">
<span>🌙</span> Auch um 3:00 Uhr nachts
</div>
<div class="chat-mockup">
<div class="chat-header">
<div class="chat-avatar">FM</div>
<div class="chat-header-info">
<div class="name">Frau Maier</div>
<div class="status"><span class="online-dot"></span> Online — immer</div>
</div>
</div>
<div class="chat-body">
<div class="chat-time">Heute, 02:47</div>
<div class="chat-msg user">Hallo Frau Maier, bei mir tropft's von der Decke! 😰</div>
<div class="chat-msg bot">Oh je! Ich kümmere mich sofort. Bitte drehen Sie den Haupthahn zu — ich schicke Ihnen gleich den Notdienst-Kontakt.</div>
<div class="chat-msg user">Danke, der Hahn ist zu.</div>
<div class="chat-msg bot">Perfekt! Der Klempner Herr Weber ist informiert und kommt gegen 3:30 Uhr. Ich halte Sie auf dem Laufenden. 🔧</div>
</div>
</div>
<div class="float-badge bottom-right">
<span>💧</span> Notfall? Sofort Hilfe
</div>
</div>
</div>
</div>
</section>
<!-- Trust Bar -->
<section class="trust-bar">
<div class="container">
<div class="trust-items">
<div class="trust-item fade-up">
<div class="number">24/7</div>
<div class="label">Erreichbarkeit</div>
</div>
<div class="trust-item fade-up">
<div class="number">&lt;2 Min</div>
<div class="label">Reaktionszeit</div>
</div>
<div class="trust-item fade-up">
<div class="number">100%</div>
<div class="label">Dokumentation</div>
</div>
<div class="trust-item fade-up">
<div class="number">0</div>
<div class="label">Verpasste Anrufe</div>
</div>
</div>
</div>
</section>
<!-- Features -->
<section class="features" id="features">
<div class="container">
<div class="section-label fade-up">Was Frau Maier kann</div>
<h2 class="section-title fade-up">Alles, was eine gute Hausverwaltung tut.<br>Nur ohne Wartezeit.</h2>
<p class="section-subtitle fade-up">Frau Maier kombiniert das Wissen erfahrener Hausverwalter mit der Geschwindigkeit und Verfügbarkeit moderner KI.</p>
<div class="features-grid">
<!-- Wide card: Emergency -->
<div class="feature-card wide fade-up">
<div>
<div class="feature-icon emergency">🚨</div>
<h3>Wasserschaden-Notfall</h3>
<p>Rohrbruch um 3 Uhr nachts? Frau Maier reagiert sofort: Anleitung zur Erstversorgung, Handwerker-Alarmierung und lückenlose Dokumentation für die Versicherung — alles in Minuten.</p>
</div>
<div class="feature-visual">
<div class="big-icon">💧</div>
<div class="caption">Sofort-Hilfe bei Wasserschäden —<br>Tag und Nacht</div>
</div>
</div>
<!-- Regular cards -->
<div class="feature-card fade-up">
<div class="feature-icon always-on">🕐</div>
<h3>24/7 Erreichbarkeit</h3>
<p>Keine Warteschleifen, keine Sprechzeiten, kein Anrufbeantworter. Frau Maier ist immer da — per Chat, Telefon oder E-Mail.</p>
</div>
<div class="feature-card fade-up">
<div class="feature-icon costs">📊</div>
<h3>Nebenkostenabrechnung</h3>
<p>Transparente, verständliche Abrechnungen — pünktlich und fehlerfrei. Fragen beantwortet Frau Maier jederzeit persönlich.</p>
</div>
<div class="feature-card fade-up">
<div class="feature-icon craft">🔧</div>
<h3>Handwerker-Koordination</h3>
<p>Frau Maier kennt die besten Handwerker in Ihrer Region, koordiniert Termine und überwacht die Ausführung — ohne dass Sie sich kümmern müssen.</p>
</div>
<div class="feature-card fade-up">
<div class="feature-icon comm">💬</div>
<h3>Mieterkommunikation</h3>
<p>Beschwerden, Anfragen, Informationen — Frau Maier kommuniziert freundlich, schnell und immer auf dem aktuellen Stand.</p>
</div>
</div>
</div>
</section>
<!-- How it works -->
<section class="how-it-works">
<div class="container">
<div class="section-label fade-up">So funktioniert's</div>
<h2 class="section-title fade-up">In drei Schritten zu Ihrer persönlichen Frau Maier</h2>
<div class="steps">
<div class="step fade-up">
<div class="step-number">1</div>
<h3>Hallo sagen</h3>
<p>Schreiben Sie uns. Wir lernen Ihr Objekt kennen — Größe, Mieter, Besonderheiten, Ihre Wünsche.</p>
</div>
<div class="step fade-up">
<div class="step-number">2</div>
<h3>Frau Maier einrichten</h3>
<p>Wir konfigurieren Ihre persönliche Frau Maier mit allen relevanten Informationen und Kontakten.</p>
</div>
<div class="step fade-up">
<div class="step-number">3</div>
<h3>Zurücklehnen</h3>
<p>Ab jetzt kümmert sich Frau Maier. Sie werden nur noch kontaktiert, wenn es wirklich nötig ist.</p>
</div>
</div>
</div>
</section>
<!-- CTA -->
<section class="cta-section">
<div class="container">
<div class="cta-card fade-up">
<span class="moon">🌙</span>
<h2>Frau Maier <span class="water-text">schläft nie</span></h2>
<p>Während Sie ruhig schlafen, ist Frau Maier wach. Für Ihre Mieter, Ihr Gebäude, Ihren Seelenfrieden.</p>
<a href="mailto:hallofraumaier@msbls.de" class="btn-primary">Jetzt kennenlernen <span></span></a>
</div>
</div>
</section>
<!-- Footer -->
<footer>
<div class="container">
<div class="footer-left">
&copy; 2026 Hallo Frau Maier &middot; <a href="mailto:hallofraumaier@msbls.de">hallofraumaier@msbls.de</a>
</div>
<div class="footer-right">
KI-gestützte Hausverwaltung
</div>
</div>
</footer>
<script>
// Nav scroll effect
const nav = document.getElementById('nav');
window.addEventListener('scroll', () => {
nav.classList.toggle('scrolled', window.scrollY > 40);
});
// Intersection Observer for fade-up
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
}
});
}, { threshold: 0.1, rootMargin: '0px 0px -40px 0px' });
document.querySelectorAll('.fade-up').forEach(el => observer.observe(el));
</script>
</body>
</html>

View File

@@ -0,0 +1,4 @@
domain: hallofraumaier.de
template: custom
title: "Hallo Frau Maier — KI-gestützte Hausverwaltung"
description: "Ihre Hausverwaltung ist jetzt immer erreichbar. Auch nachts. Auch bei Wasserschäden."