/* Home styling deliberately excludes the existing hero. */
[hidden]{display:none!important}
body > section:not(#hero){overflow-x:clip}
.ueber-grid > *, .kontakt-grid > *, .service-area > *{min-width:0}
#leistungen .leistungen-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#leistungen .leistung-card{min-height:390px;padding:40px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:18px;background-position:center;isolation:isolate}
#leistungen .leistung-card.has-bg::after{background:linear-gradient(180deg,rgba(18,29,31,.08),rgba(18,29,31,.9));z-index:-1}
#leistungen .leistung-card h3{font-size:1.7rem;line-height:1.2;margin:12px 0}
#leistungen .service-number{position:absolute;top:24px;left:28px;color:#fff;border:1px solid #ffffff80;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:.8rem}
#leistungen .service-detail-link{color:#fff;position:relative;margin-top:22px;text-decoration:none;font-weight:700;z-index:2}
#leistungen .service-detail-link:hover{text-decoration:underline}
#showroom{background:var(--bg)}
.demo-project{margin:0;background:var(--card-bg);border-radius:16px;overflow:hidden;border:1px solid var(--border)}
.demo-project img{width:100%;height:300px;object-fit:cover;display:block}
.demo-project p{padding:20px;font-weight:600}
#konfigurator-cta .calculator-entry{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center;text-align:left}
#konfigurator-cta h2{color:white;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1;margin:12px 0 24px}
#konfigurator-cta p{color:#ffffffd9;line-height:1.75;margin-bottom:24px}
#konfigurator-cta .section-label{color:var(--c-accent)}
#konfigurator-cta .demo-note{font-size:.85rem;color:#ffffffb3}
#konfigurator-cta .konfigurator-steps{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:0}
#konfigurator-cta .konfig-step{min-width:0;padding:20px;border:1px solid #ffffff35;border-radius:14px}
.ueber-demo{font-size:.85rem;color:var(--text-muted);margin-top:16px}
#ueber-uns .timeline-year{font-size:1.4rem}
.service-area{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
#geo-beschreibung{color:var(--text-muted);line-height:1.8}
#geo-staedte{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}
#geo-staedte span{padding:9px 14px;border:1px solid var(--border);background:var(--card-bg);border-radius:30px;font-size:.9rem}
.service-area-graphic{width:100%;height:auto;border-radius:18px}
#geo-karte{margin-top:20px;border-radius:16px;overflow:hidden}
#faq{padding:72px 0;background:var(--bg)}
#faq .faq-grid{display:grid;grid-template-columns:1fr;gap:12px;max-width:900px;margin:32px auto 0}
#faq details{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;overflow:hidden}
#faq summary{padding:22px 56px 22px 24px;cursor:pointer;list-style:none;font-weight:700;position:relative}
#faq summary::-webkit-details-marker{display:none}
#faq summary::after{content:'+';position:absolute;right:24px;font-size:1.4rem;top:17px;color:var(--accent)}
#faq details[open] summary::after{content:'−'}
#faq summary:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}
#faq details p{padding:0 24px 24px;margin:0;color:var(--text-muted);line-height:1.75}
#faq details a{color:var(--accent)}
#faq .content-source{margin-top:24px;color:var(--text-muted);font-size:.8rem}
@media(max-width:760px){#leistungen .leistungen-grid,.service-area,#konfigurator-cta .calculator-entry,#faq .faq-grid{grid-template-columns:1fr}#leistungen .leistung-card{min-height:360px;padding:28px}#konfigurator-cta .calculator-entry{gap:36px}.service-area{gap:32px}#konfigurator-cta .konfig-step{padding:16px}}
