/* Krefeld opt-in; geometry from accepted RM pilot, no shared component typography override. */
/* Same accepted highlight spacing as Bruehl, Wuelfrath and Krefeld. */
body:has(#krefeld-intro) .hero-section h1{line-height:1.65!important}
#main-content .rm-krefeld{padding:72px 0!important}
.rm-krefeld .rm-pilot-wrap{max-width:1184px;padding:0 28px}
.rm-krefeld .rm-pilot-block{min-width:0}
.rm-krefeld .rm-pilot-block p,.rm-krefeld .rm-pilot-block li{max-width:75ch}
.rm-krefeld h2,.rm-krefeld h3{overflow-wrap:break-word}
.rm-krefeld-reading{max-width:900px}
.rm-krefeld-intro-copy{text-align:left;min-width:0}
.rm-krefeld-intro-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:start}
.rm-krefeld-intro-grid>aside{width:100%;max-width:380px;margin:0 auto}
.rm-krefeld-image-band{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:start;margin-top:30px}
.rm-krefeld-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:36px;align-items:start}
.rm-krefeld-detail-grid>article{min-width:0;margin:0}
.rm-krefeld-detail-grid>article:last-child:nth-child(odd){grid-column:1/-1}
.rm-krefeld-editorial-photo{position:relative;margin:8px 0 0;min-width:0}
.rm-krefeld-editorial-photo img{display:block;width:100%;height:auto;object-fit:contain}
.rm-krefeld-editorial-photo .rm-pilot-frame{position:relative;overflow:visible}
.rm-krefeld-project-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start;margin:36px 0}
.rm-krefeld-project-pair img{aspect-ratio:4/3;object-fit:contain}
body:has(#krefeld-intro) #kontaktformular{scroll-margin-top:110px}
body:has(#krefeld-intro) .rm-widget-fullbleed{margin-bottom:0}
@media(max-width:1023px){.rm-krefeld-intro-grid{gap:36px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
@media(max-width:900px){.rm-krefeld-image-band{grid-template-columns:1fr;gap:28px}.rm-krefeld-editorial-photo{width:100%;max-width:650px;margin:8px auto 0}}
@media(max-width:767px){#main-content .rm-krefeld{padding:48px 0!important}.rm-krefeld .rm-pilot-wrap{padding-left:24px;padding-right:24px}.rm-krefeld-intro-grid,.rm-krefeld-detail-grid,.rm-krefeld-project-pair{grid-template-columns:1fr;gap:30px}.rm-krefeld-intro-grid>aside{max-width:360px;margin:8px auto 0}.rm-krefeld-intro-lead{margin-bottom:30px}.rm-krefeld-detail-grid>article:last-child:nth-child(odd){grid-column:auto}}
/* Mira source-bound composition: long sections get structured groups, not uniform cards. */
.rm-krefeld.rm-pilot--tint{background:#f4f9ec}
.rm-krefeld .rm-pilot-heading{max-width:950px}
.rm-krefeld-intro-copy h2{margin-top:0}
.rm-krefeld-intro-copy p{max-width:64ch}
.rm-krefeld-intro-grid>aside .rm-pilot-photo{margin-top:0}
.rm-krefeld-image-band>.rm-krefeld-editorial-photo{position:sticky;top:120px}
.rm-krefeld-feature{max-width:none;margin:34px 0;padding:28px 32px;border:1px solid rgba(90,139,20,.18);border-left:4px solid #5a8b14;border-radius:16px;background:linear-gradient(110deg,#f4f9ec,#fff)}
.rm-krefeld-feature h3{margin-top:0}
.rm-krefeld-feature .rm-pilot-block:last-child p{margin-bottom:0}
.rm-krefeld-factors ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0;padding:0;list-style:none}
.rm-krefeld-factors li{margin:0!important;padding:20px!important;border:1px solid rgba(90,139,20,.14);border-radius:12px;background:#fff;font-size:16px;line-height:1.7}
.rm-krefeld-factors li:before{display:none!important}
.rm-krefeld-factors li strong{display:block;margin-bottom:6px;color:#416310}
#krefeld-process .rm-krefeld-detail-grid{align-items:stretch}
#krefeld-process .rm-pilot-card{height:100%;border-top:3px solid #ffce02}
#krefeld-municipal .rm-pilot-card{border-top:3px solid #5a8b14}
#krefeld-local .rm-krefeld-reading{padding-left:26px;border-left:3px solid #5a8b14}
.rm-krefeld .rm-pilot-block a{overflow-wrap:anywhere}
@media(max-width:900px){.rm-krefeld-image-band>.rm-krefeld-editorial-photo{position:static}.rm-krefeld-factors ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.rm-krefeld-feature{padding:22px}.rm-krefeld-factors ul{grid-template-columns:1fr}.rm-krefeld-factors li{font-size:16px}#krefeld-local .rm-krefeld-reading{padding-left:18px}.rm-krefeld-intro-copy h2{font-size:clamp(26px,6vw,32px)}}


/* Actual Mira A + PL discussion, complete uncropped 4:3/3:4 pair; no overlay. */
.rm-krefeld-project{padding:64px 0;background:#fff}
.rm-krefeld-project-pair{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}
.rm-krefeld-project-pair img{aspect-ratio:auto;height:auto;object-fit:contain}
/* Reserve each real photograph's natural ratio before native lazy loading. */
.rm-krefeld-project-pair img[src$="kueche-vorher.webp"]{aspect-ratio:auto 4/3}
.rm-krefeld-project-pair img[src$="kueche-nachher.webp"]{aspect-ratio:auto 3/4}
#krefeld-process .rm-krefeld-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
#krefeld-process .rm-pilot-card{height:auto}
#krefeld-cost .rm-krefeld-reading,#krefeld-preparation .rm-krefeld-reading{max-width:78ch}
body:has(#krefeld-intro) #rm-faq{background:#f4f9ec}
@media(max-width:1100px){#krefeld-process .rm-krefeld-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){#krefeld-process .rm-krefeld-detail-grid,.rm-krefeld-project-pair{grid-template-columns:1fr}.rm-krefeld-project{padding:48px 0}.rm-krefeld-project-pair{gap:16px}}
