:root { --zmx105-ink:#102e29; --zmx105-green:#0a5149; --zmx105-cream:#f3ead7; --zmx105-gold:#e2bf72; }
.zmx105-container { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.zmx105-eyebrow { margin:0 0 .65rem; font-size:.73rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; color:#39665b; }
.zmx105-heading { max-width:780px; margin:0 auto 2rem; text-align:center; }
.zmx105-heading h2 { margin:.3rem 0 .8rem; font-size:clamp(1.9rem,3.5vw,3rem); line-height:1.08; letter-spacing:-.035em; }
.zmx105-heading p:last-child { max-width:67ch; margin-inline:auto; color:#4c625b; line-height:1.65; }
.zmx105-button { display:inline-flex; align-items:center; justify-content:center; gap:.7rem; min-height:48px; padding:.78rem 1.25rem; border:1px solid #d0a655; border-radius:999px; background:linear-gradient(115deg,#f0dba6,#d8b263); color:#173c33; font-family:inherit; font-weight:800; font-size:.9rem; line-height:1.3; text-decoration:none; text-align:center; cursor:pointer; }
.zmx105-button:hover { background:#f0dba6; box-shadow:0 4px 18px #123f301c; }
body[data-zmx105-release] :is(a,button,summary):focus-visible { outline:3px solid #bc892a; outline-offset:4px; }
/* Content visibility must not depend on a delayed legacy scroll reveal. */
html body[data-zmx105-release] main .zmx-reveal { opacity:1!important; transform:none!important; transition:none!important; }
html body[data-zmx105-release] main :is(.zmx104-story,.zmx104-audience--commercial,.zmx102-review-section,.zmx103-utility-section) :is(.eyebrow,.zmx-res-eyebrow) { color:#f3dfac!important; }
html body[data-zmx105-release] [data-zmx102-section="connected-work"] .eyebrow { color:#39665b!important; }
html body[data-zmx105-release] :is([data-zmx102-section="live-guides"],[data-zmx102-section="referral-process"]) .eyebrow { color:#39665b!important; }
body[data-zmx105-release] .zmx-global-contact { white-space:nowrap; flex-shrink:0; min-width:150px; font-size:.8rem; }
body[data-zmx105-release][data-zmx-route="/"] [data-zmx104-section="commercial-about-coverage"] .zmx103-media img { object-position:85% center!important; }
/* Reserve the longer residential navigation's own width rather than overlaying the brand. */
@media (min-width:1321px) and (max-width:1599px) {
 body[data-zmx105-release]:is([data-zmx-route^="/residential/"],[data-zmx-route="/roof-checklist"],[data-zmx-route="/roof-checklist/thank-you"],[data-zmx-route="/roofready"]) .zmx-global-header__inner { grid-template-columns:minmax(0,1fr) auto max-content!important; }
}
body[data-zmx105-release] :is(.avoid-item,.risk-item,.problem-item)::before { flex-shrink:0!important; }
body[data-zmx105-release] [data-zmx102-section="situations"] .scenario-grid { grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr)); }
html body[data-zmx105-release] .zmx102-review-heading > a { color:#f3dfac!important; text-decoration:underline; text-underline-offset:3px; }

/* The compact .101 trust rhythm: one short statement, three clear reassurances. */
.zmx105-compact-trust { position:relative; z-index:3; margin-top:-36px; padding:0 0 20px; background:transparent; }
.zmx105-compact-trust > div { padding:25px 30px 27px; border:1px solid #2d6d61; border-radius:24px; background:radial-gradient(ellipse at 90% 0,#a487493d,transparent 60%),linear-gradient(115deg,#073d35,#135a4c); color:#fff; text-align:center; box-shadow:0 16px 36px #073d3529; }
.zmx105-compact-trust h2 { max-width:none; margin:0 0 .5rem; color:#fff; font-size:clamp(1.7rem,2.65vw,2.55rem); line-height:1.12; letter-spacing:-.035em; }
.zmx105-compact-trust p { margin:0 auto; color:#e2ebe3; font-size:.96rem; line-height:1.5; }
.zmx105-compact-trust ul { display:flex; justify-content:center; flex-wrap:wrap; gap:.5rem 1.1rem; list-style:none; margin:1rem 0 0; padding:0; }
.zmx105-compact-trust li { display:flex; align-items:center; gap:.5rem; padding:.48rem .8rem; border:1px solid #f0dfb750; border-radius:999px; background:#f4e9d3; color:#174737; font-size:.8rem; font-weight:700; }
.zmx105-compact-trust li span { font-weight:950; color:#164d39; }

/* Preserve composition, not the intrinsic image height HTML happens to declare. */
body[data-zmx105-release] .zmx103-route-visual__media img { width:100%; height:auto!important; min-height:0!important; max-height:470px; aspect-ratio:4/3; object-fit:cover; }
.zmx105-image-split { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); align-items:center; gap:clamp(24px,4vw,54px); }
.zmx105-image-copy { min-width:0; }
.zmx105-context-image { min-width:0; margin:0; overflow:hidden; border-radius:22px; background:#e5ebe3; box-shadow:0 14px 40px #11392a1f; }
.zmx105-context-image img { display:block; width:100%; height:auto!important; min-height:0!important; max-height:480px; aspect-ratio:4/3; object-fit:cover; }
body[data-zmx105-release][data-zmx-route="/solutions/rooflife/"] [data-zmx102-section="scope"] img[src$="commercial-roofing-water-control-detail-dot97-r1.png"] { object-position:50% 25%; }
body[data-zmx105-release][data-zmx-route="/solutions/solar-ready-roof-power/"] img[src$="commercial-renewables-solar-ev-context-dot97-r1.png"] { object-position:50% 35%; }
.zmx103-route-visual > .zmx105-context-image { width:100%; }
body[data-zmx105-release] .zmx103-about .zmx103-split { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); align-items:center; }
body[data-zmx105-release] .zmx103-about .zmx103-media { min-height:0; aspect-ratio:4/3; margin:1.5rem 1.5rem 1.5rem 0; border-radius:20px; }
body[data-zmx105-release] .zmx103-about .zmx103-media img { height:100%; min-height:0; object-position:center; }
body[data-zmx105-release] .zmx103-about .zmx103-split__copy { padding:clamp(24px,3.5vw,42px); }
body[data-zmx105-release] [data-zmx105-restored] { padding-block:clamp(44px,6vw,78px); }
body[data-zmx105-release] [data-zmx105-restored="site-types"] .section-wide-photo { display:none; }
body[data-zmx105-release] [data-zmx102-section="assessment"] { background:radial-gradient(ellipse at 90% 10%,#acc6c134,transparent 65%),linear-gradient(125deg,#f9f3e7,#eae5d4); }
body[data-zmx105-release] [data-zmx102-section="assessment"] :is(h2,h3) { color:#133e34; }
body[data-zmx105-release] [data-zmx102-section="scope"] { background:linear-gradient(140deg,#f4ecd9,#e5eee8); }
body[data-zmx105-release] [data-zmx102-section="situations"] .suitability-grid { grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr)); }
body[data-zmx105-release] [data-zmx102-section="scope"] :is(.include-card,.scope-card) { background:#fffdf8; }
body[data-zmx105-release] [data-zmx102-section="requirement"] > .container { display:block; }
body[data-zmx105-release] [data-zmx102-section="requirement"] :is(.section-heading,.section-head) { max-width:850px; margin-inline:auto; text-align:center; }
body[data-zmx105-release] [data-zmx102-section="requirement"] :is(.requirement-grid,.start-grid) { margin-top:1.7rem; }
body[data-zmx105-release] .zmx102-cards--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
body[data-zmx105-release][data-zmx-route="/services/renewables-ev-charging/"] [data-zmx102-section="readiness"] .zmx102-cards { grid-template-columns:1fr; gap:.7rem; }
body[data-zmx105-release][data-zmx-route="/services/renewables-ev-charging/"] [data-zmx102-section="readiness"] .zmx102-cards article { padding:1rem 1.15rem; min-width:0; }
body[data-zmx105-release][data-zmx-route="/services/renewables-ev-charging/"] [data-zmx102-section="readiness"] .zmx102-cards h3 { margin:0 0 .45rem; font-size:1.2rem; line-height:1.25; overflow-wrap:anywhere; }
body[data-zmx105-release][data-zmx-route="/services/renewables-ev-charging/"] [data-zmx102-section="readiness"] .zmx102-cards p { margin:0; font-size:.88rem; }
body[data-zmx105-release] :is(.service-tags,.service-pills,.service-card .pills,.service-tags-row) > * { background:#e7e9ce; border-color:#b6c39e; color:#24483a; }
body[data-zmx105-release] .zmx-res-check-list { padding-left:0; }
body[data-zmx105-release] .zmx-res-check-list li { text-align:left; justify-content:flex-start; align-items:flex-start; }
body[data-zmx105-release][data-zmx-audience="residential"] :is(.zmx-res-checklist,.zmx-res-check-list) li::before { color:#0b443c!important; background:#e4bd5c!important; border-color:#9b6b13!important; }
body[data-zmx105-release] .zmx-res-benefit-pills li > span[aria-hidden="true"] { color:#164d39!important; }
body[data-zmx105-release] .zmx-res-section--green .zmx-res-benefit-pills li { justify-content:flex-start; text-align:left; }
body[data-zmx105-release] .zmx-res-section--green .zmx-res-benefit-pills li > span[aria-hidden="true"] { display:grid; place-items:center; width:20px; height:20px; flex:0 0 20px; border-radius:50%; background:#e5c779!important; color:#164d39!important; }
body[data-zmx105-release][data-zmx-route="/referrals/"] [data-zmx102-section="referral-process"] .zmx105-context-image img { object-position:20% 50%; }
.zmx105-coverage-map { margin:1.5rem auto 0; width:min(960px,100%); }
.zmx105-coverage-map picture,.zmx105-coverage-map img { display:block; width:100%; height:auto; border-radius:24px; }
.zmx105-coverage-map figcaption { display:grid; gap:.7rem; margin:1rem auto 0; max-width:80ch; color:#3a5948; font-size:.88rem; line-height:1.55; text-align:center; }
.zmx105-coverage-map small { font-size:.67rem; color:#61735e; }
.zmx105-coverage-map a { color:inherit; text-decoration:underline; }
.zmx105-planning-aside { display:grid; gap:1.25rem; }
.zmx105-planning-link { display:inline-flex; align-items:center; gap:.5rem; justify-self:start; min-height:44px; color:#164c38; font-size:.88rem; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.zmx105-planning-aside .zmx-res-illustration { min-height:0; aspect-ratio:16/10; margin:0; }
.zmx105-assessment-visual .zmx-res-illustration { min-height:0; height:auto; aspect-ratio:4/3; margin:0; }
.zmx105-assessment-visual .zmx-res-illustration img { height:100%; }
.zmx105-assessment-checks { text-align:left; margin-top:1.2rem; }
.zmx105-assessment-checks p { margin:0 0 .7rem; color:#f0e8d5; font-size:.9rem; }
.zmx105-assessment-checks ul { display:grid; gap:.65rem; list-style:none; padding:0; margin:0; }
.zmx105-assessment-checks li { display:grid; grid-template-columns:20px 1fr; gap:.6rem; color:#f4f2e9; font-size:.88rem; line-height:1.5; }
.zmx105-assessment-checks li::before { content:'✓'; color:#e8cf94; font-weight:800; }
body[data-zmx105-release] .zmx-global-contact { color:#fff8e7!important; }
body[data-zmx105-release] .zmx-funnel-receipt h1 { font-size:clamp(2rem,3.5vw,3.2rem)!important; line-height:1.08!important; letter-spacing:-.035em; max-width:20ch; }
body[data-zmx105-release] :is(.zmx-funnel-hero,.zmx-funnel-section--dark,.zmx-funnel-receipt__next) .zmx-funnel-eyebrow { color:#f0d59c; }
body[data-zmx105-release] .zmx-funnel-fields .zmx-funnel-field { align-content:end; }
.zmx105-comparison-note { margin:1rem auto 0; font-size:.8rem; color:#53625b; text-align:center; }
.zmx105-checklist-band { padding:36px 0; background:linear-gradient(125deg,#e1ebe6,#f0e6cc); }
.zmx105-checklist-band > div { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.zmx105-checklist-band h2 { margin:0 0 .5rem; font-size:clamp(1.55rem,2.5vw,2.2rem); line-height:1.15; }
.zmx105-checklist-band p:last-child { max-width:68ch; margin:0; color:#415f54; line-height:1.55; }
.zmx105-checklist-band a { flex-shrink:0; }

/* The six audiences qualify visitors without assigning them a single product. */
.zmx104-audience-grid > article { min-width:0; padding:clamp(1rem,2vw,1.45rem); border:1px solid #17463124; border-radius:17px; background:#ffffff96; }
.zmx104-audience--commercial .zmx104-audience-grid > article { border-color:#e9efd638; background:#ffffff13; }
body[data-zmx105-release] .zmx104-story__media { min-height:560px; }
body[data-zmx105-release] .zmx104-story__content { padding-block:60px; }
body[data-zmx105-release] .zmx104-story h2 { max-width:24ch; font-size:clamp(2.15rem,3.65vw,3.6rem); line-height:1.05; }
body[data-zmx105-release] .zmx104-story__lead { max-width:75ch; }
body[data-zmx105-release] .zmx104-story__panels { margin-top:1.5rem; }
body[data-zmx105-release] .zmx103-utility article,body[data-zmx105-release] .zmx103-res-utility-grid article { display:flex; flex-direction:column; }
body[data-zmx105-release] .zmx103-utility article > div,body[data-zmx105-release] .zmx103-res-utility-grid article > div { flex:1; align-items:center; text-align:center; }
body[data-zmx105-release] .zmx103-utility article > div a,body[data-zmx105-release] .zmx103-res-utility-grid article > div a { margin-top:auto; }

/* Return to the .101 review palette, retaining keyboard, buttons and verified source links. */
body[data-zmx105-release] .zmx102-review-section { background:radial-gradient(ellipse at 5% 0,#b5964333,transparent 50%),linear-gradient(135deg,#163b31,#082b25); color:#f8f1df; }
body[data-zmx105-release] .zmx102-review-section :is(.eyebrow,.zmx-res-eyebrow,h2) { color:#f3dfac; }
body[data-zmx105-release] .zmx102-review-section > .container > p,body[data-zmx105-release] .zmx102-review-section > .zmx-res-container > p { color:#e2eadd; }
body[data-zmx105-release] .zmx102-review { background:linear-gradient(135deg,#fffaf0,#f1e4c6); border:1px solid #e4c785; color:#16382d; }
body[data-zmx105-release] .zmx102-review :is(blockquote,p,cite) { color:#234435; }
body[data-zmx105-release] .zmx102-review-section :is([data-zmx102-review-prev],[data-zmx102-review-next]) { background:#e6c681; border-color:#e6c681; color:#143d30; }
body[data-zmx105-release] .zmx102-review-section [data-zmx102-review-status] { color:#f3e5bf; }
body[data-zmx105-release] .zmx102-review-section [data-zmx102-review-dot] { border-color:#e3c079; background:#e1c99566; }
body[data-zmx105-release] .zmx102-review-section [data-zmx102-review-dot][aria-current="true"] { background:#f2d590; }

/* Guide topics remain complete in HTML; JS progressively shows six and filters them. */
.zmx105-guide-library { padding:clamp(48px,6vw,82px) 0; background:radial-gradient(ellipse at 12% 0,#d6e4d866,transparent 45%),linear-gradient(135deg,#faf7ee,#eee5d3); color:#123b30; }
.zmx105-guide-filters { display:flex; justify-content:center; flex-wrap:wrap; gap:.55rem; }
.zmx105-guide-filters button { min-height:44px; padding:.65rem 1rem; border:1px solid #b5c6b5; border-radius:999px; background:#fffdf8; color:#234f3f; font-family:inherit; font-weight:700; font-size:.84rem; line-height:1.2; cursor:pointer; }
.zmx105-guide-filters button[aria-pressed="true"] { color:#fff9e9; background:#164e3e; border-color:#164e3e; }
.zmx105-guide-count { margin:1rem 0 1.35rem; text-align:center; font-size:.85rem; color:#556658; }
.zmx105-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; align-items:stretch; }
.zmx105-guide-card { min-width:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid #cccfb8; border-radius:20px; background:#fffdf8; box-shadow:0 12px 28px #204b3510; scroll-margin-top:110px; }
.zmx105-guide-card[hidden] { display:none; }
.zmx105-guide-card figure { position:relative; margin:0; width:100%; aspect-ratio:16/9; overflow:hidden; }
.zmx105-guide-card figure img { display:block; width:100%; height:100%; object-fit:cover; }
.zmx105-guide-number { position:absolute; top:.8rem; left:.8rem; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#f6e7bd; color:#1d4d36; font-weight:850; font-size:.84rem; }
.zmx105-guide-card__body { display:flex; flex-direction:column; flex:1; padding:1.25rem; }
.zmx105-guide-meta { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin:0 0 .65rem; color:#466755; font-size:.7rem; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.zmx105-guide-meta span { font-size:.65rem; color:#68745e; }
.zmx105-guide-card h3 { margin:0 0 .7rem; font-size:1.26rem; line-height:1.15; letter-spacing:-.015em; color:#1a4633; }
.zmx105-guide-card__body > p:not(.zmx105-guide-meta) { margin:0 0 1.15rem; color:#4e6154; font-size:.88rem; line-height:1.6; }
.zmx105-guide-card__actions { display:flex; flex-direction:column; gap:1rem; margin-top:auto; }
.zmx105-guide-card details { padding:0; border:0; border-radius:0; box-shadow:none; background:transparent; }
.zmx105-guide-card summary { min-height:44px; padding:.7rem 1.25rem .7rem 0; color:#195341; font-size:.88rem; font-weight:750; cursor:pointer; border-block:1px solid #ccd5c0; list-style:disclosure-closed; }
.zmx105-guide-card details[open] summary { list-style:disclosure-open; }
.zmx105-guide-card summary::after { display:none; }
.zmx105-guide-card ol { margin:1rem 0 0; padding-left:1.2rem; }
.zmx105-guide-card li { margin-bottom:.8rem; color:#425949; font-size:.85rem; line-height:1.6; }
.zmx105-guide-safety { color:#6b725d; font-size:.76rem; line-height:1.5; }
.zmx105-guide-card .zmx105-button { width:100%; font-size:.83rem; }
body[data-zmx105-release] .zmx102-res-live-guide { align-items:center; }
body[data-zmx105-release] .zmx102-res-live-guide figure { min-height:0!important; height:auto!important; aspect-ratio:4/3; margin:0; }
body[data-zmx105-release] .zmx102-res-live-guide figure img { display:block; width:100%; height:100%!important; min-height:0!important; object-fit:cover; object-position:center; }
.zmx105-more { display:block; min-height:48px; margin:1.7rem auto 0; padding:.8rem 1.3rem; border:1px solid #316b50; border-radius:999px; background:#164c38; color:#fff8e7; font-size:.9rem; font-weight:750; cursor:pointer; }
.zmx105-more[hidden] { display:none; }

/* Choice groups: named selectors and arrows are visible before the first card. */
.zmx105-choice-controls { display:none; }
.zmx105-map-views { display:none; }
.zmx105-choice-controls button { cursor:pointer; font-family:inherit; }
.zmx105-choice-tabs { display:grid; grid-template-columns:repeat(var(--choice-count),minmax(0,1fr)); gap:.42rem; }
.zmx105-choice-tabs button { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:.35rem; min-height:68px; padding:.55rem .25rem; border:1px solid #a9bba5; border-radius:12px; background:#f3efdf; color:#1e4d3b; font-size:.68rem; font-weight:750; line-height:1.25; }
.zmx105-choice-tabs button span { display:grid; place-items:center; width:24px; height:24px; border:1px solid #74937b; border-radius:50%; font-size:.72rem; }
.zmx105-choice-tabs button[aria-current="true"] { border-color:#1b513c; background:#174a38; color:#fff7df; }
.zmx105-choice-tabs button[aria-current="true"] span { background:#ead299; border-color:#ead299; color:#1b4b34; }
.zmx105-choice-status { display:flex; align-items:center; justify-content:space-between; gap:.7rem; margin:.65rem 0 .8rem; }
.zmx105-choice-status p { margin:0; color:#42624f; font-size:.77rem; line-height:1.3; }
.zmx105-choice-arrows { display:flex; gap:.45rem; }
.zmx105-choice-arrows button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #60886b; border-radius:50%; color:#204d39; background:#f6edd6; font-size:1.25rem; }
.zmx105-choice-arrows button:disabled { opacity:.4; cursor:default; }

/* Deliberately shorter first step in enquiry dialogs. Details and consent stay in the form. */
body[data-zmx105-release] .zmx-enquiry-system__masthead { padding:0 0 1rem; margin:0 0 1rem; }
body[data-zmx105-release] .zmx-enquiry-system__masthead h2 { margin:0 0 .4rem; font-size:1.6rem; line-height:1.12; }
body[data-zmx105-release] .zmx-enquiry-system__masthead p { font-size:.86rem; margin:.4rem 0; line-height:1.45; }

@media (min-width:768px) {
 body[data-zmx105-release][data-zmx-route="/residential/transformations/roofpower-home/"] .zmx-res-card-grid:has(> article:nth-child(3):last-child) { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body[data-zmx105-release] main :is(.hero,.hero-wrap,.service-hero,.solution-hero,.about-hero,.zmx-res-hero) h1 { font-size:clamp(3rem,4.7vw,4.75rem)!important; line-height:1.03!important; }
 body[data-zmx105-release] main :is(.hero,.hero-wrap,.service-hero,.solution-hero,.about-hero,.zmx-res-hero) :is(.hero-subtitle,.hero-lead,.subline,.lead,.zmx-res-hero-copy) { font-size:1.08rem; line-height:1.6; }
 body[data-zmx105-release] :is(.zmx102-section h2,.zmx-res-section-heading h2,.section-heading h2,.section-head h2) { font-size:clamp(2rem,3.25vw,3rem); line-height:1.09; }
}
@media (min-width:768px) and (max-width:1023px) {
 .zmx105-image-split { grid-template-columns:1fr 1fr; gap:24px; }
 body[data-zmx105-release] .zmx103-route-visual { grid-template-columns:1fr 1fr; }
 body[data-zmx105-release] .zmx103-route-visual__media { order:0; }
 .zmx105-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .zmx105-checklist-band > div { flex-direction:column; text-align:center; }
}
@media (max-width:1100px) {
 body[data-zmx105-release][data-zmx-route="/resources/"] .hero-pill,
 body[data-zmx105-release][data-zmx-route="/about/"] .about-proof-pills span { font-size:.75rem!important; line-height:1.35!important; height:auto!important; min-height:32px; padding-block:6px!important; white-space:normal!important; }
 body[data-zmx105-release][data-zmx-route="/resources/"] .hero-pills,
 body[data-zmx105-release][data-zmx-route="/about/"] .about-proof-pills { flex-wrap:wrap!important; }
}
@media (max-width:1040px) {
 /* Every sibling route stays visible; the current page must not be hidden behind a swipe. */
 body[data-zmx105-release][data-zmx-route^="/solutions/"]:not([data-zmx-route="/solutions/"]) .solution-switcher { padding:0!important; overflow:visible!important; }
 body[data-zmx105-release][data-zmx-route^="/solutions/"]:not([data-zmx-route="/solutions/"]) .solution-switcher-inner { width:100%!important; min-height:0!important; padding:8px 16px!important; overflow:visible!important; }
 body[data-zmx105-release][data-zmx-route^="/solutions/"]:not([data-zmx-route="/solutions/"]) .solution-switcher::after { display:none!important; }
 body[data-zmx105-release][data-zmx-route^="/solutions/"]:not([data-zmx-route="/solutions/"]) .solution-switcher-nav { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%!important; min-width:0!important; gap:6px!important; padding:0!important; }
 body[data-zmx105-release][data-zmx-route^="/solutions/"]:not([data-zmx-route="/solutions/"]) .solution-switcher-nav a { min-width:0; min-height:44px!important; white-space:normal!important; text-align:center; justify-content:center; }
 body[data-zmx105-release][data-zmx-route^="/solutions/"]:not([data-zmx-route="/solutions/"]) .solution-switcher-nav .all-solutions { grid-column:1/-1; justify-self:start; min-height:32px!important; padding:4px 12px!important; }
}
@media (max-width:767px) {
 body[data-zmx105-release] .zmx102-review-dots { display:grid; grid-template-columns:repeat(3,44px); justify-content:center; }
 body[data-zmx105-release][data-zmx-route="/residential/transformations/"] .zmx-res-benefit-pills > li { justify-content:flex-start!important; text-align:left!important; padding-inline:16px!important; }
 body[data-zmx105-release] .zmx103-res-roofpower-sequence .zmx-res-system { display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:0; padding:18px 8px; }
 body[data-zmx105-release] .zmx103-res-roofpower-sequence .zmx-res-system > div { min-height:0; padding:12px 8px; flex:1; }
 body[data-zmx105-release] .zmx103-res-roofpower-sequence .zmx-res-system > i { transform:none; }
 body[data-zmx105-release][data-zmx-route="/about/"] .about-final-cta { background-position:78% center!important; }
 .zmx105-map-views { display:flex; gap:.6rem; justify-content:center; margin:1rem 0; }
 .zmx105-map-views button { min-height:44px; border:1px solid #547b60; border-radius:999px; padding:.6rem .9rem; color:#174b37; background:#f5edda; font:700 .8rem/1.3 system-ui; cursor:pointer; }
 .zmx105-map-views button[aria-pressed="true"] { background:#174b37; color:#fff4db; }
 .zmx105-coverage-map picture { display:block; max-width:300px; margin:auto; }
 .zmx105-coverage-map img { width:100%; height:auto; aspect-ratio:var(--zmx105-map-ratio,340 / 605); object-fit:contain; }
 .zmx105-container { width:calc(100% - 32px); }
 .zmx105-compact-trust { margin-top:0; padding:16px 0; }
 .zmx105-compact-trust > div { padding:21px 16px; border-radius:19px; }
 .zmx105-compact-trust h2 { font-size:1.7rem; }
 .zmx105-compact-trust p { font-size:.88rem; }
 .zmx105-compact-trust ul { gap:.42rem; }
 .zmx105-compact-trust li { padding:.4rem .58rem; font-size:.72rem; gap:.3rem; }
 body[data-zmx105-release] main :is(.hero,.hero-wrap,.service-hero,.solution-hero,.about-hero,.zmx-res-hero) h1 { font-size:clamp(2.05rem,10vw,2.7rem)!important; line-height:1.04!important; }
 body[data-zmx105-release] .zmx-funnel-hero h1 { font-size:clamp(2rem,9.5vw,2.65rem)!important; line-height:1.08!important; }
 .zmx105-image-split,body[data-zmx105-release] .zmx103-route-visual { grid-template-columns:1fr; gap:1.4rem; }
 .zmx105-context-image img,body[data-zmx105-release] .zmx103-route-visual__media img { aspect-ratio:16/10; max-height:none; }
 body[data-zmx105-release] .zmx103-route-visual__media { order:0; }
 body[data-zmx105-release] .zmx103-about .zmx103-split { display:flex; flex-direction:column; }
 body[data-zmx105-release] .zmx103-about .zmx103-media { margin:0; width:100%; aspect-ratio:16/10; border-radius:0; }
 body[data-zmx105-release] .zmx102-cards--three { grid-template-columns:1fr; }
 body[data-zmx105-release] .zmx104-story__media { min-height:0; }
 body[data-zmx105-release] .zmx104-story__content { min-height:0; padding-block:46px; }
 body[data-zmx105-release] .zmx104-story h2 { font-size:2rem; max-width:20ch; }
 body[data-zmx105-release] .zmx104-story__lead { font-size:.88rem; }
 body[data-zmx105-release] .zmx104-story__panels { grid-template-columns:1fr; }
 body[data-zmx105-release] .zmx104-story__panels article { padding:.75rem .9rem; }
 .zmx104-audience-grid > article { padding:.8rem; }
 .zmx105-checklist-band > div { flex-direction:column; gap:1.25rem; text-align:center; }
 .zmx105-guide-grid { grid-template-columns:1fr; }
 .zmx105-guide-filters { gap:.45rem; }
 .zmx105-guide-filters button { padding:.6rem .8rem; font-size:.77rem; }
 .zmx105-choice-controls.is-mobile-ready { display:block; margin:1.2rem 0 0; }
 html body[data-zmx105-release][data-zmx-route="/solutions/"] #solutions .solution-card .card-top { display:block!important; height:auto!important; min-height:0!important; }
 html body[data-zmx105-release][data-zmx-route="/solutions/"] #solutions .solution-card .icon-scene { position:relative!important; margin:1.1rem 0!important; height:180px!important; }
 body[data-zmx105-release] .zmx105-choice-track.is-mobile-ready { position:relative; display:flex!important; flex-wrap:nowrap!important; gap:14px!important; overflow-x:auto!important; overflow-y:hidden!important; scroll-snap-type:x mandatory; scroll-padding:0; margin-inline:0!important; padding:0 0 12px!important; scrollbar-width:thin; }
 body[data-zmx105-release] .zmx105-choice-track.is-mobile-ready > * { flex:0 0 100%!important; width:100%!important; min-width:0!important; max-width:100%!important; scroll-snap-align:start; scroll-snap-stop:always; margin:0!important; }
 body[data-zmx105-release] .zmx-res-service-tiles.zmx105-choice-track.is-mobile-ready > article { display:flex!important; flex-direction:column!important; }
 body[data-zmx105-release] .zmx105-choice-track.is-mobile-ready > article > img { width:100%!important; height:auto!important; min-height:0!important; max-height:230px!important; aspect-ratio:16/9; object-fit:cover; order:0!important; }
 body[data-zmx105-release] .zmx105-choice-track.is-mobile-ready > article > div { padding:1.1rem!important; min-width:0; }
 body[data-zmx105-release] .zmx105-choice-track.is-mobile-ready :is(h2,h3) { font-size:1.55rem; line-height:1.13; }
 body[data-zmx105-release] .zmx105-choice-track.is-mobile-ready p { font-size:.87rem; line-height:1.55; }
}
@media (prefers-reduced-motion:reduce) { .zmx105-choice-track { scroll-behavior:auto!important; } }

/* Correction1: enquiry information must remain readable on the shared dark steps. */
body[data-zmx105-release][data-zmx-route]:not([data-zmx-route="/"]) :is(
 #formBackdrop #formShell, #formOverlay #formShell, #propertyModal .property-step.active,
 #referralModal .step.active, .income-modal-card #incomeStepShell,
 .solution-modal-card #solutionStepShell, .electrical-modal-card #electricalStepShell,
 .service-modal-card .service-step.active
) { background:linear-gradient(145deg,#0b3e36 0%,#165a50 58%,#1d685c 100%)!important; }
body[data-zmx105-release]:not([data-zmx-route="/"]) :is(
 #formBackdrop #formShell, #formOverlay #formShell, #propertyModal .property-step.active,
 #referralModal .step.active, .income-modal-card #incomeStepShell,
 .solution-modal-card #solutionStepShell, .electrical-modal-card #electricalStepShell,
 .service-modal-card .service-step.active
) :is(.zmx-managed-consent, .zmx-managed-consent__copy, .zmx-managed-consent__copy a, .form-legal-links a, .zmx-required-mark) {
 color:#fffdf8!important;
}
body[data-zmx105-release]:not([data-zmx-route="/"]) :is(
 #formBackdrop #formShell, #formOverlay #formShell, #propertyModal .property-step.active,
 #referralModal .step.active, .income-modal-card #incomeStepShell,
 .solution-modal-card #solutionStepShell, .electrical-modal-card #electricalStepShell,
 .service-modal-card .service-step.active
) :is(.zmx-managed-consent__copy a, .form-legal-links a) {
 text-decoration:underline!important; text-underline-offset:3px;
}
body[data-zmx105-release][data-zmx-route] :is(#formBackdrop #formShell, #formOverlay #formShell, #propertyModal, #referralModal,
 .income-modal-card, .solution-modal-card, .electrical-modal-card, .service-modal-card)
 :is(.service-back, .income-back, .solution-back, .electrical-back, .property-back, .back-btn, [data-back]) {
 background:#f4efdf!important; color:#173a32!important; border:1px solid #d4c594!important;
 min-height:44px; padding:10px 16px; border-radius:12px;
}
body[data-zmx105-release][data-zmx-route] :is(#formBackdrop #formShell, #formOverlay #formShell, #propertyModal, #referralModal,
 .income-modal-card, .solution-modal-card, .electrical-modal-card, .service-modal-card)
 :is(.modal-direct, .income-direct, .solution-direct, .electrical-direct) {
 background:#e8f0f7!important; color:#173a32!important;
}
body[data-zmx105-release][data-zmx-route] :is(#formBackdrop #formShell, #formOverlay #formShell, #propertyModal, #referralModal,
 .income-modal-card, .solution-modal-card, .electrical-modal-card, .service-modal-card)
 :is(.modal-direct, .income-direct, .solution-direct, .electrical-direct) :is(a, span, strong) { color:#173a32!important; }
body[data-zmx105-release][data-zmx-route] :is(#formBackdrop #formShell, dialog, [role="dialog"]) :is(.zmx-field-error, .zmx-managed-error) {
 color:#752618!important; background:#fff2e9!important; border:1px solid #c77a60; padding:8px 10px; border-radius:8px;
}
body[data-zmx105-release] :is(dialog, [role="dialog"]) :is(a, button, input, select, textarea):focus-visible {
 outline:3px solid #e4c66e!important; outline-offset:3px!important; box-shadow:0 0 0 6px #173a32!important;
}
body[data-zmx105-release][data-zmx-route] :is(#formBackdrop #formShell, #incomeStepShell, #solutionStepShell, #electricalStepShell, .service-modal-card)
 :is(.income-send, .solution-send, .electrical-send, .service-submit) {
 display:inline-flex!important; align-items:center; justify-content:center;
 background:#e3c378!important; color:#173a32!important; border:1px solid #d4ae58!important;
 min-height:48px; padding:12px 22px!important; border-radius:999px!important; font-weight:800;
}
