:root{--bg:#ffffff;--soft:#eef5fb;--ink:#0f2433;--muted:#4f6474;--blue:#0a6cb0;--blue-d:#085890;--aqua:#2bb5c9;--line:#0f243317}
body{background:var(--bg);color:var(--ink);font:400 18px/1.7 Hanken,system-ui,sans-serif}
h1,h2,h3,.logo{font-family:Manrope,system-ui,sans-serif;font-weight:800;letter-spacing:-.025em;line-height:1.1;margin:0}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:14px;font-weight:500;text-decoration:none;border:2px solid transparent;transition:background-color .2s,border-color .2s}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-d)}
.btn-soft{background:var(--soft);color:var(--blue)}
.btn-soft:hover{border-color:var(--blue)}
svg.i{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Kopf */
.top{position:sticky;top:0;z-index:50;background:#ffffffee;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:26px;height:76px}
.logo{display:flex;align-items:center;gap:10px;font-size:1.25rem;text-decoration:none}
.logo b{display:grid;place-items:center;width:36px;height:36px;border-radius:50% 50% 50% 8px;background:linear-gradient(140deg,var(--aqua),var(--blue));color:#fff}
.logo small{display:block;font:500 .85rem Hanken;color:var(--muted);letter-spacing:0}
.nav{display:flex;gap:26px;margin-left:auto}
.nav a{text-decoration:none;font-weight:500;color:var(--muted)}
.nav a:hover{color:var(--blue)}
.top .tel{display:inline-flex;align-items:center;gap:8px;font-weight:500;text-decoration:none;color:var(--blue);padding-block:10px}
.menu{display:none;margin-left:auto;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:22px}

/* Start */
.hero{background:linear-gradient(180deg,var(--soft),#fff)}
.hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:64px 0 72px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:500;font-size:.95rem;color:var(--muted)}
.pill i{width:8px;height:8px;border-radius:50%;background:#1aa36b}
.hero h1{font-size:clamp(2.5rem,5.6vw,4.2rem);margin-top:20px}
.hero h1 span{color:var(--blue)}
.hero p{color:var(--muted);font-size:1.15rem;max-width:36ch;margin:20px 0 0}
.hero .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-media{position:relative}
.hero .ph{aspect-ratio:5/4;border-radius:28px;--ph-a:#d7e8f5;--ph-b:#b6d3ea}
.float{position:absolute;left:-24px;bottom:-24px;display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:18px;background:#fff;box-shadow:0 20px 40px -20px #0f243359;font-weight:500}
.float b{display:block;font-family:Manrope;font-size:1.3rem;color:var(--blue)}
.float span{font-size:.9rem;color:var(--muted)}
.float .i{width:36px;height:36px;padding:7px;border-radius:12px;background:var(--soft);color:var(--blue)}

/* Leistungen */
section{padding:84px 0}
.center{text-align:center}
.sec-h{font-size:clamp(2rem,4vw,2.9rem)}
.sec-p{color:var(--muted);max-width:52ch;margin:14px auto 0}
.svc{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:44px}
.svc article{display:grid;grid-template-columns:200px 1fr;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#fff}
.svc .ph{min-height:200px;--ph-a:#dceaf5;--ph-b:#c3dbef}
.svc .ph .ph-label{font-size:12px;left:10px;bottom:10px}
.svc .txt{padding:26px 24px}
.svc h3{font-size:1.3rem}
.svc p{color:var(--muted);font-size:1rem;margin:8px 0 0}
.svc a{display:inline-flex;align-items:center;gap:6px;margin-top:12px;color:var(--blue);font-weight:500;text-decoration:none;padding-block:6px}
.svc .icon-only{display:grid;place-items:center;background:var(--soft);color:var(--blue)}
.svc .icon-only .i{width:56px;height:56px;stroke-width:1.4}

/* Vertrauen */
.trust{background:var(--ink);color:#fff;padding:56px 0}
.trust ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.trust li{display:flex;gap:14px;align-items:flex-start}
.trust .i{width:42px;height:42px;padding:9px;border-radius:12px;background:#ffffff14;color:var(--aqua)}
.trust b{display:block;font-family:Manrope;font-size:1.1rem}
.trust span{color:#ffffffb3;font-size:.95rem}

/* Bad in 3 Schritten */
.bath .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.bath .ph{aspect-ratio:1;border-radius:28px;--ph-a:#e3eff8;--ph-b:#c7deef}
.tl{list-style:none;margin:28px 0 0;padding:0;position:relative}
.tl:before{content:"";position:absolute;left:21px;top:10px;bottom:10px;width:2px;background:#0a6cb033}
.tl li{position:relative;padding:0 0 22px 64px}
.tl li span{position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font:800 1.1rem Manrope}
.tl b{display:block;font-size:1.15rem;padding-top:8px}
.tl p{margin:4px 0 0;color:var(--muted);font-size:1rem}

/* FAQ */
.faq{max-width:780px;margin:40px auto 0}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font-weight:500;font-size:1.1rem}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";color:var(--blue);font:800 1.5rem/1 Manrope}
details[open] summary:after{content:"–"}
details p{margin:0 0 20px;color:var(--muted)}

/* Kontakt */
.contact{background:var(--soft)}
.contact .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:56px}
.card{background:#fff;border-radius:22px;padding:28px;border:1px solid var(--line)}
.call{display:flex;align-items:center;gap:14px;margin-top:26px;text-decoration:none}
.call b{display:block;font-family:Manrope;font-size:1.6rem;color:var(--blue)}
.call span{color:var(--muted);font-size:.95rem}
.call .i{width:52px;height:52px;padding:12px;border-radius:16px;background:var(--blue);color:#fff}
form{display:grid;gap:14px}
label{font-weight:500;font-size:.95rem}
input,select,textarea{width:100%;margin-top:6px;padding:14px 16px;border-radius:12px;border:1.5px solid #0f243326;background:#fff;color:var(--ink);font:inherit;font-size:1rem}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #0a6cb02e}
footer{padding:28px 0;color:var(--muted);font-size:.95rem;border-top:1px solid var(--line)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}

@media (max-width:980px){.svc{grid-template-columns:1fr}.trust ul{grid-template-columns:1fr 1fr}}
@media (max-width:820px){
  .nav{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:8px 20px 16px}
  .nav.open{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:1.1rem;color:var(--ink)}
  .menu{display:block}
  .top .tel{display:none}
  .hero .wrap,.bath .wrap,.contact .wrap{grid-template-columns:1fr;gap:40px}
  .hero .wrap{padding:36px 0 64px}
  .float{left:12px;bottom:-20px}
  section{padding:60px 0}
}
@media (max-width:560px){.svc article{grid-template-columns:1fr}.svc .ph{min-height:180px}.trust ul{grid-template-columns:1fr}}

/* ehemals Inline-Styles (CSP) */
.is-1{width:18px !important;height:18px !important}
.is-2{padding:0 !important}
.is-3{padding-top:0 !important}
.is-4{margin-left:0 !important}
