.dienst-page { --ink:#20302c; --muted:#64716d; --warm:#f6f1e9; color:var(--ink); }
.dienst-page section { margin-bottom:clamp(4rem,8vw,7rem); }
.dienst-eyebrow { display:block; color:#276749; font-size:.78rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.dienst-hero { overflow:hidden; border-radius:2rem; background:linear-gradient(135deg,#f7f2ea,#e9f1ec); box-shadow:0 22px 60px rgba(31,48,43,.1); }
.dienst-hero-copy { padding:clamp(2rem,5vw,4.75rem); }
.dienst-hero h1 { margin:.8rem 0 1.2rem; font-size:clamp(2.35rem,5vw,4.5rem); line-height:1.03; letter-spacing:-.04em; }
.dienst-hero p,.dienst-intro p,.dienst-cta p { color:var(--muted); font-size:1.08rem; line-height:1.7; }
.dienst-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.2rem; }
.dienst-actions .btn { border-radius:.75rem; font-weight:700; }
.dienst-hero-image { position:relative; min-height:100%; }
.dienst-hero-image img { display:block; width:100%; height:100%; min-height:430px; object-fit:cover; }
.dienst-hero-image > span { position:absolute; left:1.25rem; bottom:1.25rem; padding:.65rem .9rem; border-radius:.75rem; background:rgba(255,255,255,.93); box-shadow:0 8px 25px rgba(0,0,0,.13); font-size:.86rem; }
.dienst-intro { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,7vw,6rem); align-items:center; }
.dienst-intro h2,.dienst-section-heading h2,.dienst-review-heading h2,.dienst-cta h2 { margin:.55rem 0 1rem; font-size:clamp(1.9rem,3.4vw,3rem); letter-spacing:-.03em; }
.dienst-intro ul { margin:0; padding:1.8rem 2rem; list-style:none; border-radius:1.25rem; background:var(--warm); }
.dienst-intro li { position:relative; padding:.75rem 0 .75rem 1.7rem; border-bottom:1px solid #e4ddd2; }
.dienst-intro li:last-child { border-bottom:0; }
.dienst-intro li::before { content:'✓'; position:absolute; left:0; color:#27815a; font-weight:800; }
.dienst-section-heading { max-width:720px; margin:0 auto 2rem; text-align:center; }
.dienst-step { height:100%; padding:1.8rem; border-radius:1.25rem; background:#fff; box-shadow:0 12px 34px rgba(31,48,43,.07); }
.dienst-step > span { display:grid; width:46px; height:46px; margin-bottom:1.15rem; place-items:center; border-radius:50%; background:#e9f0eb; color:#276749; font-weight:800; }
.dienst-step h3 { font-size:1.25rem; }
.dienst-step p { margin:0; color:var(--muted); line-height:1.65; }
.dienst-gallery { padding:clamp(1.5rem,4vw,3.5rem); border-radius:2rem; background:var(--warm); }
.dienst-gallery img { display:block; width:100%; height:auto; aspect-ratio:4/3; border-radius:1.25rem; object-fit:cover; box-shadow:0 12px 30px rgba(48,42,33,.09); }
.dienst-reviews { padding:clamp(1.7rem,4vw,3.7rem); border-radius:2rem; background:#203b32; color:#fff; }
.dienst-reviews .dienst-eyebrow { color:#a9bdb4; }
.dienst-review-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.7rem; }
.dienst-review { display:flex; height:100%; min-height:220px; flex-direction:column; padding:1.5rem; border-radius:1rem; background:#fff; color:var(--ink); }
.dienst-review strong { color:#19704b; }
.dienst-review blockquote { flex:1; margin:1rem 0; line-height:1.55; }
.dienst-review span { color:var(--muted); }
.dienst-cta { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-bottom:0!important; padding:clamp(2rem,5vw,4rem); border-radius:2rem; background:linear-gradient(120deg,#e8f0eb,#f7f1e9); }
.dienst-cta > div:first-child { max-width:710px; }
@media (max-width:991.98px) { .dienst-hero-image img { min-height:360px; max-height:520px; } .dienst-cta { align-items:flex-start; flex-direction:column; } }
@media (max-width:767.98px) { .dienst-intro { grid-template-columns:1fr; } .dienst-review-heading { align-items:flex-start; flex-direction:column; } }
@media (max-width:575.98px) { .dienst-page section { margin-bottom:3.5rem; } .dienst-hero,.dienst-gallery,.dienst-reviews,.dienst-cta { border-radius:1.25rem; } .dienst-hero-copy { padding:1.65rem; } .dienst-hero-image img { min-height:280px; } .dienst-actions,.dienst-actions .btn { width:100%; } }
