
:root{--rot:#b01c2e;--ink:#1c1c1c}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
a{color:var(--rot);text-decoration:none}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
/* Kopf */
header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:10}
header .wrap{display:flex;align-items:center;gap:26px;padding:14px 20px}
.logo{font-family:Georgia,'Times New Roman',serif;font-size:22px;color:#111;white-space:nowrap}
.logo b{color:var(--rot)}
.logo small{display:block;font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:#777;border-top:2px solid var(--rot);margin-top:2px;padding-top:2px}
nav{margin-left:auto;display:flex;gap:20px;flex-wrap:wrap}
nav a{color:#333;font-weight:600;font-size:15px}
nav a:hover{color:var(--rot)}
/* Hero */
.hero{position:relative;color:#fff;min-height:440px;display:flex;align-items:flex-end;background:#222 center/cover no-repeat}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 40%,rgba(0,0,0,.65))}
.hero .wrap{position:relative;z-index:1;padding-bottom:46px;width:100%}
.hero .kicker{font-size:13px;letter-spacing:3px;text-transform:uppercase;font-weight:700;color:#ffd9dd;margin-bottom:10px}
.hero h1{font-size:clamp(26px,4.5vw,44px);margin:0 0 10px;line-height:1.2;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.hero p{max-width:640px;margin:0;font-size:17px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
/* Abschnitte */
section{padding:56px 0}
section.grau{background:#f7f6f4}
h2.titel{font-size:28px;margin:0 0 6px}
h2.titel::before{content:"";display:block;width:44px;height:4px;background:var(--rot);border-radius:2px;margin-bottom:12px}
.untertitel{color:#666;margin:0 0 30px}
/* Angebots-Kacheln */
.kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px}
.kachel{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 14px rgba(0,0,0,.09);transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;color:inherit}
a.kachel:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.14)}
.kachel .bild{height:210px;background:#e8e6e3 center/cover no-repeat;position:relative}
.kachel .band{position:absolute;top:14px;left:0;background:var(--rot);color:#fff;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:5px 12px;border-radius:0 4px 4px 0}
.kachel .band.grauband{background:#555}
.kachel .inhalt{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.kachel h3{margin:0;font-size:17px;line-height:1.35}
.kachel .ort{color:#666;font-size:14px}
.kachel .fakten{display:flex;gap:14px;color:#555;font-size:13.5px;flex-wrap:wrap}
.kachel .preis{margin-top:auto;padding-top:10px;font-weight:800;font-size:17px;color:var(--rot)}
/* Dienstleistungen */
.dienste{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}
.dienst{background:#fff;border-radius:12px;padding:22px;box-shadow:0 2px 10px rgba(0,0,0,.07)}
.dienst .ico{width:44px;height:44px;border-radius:10px;background:var(--rot);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:12px}
.dienst h3{margin:0 0 6px;font-size:17px}
.dienst p{margin:0;color:#555;font-size:14.5px}
/* Über uns / Kontakt */
.zweispaltig{display:grid;grid-template-columns:1fr 1fr;gap:40px}
@media(max-width:760px){.zweispaltig{grid-template-columns:1fr}}
.kontaktbox{background:#fff;border-radius:12px;padding:26px;box-shadow:0 2px 12px rgba(0,0,0,.08)}
.kontaktbox p{margin:0 0 10px}
.btn{display:inline-block;background:var(--rot);color:#fff;font-weight:700;padding:13px 26px;border-radius:9px;font-size:16px}
.btn:hover{filter:brightness(1.1)}
/* Detailseite */
.galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:22px 0}
.galerie a{display:block;height:180px;border-radius:8px;background:#e8e6e3 center/cover no-repeat}
.galerie a:first-child{grid-column:1/-1;height:420px}
@media(max-width:600px){.galerie a:first-child{height:240px}}
.eck-tab{width:100%;border-collapse:collapse;font-size:15px;margin:8px 0 22px}
.eck-tab td{border-bottom:1px solid #eee;padding:9px 0;vertical-align:top}
.eck-tab td:first-child{color:#666;width:45%%}
.eck-tab td:last-child{font-weight:600}
footer{background:#191919;color:#bbb;padding:34px 0;font-size:14px}
footer a{color:#ddd}
footer .wrap{display:flex;gap:30px;flex-wrap:wrap;justify-content:space-between}
