/* Pulheim opt-in; geometry from accepted RM pilot, no shared component typography override. */
/* Current accepted highlight spacing, scoped only to Pulheim. */
body:has(#pulheim-intro) .hero-section h1{line-height:1.65!important}
#main-content .rm-pulheim{padding:72px 0!important}
.rm-pulheim .rm-pilot-wrap{max-width:1184px;padding:0 28px}
.rm-pulheim .rm-pilot-block{min-width:0}
.rm-pulheim .rm-pilot-block p,.rm-pulheim .rm-pilot-block li{max-width:75ch}
.rm-pulheim h2,.rm-pulheim h3{overflow-wrap:break-word}
.rm-pulheim-reading{max-width:900px}
.rm-pulheim-intro-copy{text-align:left;min-width:0}
.rm-pulheim-intro-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:start}
.rm-pulheim-intro-grid>aside{width:100%;max-width:380px;margin:0 auto}
.rm-pulheim-image-band{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:start;margin-top:30px}
.rm-pulheim-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:36px;align-items:start}
.rm-pulheim-detail-grid>article{min-width:0;margin:0}
.rm-pulheim-detail-grid>article:last-child:nth-child(odd){grid-column:1/-1}
.rm-pulheim-editorial-photo{position:relative;margin:8px 0 0;min-width:0}
.rm-pulheim-editorial-photo img{display:block;width:100%;height:auto;object-fit:contain}
.rm-pulheim-editorial-photo .rm-pilot-frame{position:relative;overflow:visible}
body:has(#pulheim-intro) #kontaktformular{scroll-margin-top:110px}
body:has(#pulheim-intro) .rm-widget-fullbleed{margin-bottom:0}
@media(max-width:1023px){.rm-pulheim-intro-grid{gap:36px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
@media(max-width:900px){.rm-pulheim-image-band{grid-template-columns:1fr;gap:28px}.rm-pulheim-editorial-photo{width:100%;max-width:650px;margin:8px auto 0}}
/* Draft structural groups, awaiting current source-bound Mira review. */
.rm-pulheim.rm-pilot--tint{background:#f4f9ec}
.rm-pulheim .rm-pilot-heading{max-width:950px}
.rm-pulheim-intro-copy h2{margin-top:0}
.rm-pulheim-intro-copy p{max-width:64ch}
.rm-pulheim-intro-grid>aside .rm-pilot-photo{margin-top:0}
.rm-pulheim-image-band>.rm-pulheim-editorial-photo{position:sticky;top:120px}
.rm-pulheim-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-pulheim-feature h3{margin-top:0}
.rm-pulheim-feature .rm-pilot-block:last-child p{margin-bottom:0}
.rm-pulheim-factors ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0;padding:0;list-style:none}
.rm-pulheim-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-pulheim-factors li:before{display:none!important}
.rm-pulheim-factors li strong{display:block;margin-bottom:6px;color:#416310}
#pulheim-process .rm-pulheim-detail-grid{align-items:stretch}
#pulheim-process .rm-pilot-card{height:100%;border-top:3px solid #ffce02}
#pulheim-municipal .rm-pilot-card{border-top:3px solid #5a8b14}
.rm-pulheim .rm-pilot-block a{overflow-wrap:anywhere}
@media(max-width:900px){.rm-pulheim-image-band>.rm-pulheim-editorial-photo{position:static}.rm-pulheim-factors ul{grid-template-columns:repeat(2,minmax(0,1fr))}}


@media(max-width:767px){#main-content .rm-pulheim{padding:48px 0!important}.rm-pulheim .rm-pilot-wrap{padding-left:24px;padding-right:24px}.rm-pulheim-intro-grid,.rm-pulheim-detail-grid{grid-template-columns:1fr;gap:30px}.rm-pulheim-intro-grid>aside{max-width:360px;margin:8px auto 0}.rm-pulheim-detail-grid>article:last-child:nth-child(odd){grid-column:auto}.rm-pulheim-intro-copy h2{font-size:clamp(26px,6vw,32px)}}
#pulheim-process .rm-pulheim-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}#pulheim-process .rm-pilot-card{height:auto}
.rm-pulheim-image-band--image-left>.rm-pulheim-editorial-photo{grid-column:1;grid-row:1}.rm-pulheim-image-band--image-left>div{grid-column:2;grid-row:1}
@media(max-width:900px){.rm-pulheim-image-band--image-left>div,.rm-pulheim-image-band--image-left>.rm-pulheim-editorial-photo{grid-column:auto;grid-row:auto}.rm-pulheim-image-band--image-left>div{order:0}.rm-pulheim-image-band--image-left>.rm-pulheim-editorial-photo{order:1}}
@media(max-width:767px){#pulheim-process .rm-pulheim-detail-grid{grid-template-columns:1fr}}
body:has(#pulheim-intro) #rm-faq{background:#f4f9ec}
/* Real before/after control, Pulheim only. Without JS both complete photographs remain visible. */
.rm-pulheim-project{padding:72px 0;background:linear-gradient(180deg,#fff,#f4f9ec 80px);border-top:3px solid #ffce02;border-bottom:3px solid #ffce02;color:#1a2810}
.rm-pulheim-project-inner{max-width:1184px;margin:auto;padding:0 28px}
.rm-pulheim-project-header{max-width:800px;margin:0 auto 36px;text-align:center}
.rm-pulheim-project-header h2{font-size:clamp(28px,3vw,38px);line-height:1.25;font-weight:800;margin:12px 0 18px}
.rm-pulheim-project-header p{line-height:1.8;color:#46523e}
.rm-pulheim-compare{--before:50%;max-width:900px;margin:auto;border:1px solid #dce6cd;border-radius:20px;overflow:hidden;background:white;box-shadow:0 16px 40px rgba(26,40,16,.1)}
.rm-pulheim-compare-images{display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}
.rm-pulheim-compare-images figure{position:relative;margin:0;min-width:0}
.rm-pulheim-compare-images img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.rm-pulheim-compare-images figcaption{position:absolute;top:16px;padding:8px 14px;background:#1a2810;color:#fff;border-radius:8px;font-size:14px;font-weight:700;z-index:3}
.rm-pulheim-compare-before figcaption{left:16px}.rm-pulheim-compare-after figcaption{right:16px}
.rm-pulheim-compare-divider{display:none}
.rm-pulheim-compare.is-enhanced{max-width:520px}
.rm-pulheim-compare.is-enhanced .rm-pulheim-compare-images{display:block;aspect-ratio:3/4;touch-action:pan-y;cursor:ew-resize}
.rm-pulheim-compare.is-enhanced .rm-pulheim-compare-images figure{position:absolute;inset:0}
.rm-pulheim-compare.is-enhanced .rm-pulheim-compare-images img{width:100%;height:100%;object-fit:contain}
.rm-pulheim-compare.is-enhanced .rm-pulheim-compare-before{z-index:2;clip-path:inset(0 calc(100% - var(--before)) 0 0)}
.rm-pulheim-compare.is-enhanced .rm-pulheim-compare-after{z-index:1}
.rm-pulheim-compare.is-enhanced .rm-pulheim-compare-divider{display:block;position:absolute;left:var(--before);top:0;bottom:0;width:3px;background:#ffce02;z-index:3;transform:translateX(-50%);pointer-events:none}
.rm-pulheim-compare-divider:after{content:'↔';display:grid;place-items:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:#ffce02;color:#1a2810;font-size:24px;box-shadow:0 2px 14px rgba(0,0,0,.25)}
.rm-pulheim-compare-caption{margin:0;padding:18px 24px;background:#1a2810;color:white;font-weight:700;text-align:center}
.rm-pulheim-compare-controls{padding:20px 24px}.rm-pulheim-compare-controls[hidden]{display:none}
.rm-pulheim-compare-controls label{display:block;font-weight:700}.rm-pulheim-compare-controls p{font-size:14px;line-height:1.6;margin:8px 0;color:#46523e}
.rm-pulheim-compare-controls input{display:block;width:100%;min-height:48px;margin:8px 0;accent-color:#5a8b14;cursor:ew-resize}
.rm-pulheim-compare-controls input:focus-visible,.rm-pulheim-compare-controls button:focus-visible{outline:3px solid #5a8b14;outline-offset:4px}
.rm-pulheim-compare-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rm-pulheim-compare-buttons button{min-height:48px;padding:10px;border:1px solid #5a8b14;border-radius:8px;background:#f4f9ec;color:#1a2810;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.rm-pulheim-compare-buttons button[aria-pressed=true]{background:#ffce02}
@media(max-width:767px){.rm-pulheim-project{padding:48px 0}.rm-pulheim-project-inner{padding:0 24px}.rm-pulheim-project-header{text-align:left}.rm-pulheim-compare-controls{padding:18px}.rm-pulheim-compare-buttons{gap:8px}}

/* Current Mira A1 comparison: source paragraphs preserved, no new copy. */
#pulheim-municipal .rm-pilot-wrap{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:32px}#pulheim-municipal .rm-pilot-heading{grid-column:1/-1;margin-bottom:0}#pulheim-municipal .rm-pulheim-reading{min-width:0;padding:24px;border:1px solid rgba(90,139,20,.18);border-radius:16px;background:#f4f9ec}#pulheim-municipal .rm-pulheim-reading p:last-child{margin-bottom:0}
@media(max-width:767px){#pulheim-municipal .rm-pilot-wrap{grid-template-columns:1fr;gap:24px}#pulheim-municipal .rm-pulheim-reading{padding:20px}}

/* Actual Mira B/C V2 finding: separate the next heading from the preparation image. */
#pulheim-preparation .rm-pulheim-image-band{margin-bottom:36px}
@media(max-width:767px){#pulheim-preparation .rm-pulheim-image-band{margin-bottom:28px}}

/* Agreed Pulheim composition17Oct: natural3-card rows, full9:16realpair. */
#pulheim-services .rm-pulheim-detail-grid,#pulheim-process .rm-pulheim-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
#pulheim-services .rm-pulheim-detail-grid>article:last-child:nth-child(odd),#pulheim-process .rm-pulheim-detail-grid>article:last-child:nth-child(odd){grid-column:auto}
#pulheim-value{padding-top:0!important}
#pulheim-cost .rm-pulheim-image-band{align-items:start}
.rm-pulheim-compare.is-enhanced .rm-pulheim-compare-images{aspect-ratio:9/16}
.rm-pulheim-compare.is-enhanced{max-width:390px}
.rm-pulheim .rm-pilot-photo--left .rm-pilot-frame:before{left:-8px;right:auto;border-left:3px solid #5A8B14;border-right:0;border-top:3px solid #5A8B14;border-radius:20px 0 0 0}
.rm-pulheim .rm-pilot-photo--left .rm-pilot-frame:after{right:-8px;left:auto;border-right:3px solid rgba(90,139,20,.25);border-left:0;border-bottom:3px solid rgba(90,139,20,.25);border-radius:0 0 20px 0}
.rm-pulheim .rm-pilot-card{position:relative;overflow:hidden}
.rm-pulheim .rm-pilot-card:before{content:'';position:absolute;top:0;left:28px;right:28px;height:3px;background:linear-gradient(90deg,transparent,#5A8B14,#FFCE02,transparent)}
.rm-pulheim .rm-pilot-heading h2:after{content:'';display:block;width:48px;height:3px;margin-top:12px;border-radius:2px;background:linear-gradient(90deg,#5A8B14,#416310)}
.rm-pulheim .rm-pilot-heading .rm-pilot-block h2:after{margin-left:0}
#pulheim-services,#pulheim-preparation{background:linear-gradient(180deg,#fff 0,#f4f9ec 80px)}
#pulheim-cost{background:linear-gradient(180deg,#f4f9ec 0,#fff 80px)}
.rm-pulheim-factors li:last-child:nth-child(odd){grid-column:1/-1}
@media(max-width:900px){#pulheim-services .rm-pulheim-detail-grid,#pulheim-process .rm-pulheim-detail-grid{grid-template-columns:1fr}.rm-pulheim-factors ul{grid-template-columns:1fr}.rm-pulheim-compare.is-enhanced{max-width:390px}}

/* Actual Mira V1 findings and V2 counterreview, no duplicated copy. */
#pulheim-intro{padding-bottom:32px!important}
.rm-pulheim-intro-grid>aside{max-width:360px}
.rm-pulheim-intro-services-lead{margin-top:40px}
#pulheim-services{padding-top:48px!important}
#pulheim-services .rm-pulheim-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
#pulheim-process .rm-pulheim-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.rm-pulheim-step-title{display:grid;grid-template-columns:36px 1fr;align-items:start;gap:12px}
.rm-pulheim-number{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#1a2810;color:#ffce02;font-size:16px;font-variant-numeric:tabular-nums;line-height:1}
#pulheim-preparation .rm-pulheim-image-band{margin-top:0}
@media(max-width:900px){#pulheim-services .rm-pulheim-detail-grid,#pulheim-process .rm-pulheim-detail-grid{grid-template-columns:1fr}}
@media(max-width:767px){.rm-pulheim-number{width:34px;height:34px}.rm-pulheim-step-title{grid-template-columns:34px 1fr}}

/* Actual native390px Mira finding: preserve original hero; page-local corrections only. */
@media(max-width:767px){
 body:has(#pulheim-intro) .hero-section .flex.items-center.gap-3.mt-5{gap:8px}
 body:has(#pulheim-intro) .hero-section .flex.items-center.gap-3.mt-5>div,
 body:has(#pulheim-intro) .hero-section .flex.items-center.gap-3.mt-5>span.font-bold{white-space:nowrap;flex-shrink:0}
 body:has(#pulheim-intro) .hero-section h1>.rm-hero-h1-desktop{display:inline-block!important;position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
}
