/* Object-only RGBA drawings inherit their actual surrounding surface. */
:root{--illustration-filter:none}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--illustration-filter:brightness(1.5) saturate(.85)}}
:root[data-theme="dark"]{--illustration-filter:brightness(1.5) saturate(.85)}
.illustration{background:transparent;border-radius:18px;overflow:hidden;min-width:0}
.illustration img{display:block;width:100%;height:auto;object-fit:contain;filter:var(--illustration-filter)}
.illustration--hero img{max-height:350px}
.hero{align-items:center;gap:48px;padding-bottom:30px}
.home-contact{margin:0 0 18px}
.home-contact .contact-summary{padding:20px 26px}
.home-contact .standortliste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-contact .standortliste li{display:block;padding:0;border:0}
.home-contact .standortliste a{display:inline-flex;align-items:center;min-height:44px}
.home-contact .eyebrow{margin-bottom:10px}
.home-contact .klein{margin-top:2px}
.intro-aside{display:grid;gap:18px;min-width:0}
.illustration--topic img{max-height:230px}
.illustration--card{margin:-4px -4px 8px;border-radius:12px}
.illustration--card img{height:180px}
.box:has(.illustration){display:flex;flex-direction:column}
.box:has(.illustration) .tail{margin-top:auto}
.service-card{display:flex;flex-direction:column}
.service-card .illustration{width:100%;margin:0 0 6px}
.service-card .illustration img{height:175px}
.service-card .number{width:32px;height:32px;font-size:.8rem}
.illustration--business{margin:0 0 20px}
.illustration--business img{max-height:240px}
@media(max-width:860px){
 .hero{gap:24px}.illustration--hero img{max-height:290px}
 .home-contact .standortliste{grid-template-columns:1fr;gap:12px}
 .home-contact .standortliste li{display:grid;grid-template-columns:1fr auto;gap:16px;border-bottom:1px solid var(--linie);padding-bottom:10px}
 .home-contact .standortliste li:last-child{border:0;padding-bottom:0}
 .service-card{display:flex}.service-card h3{align-self:stretch}
 .service-card .illustration img{height:200px}
 .intro-aside{grid-template-columns:1fr 1fr;align-items:start}
 .intro-aside .facts{grid-template-columns:1fr}
 .illustration--topic img{max-height:280px}
}
@media(max-width:580px){
 .hero{padding-top:26px}.illustration--hero img{max-height:240px}
 .intro-aside{grid-template-columns:1fr}.illustration--topic img{max-height:210px}
 .home-contact .standortliste li{grid-template-columns:1fr;gap:0}
 .home-contact .contact-summary{padding:20px}
}
@media print{.illustration{display:none}.intro-aside{display:block}}

/* Page headings now use text and facts only. */
.hero{grid-template-columns:1fr}
.intro-aside{display:block}
