/* Focused visual successor. No form, provider or production behaviour. */
/* Private-preview illustrations: genuine proof remains a separate gated registry. */
.zmx121-mockup { padding-block:clamp(24px,4vw,48px); }
.zmx121-mockup .zmx104-proof-slot__inner { padding:clamp(18px,3vw,32px); border:1px solid #d8c68e; border-radius:22px; background:linear-gradient(135deg,#f2ead6,#fcfaf3); }
.zmx121-mockup .zmx104-proof-slot__header { grid-template-columns:1fr; gap:8px; margin-bottom:12px; }
.zmx121-mockup .zmx104-proof-slot__header > span { color:#6e5219; font-size:12px; }
.zmx121-mockup .zmx104-proof-slot__header p { font-size:14px; max-width:80ch; }
.zmx121-mockup .zmx104-proof-slot__header h2 { font-size:clamp(24px,3vw,36px); color:#173e33; }
.zmx121-mockup .zmx104-proof-slot__image { border-radius:14px; background:#fffdf7; border:1px solid #d9dfd6; }
.zmx121-mockup .zmx104-proof-slot__image::after { display:none !important; }
.zmx121-mockup-frame { position:relative; width:100%; aspect-ratio:4 / 3; overflow:hidden; background:#dce5db; }
.zmx121-mockup-frame img { position:absolute !important; width:225% !important; max-width:none !important; height:200% !important; min-height:0 !important; object-fit:fill !important; left:calc(var(--mockup-x) * -112.5% - 6.25%); top:calc(var(--mockup-y) * -100%); }
.zmx121-mockup-caption { padding:14px 16px; color:#173e33; font-size:14px; font-weight:750; }
@media(max-width:767px) { .zmx121-mockup { padding-block:24px; } .zmx121-mockup .zmx104-proof-slot__inner { padding:16px; } }
/* Contact's standalone shell does not carry the older .105 body marker. */
@media (min-width:1321px) and (max-width:1599px) {
  body[data-zmx-route="/residential/contact/"] .zmx-global-header__inner { grid-template-columns:minmax(0,1fr) auto max-content !important; }
}
body[data-zmx114] { --zmx114-green:#123e33; --zmx114-gold:#ecd18a; }
body[data-zmx114].zmx-sticky-visible { padding-bottom:calc(var(--zmx114-sticky-clearance,100px) + env(safe-area-inset-bottom)) !important; }
body[data-zmx114] .zmx-global-sticky.is-visible { display:block !important; visibility:visible !important; opacity:1 !important; transform:translateY(0) !important; pointer-events:auto !important; }
body[data-zmx114] .zmx-global-sticky:not(.is-visible) { visibility:hidden !important; pointer-events:none !important; }
body[data-zmx114] :is(a,button,input,summary) { scroll-margin-bottom:calc(var(--zmx114-sticky-clearance,100px) + 20px); }
body[data-zmx114][data-zmx-route="/services/"] .final h2 { margin-inline:auto !important; text-align:center !important; }
body[data-zmx114] .zmx114-kicker { margin:0; font:800 .76rem/1.4 Inter,system-ui,sans-serif; letter-spacing:.09em; text-transform:uppercase; }
body[data-zmx114] .zmx114-offers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:stretch; }
body[data-zmx114] .zmx114-offer { display:flex; flex-direction:column; min-width:0; padding:24px; gap:14px; border:1px solid #d8c68e; border-radius:24px; overflow:hidden; box-shadow:0 15px 38px #143c3210; }
body[data-zmx114] .zmx114-offer--paid { background:linear-gradient(145deg,#123e33,#205849); color:#fffdf4; }
body[data-zmx114] .zmx114-offer--free { background:linear-gradient(145deg,#fffdf5,#f0e7d0); color:#183e33; }
body[data-zmx114] .zmx114-offer--paid .zmx114-kicker { color:#ecd18a; }
body[data-zmx114] .zmx114-offer figure { display:block !important; margin:0 !important; height:auto !important; min-height:0 !important; aspect-ratio:2.3; width:100% !important; border-radius:14px; overflow:hidden; }
body[data-zmx114] .zmx114-offer figure img { display:block; width:100%; height:100%; object-fit:cover; }
body[data-zmx114] .zmx114-offer-copy { display:flex; flex-direction:column; gap:12px; flex:1; min-width:0; }
body[data-zmx114] .zmx114-offer h3 { font-size:clamp(1.25rem,2vw,1.65rem) !important; line-height:1.2 !important; color:inherit !important; margin:0 !important; }
body[data-zmx114] .zmx114-offer p { margin:0; color:inherit; font-size:.95rem; line-height:1.5; }
body[data-zmx114] .zmx114-offer .zmx114-offer-price { font-size:1.15rem; font-weight:850; }
body[data-zmx114] .zmx114-benefits { display:grid !important; grid-template-columns:1fr !important; gap:7px !important; padding:0 !important; margin:0 !important; list-style:none; }
body[data-zmx114] .zmx114-benefits li { display:grid; grid-template-columns:22px minmax(0,1fr); align-items:start; gap:8px; font-size:.88rem; line-height:1.4; margin:0; padding:0; background:none; }
body[data-zmx114] .zmx114-benefits li::before { content:'✓'; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#ecd18a; color:#143b31; font-size:12px; font-weight:900; }
body[data-zmx114] .zmx114-offer .zmx114-terms { font-size:.77rem; line-height:1.45; opacity:.92; }
body[data-zmx114] .zmx114-terms a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
body[data-zmx114] .zmx114-offer :is(.zmx-dot82-actions,.zmx-res-actions) { display:grid !important; grid-template-columns:1fr !important; gap:8px; margin: auto 0 0 !important; padding-top:4px; }
body[data-zmx114] .zmx114-offer :is(a.zmx-dot82-button,a.zmx-res-button) { min-height:44px; padding:10px 14px; font-size:.87rem; line-height:1.3; text-align:center; }
body[data-zmx114] .zmx114-offer :is(.zmx-dot82-button--gold,.zmx-res-button--gold) { background:linear-gradient(120deg,#dcb45f,#f4dfa3) !important; color:#17352d !important; border-color:#dcb45f !important; font-weight:850; }
body[data-zmx114] .zmx114-offer--paid :is(.zmx-dot82-button--outline,.zmx-res-button--outline) { color:#fffdf5 !important; border-color:#c9d8ce !important; background:transparent !important; }
body[data-zmx114] .zmx114-offer--free :is(.zmx-dot82-button--outline,.zmx-res-button--outline) { color:#183e33 !important; border-color:#7f9589 !important; background:transparent !important; }
body[data-zmx114] .zmx114-product-stages { background:linear-gradient(135deg,#fbf7eb,#e4eee6) !important; }
body[data-zmx114] .zmx114-product-stages .zmx102-cards { gap:24px; }
body[data-zmx114] .zmx114-product-stages article { border-radius:22px; padding:28px; background:linear-gradient(135deg,#f6e5b4,#edce7b) !important; border:1px solid #d8b75d; }
body[data-zmx114] .zmx114-product-stages article:last-child { background:linear-gradient(135deg,#153f34,#256652) !important; border-color:#245541; }
body[data-zmx114] .zmx114-product-stages article:last-child :is(h3,p) { color:#fffaf0 !important; }
body[data-zmx114] .zmx114-referral-conditions { padding-block:36px !important; background:#f7f2e5 !important; }
body[data-zmx114] .zmx114-referral-conditions > .container { max-width:980px; padding:28px; border:1px solid #b9cfc0; border-left:5px solid #1d5847; border-radius:20px; background:linear-gradient(120deg,#f9fcf8,#e8f0e6); }
body[data-zmx114] .zmx114-referral-conditions h2 { font-size:clamp(1.4rem,2vw,1.8rem); }
body[data-zmx114] .zmx114-referral-conditions details { padding:14px 18px; border-radius:12px; background:#fffdf7; border:1px solid #cbd7ca; }
body[data-zmx114] .zmx114-service-overview { display:grid !important; grid-template-columns:1fr 1fr !important; gap:24px 42px !important; align-items:start; }
body[data-zmx114] .zmx114-service-overview > header { grid-column:1; grid-row:1; }
body[data-zmx114] .zmx114-service-overview > header .eyebrow { color:#78601f !important; }
body[data-zmx114] .zmx114-service-overview > .story-image { grid-column:2; grid-row:1 / 3; align-self:center; }
body[data-zmx114] .zmx114-service-overview > .story-copy { grid-column:1; grid-row:2; }
body[data-zmx114] .zmx114-service-overview .story-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
body[data-zmx114] .zmx114-service-overview .story-actions .text-link { display:inline-flex; justify-content:center; align-items:center; padding:12px 20px; min-height:44px; border:1px solid #2d6653; border-radius:999px; color:#214f40; text-decoration:none; font-weight:750; }
body[data-zmx114] .zmx114-planning { display:grid !important; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:24px 40px; align-items:start; }
body[data-zmx114] .zmx114-planning > header { grid-column:1/-1; max-width:820px; margin:0 auto; text-align:center; }
body[data-zmx114] .zmx114-planning > figure { grid-column:1; margin:0; width:100%; height:auto !important; min-height:0 !important; aspect-ratio:4/3; border-radius:20px; overflow:hidden; }
body[data-zmx114] .zmx114-planning > figure img { height:100%; width:100%; object-fit:cover; }
body[data-zmx114] .zmx114-planning > .zmx113-horizontal-steps { display:grid !important; grid-template-columns:1fr !important; grid-column:2; gap:12px; margin:0 !important; }
body[data-zmx114] .zmx114-planning .zmx113-horizontal-step { grid-column:auto !important; min-height:0 !important; }
body[data-zmx114] .zmx113-commercial-coverage__layout { display:block !important; }
body[data-zmx114] .zmx113-commercial-coverage__content { max-width:850px; margin:0 auto 28px; text-align:center; }
body[data-zmx114] .zmx114-coverage-map { display:block; width:min(100%,1120px); margin:24px auto 0; padding:0; }
body[data-zmx114] .zmx114-coverage-map picture { display:block; width:100%; }
body[data-zmx114] .zmx114-coverage-map img { display:block; width:100% !important; max-width:100% !important; height:auto !important; aspect-ratio:8/5; object-fit:contain; border-radius:22px; }
body[data-zmx114] .zmx114-map-caption { max-width:850px; margin:20px auto 0; color:#315349; font-size:1rem; text-align:center; }
body[data-zmx114] .zmx114-map-caption p { font-size:.94rem; line-height:1.6; margin:10px 0; }
body[data-zmx114] .zmx114-map-caption small { display:block; font-size:.72rem; line-height:1.5; }
body[data-zmx114] [data-zmx110-coverage] form { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin:18px auto; }
body[data-zmx114] [data-zmx110-coverage] button { padding:12px 22px; min-height:44px; border:1px solid #c2a155; border-radius:999px; color:#193b30; background:linear-gradient(135deg,#d9b561,#f5e1a6); font:800 .9rem/1.3 Inter,system-ui,sans-serif; }
body[data-zmx114] .zmx114-energy-plan { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:28px 0; }
body[data-zmx114] .zmx114-energy-plan article { padding:22px; border:1px solid #c4d7c6; border-radius:18px; background:linear-gradient(140deg,#fffdf4,#eaf1e7); }
body[data-zmx114] .zmx114-energy-plan span { color:#84641f; font-size:.8rem; font-weight:800; }
body[data-zmx114] .zmx114-energy-plan h3 { margin:8px 0; color:#174b3b; font-size:1.25rem; }
body[data-zmx114] .zmx114-energy-plan p,body[data-zmx114] .zmx114-supporting-copy { font-size:1rem !important; line-height:1.6; margin:0; }
body[data-zmx114] .zmx114-audience { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
body[data-zmx114] .zmx114-audience-pair { display:grid; gap:18px; align-content:start; }
body[data-zmx114] .zmx114-audience article { padding:24px; border-radius:18px; border:1px solid #d3dfd2; background:linear-gradient(145deg,#fffdf5,#eaf0e3); }
body[data-zmx114] .zmx114-audience h3 { color:#164935; font-size:1.2rem; line-height:1.3; margin:0 0 10px; }
body[data-zmx114] .zmx114-audience p { color:#355447; line-height:1.6; font-size:.94rem; margin:0; }
.zmx114-rail-controls { display:none; }
.zmx114-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (min-width:768px) and (max-width:1100px) {
  body[data-zmx114] .zmx114-planning { grid-template-columns:1fr; }
  body[data-zmx114] .zmx114-planning > figure,body[data-zmx114] .zmx114-planning > .zmx113-horizontal-steps { grid-column:1; width:100%; }
  body[data-zmx114] .zmx114-planning > figure { aspect-ratio:16/8; }
  body[data-zmx114] .zmx113-three-card-balance { grid-template-columns:1fr !important; }
  body[data-zmx114] .zmx113-three-card-balance > article,body[data-zmx114] .zmx113-three-card-balance > article:last-child { display:grid !important; grid-column:auto !important; grid-template-columns:1fr 1fr !important; }
  body[data-zmx114] .zmx113-three-card-balance > article > figure { margin:0; min-height:200px; height:100%; }
  body[data-zmx114] .zmx114-audience { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  body[data-zmx114] .zmx114-audience article { padding:18px; }
}
@media (max-width:767px) {
  body[data-zmx114] .zmx114-rail { display:flex !important; gap:16px !important; overflow-x:auto !important; overflow-y:hidden; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none; align-items:stretch; padding:0 0 8px !important; grid-template-columns:none !important; }
  body[data-zmx114] .zmx114-rail::-webkit-scrollbar { display:none; }
  body[data-zmx114] .zmx114-rail > * { flex:0 0 100% !important; width:100% !important; max-width:none !important; min-width:0 !important; scroll-snap-align:start; box-sizing:border-box; }
  body[data-zmx114] .zmx114-rail-controls:not([hidden]) { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:16px 0; color:#193f32; }
  body[data-zmx114] .zmx114-rail-controls button { flex-shrink:0; min-width:44px; min-height:44px; border-radius:999px; border:1px solid #a5bcad; background:#fffaf0; color:#143f32; font:800 .8rem/1.2 Inter,system-ui,sans-serif; padding:10px; }
  body[data-zmx114] .zmx114-rail-controls button:disabled { opacity:.35; }
  body[data-zmx114] .zmx114-rail-choices { display:flex; gap:5px; min-width:0; flex:1; }
  body[data-zmx114] .zmx114-rail-choices button { flex:1; min-width:0; padding:8px; font-size:.73rem; }
  body[data-zmx114] .zmx114-rail-choices button[aria-pressed="true"] { color:#fffaf1; background:#184b3a; border-color:#184b3a; }
  body[data-zmx114] .zmx114-offer { padding:18px; gap:10px; border-radius:20px; }
  body[data-zmx114] .zmx114-offer figure { aspect-ratio:2.55; }
  body[data-zmx114] .zmx114-offer-copy { gap:10px; }
  body[data-zmx114] .zmx114-offer h3 { font-size:1.23rem !important; }
  body[data-zmx114] .zmx114-offer p { font-size:.88rem; }
  body[data-zmx114] .zmx114-offer .zmx114-terms { font-size:.8125rem; line-height:1.5; }
  body[data-zmx114] .zmx114-service-overview { display:flex !important; flex-direction:column; gap:22px !important; }
  body[data-zmx114] .zmx114-service-overview > * { width:100%; }
  body[data-zmx114] .zmx114-service-overview > header { order:0; text-align:center; }
  body[data-zmx114] .zmx114-service-overview > .story-image { order:1 !important; min-height:0; aspect-ratio:4/3; }
  body[data-zmx114] .zmx114-service-overview > .story-copy { order:2; }
  body[data-zmx114] .zmx114-service-overview .story-actions { flex-direction:column; align-items:stretch; text-align:center; }
  body[data-zmx114] .zmx114-service-overview .story-pills { justify-content:center; }
  body[data-zmx114] .zmx114-planning { display:flex !important; flex-direction:column; gap:22px; }
  body[data-zmx114] .zmx114-planning > * { width:100%; }
  body[data-zmx114] .zmx114-planning > figure { aspect-ratio:16/10; }
  body[data-zmx114] .zmx114-planning > .zmx113-horizontal-steps { grid-template-columns:1fr !important; }
  body[data-zmx114] .zmx114-coverage-map img { aspect-ratio:1 !important; }
  body[data-zmx114] .zmx114-map-caption { text-align:left; font-size:.95rem; }
  body[data-zmx114] .zmx114-product-stages .zmx102-cards { grid-template-columns:1fr; gap:16px; }
  body[data-zmx114] .zmx114-product-stages article { padding:22px; }
  body[data-zmx114] .zmx114-referral-conditions > .container { padding:22px; width:calc(100% - 36px); }
  body[data-zmx114] .zmx114-energy-plan { grid-template-columns:1fr; gap:12px; }
  body[data-zmx114] .zmx114-energy-plan article { padding:18px; }
  body[data-zmx114] .zmx114-energy-plan h3 { font-size:1.1rem; }
  body[data-zmx114] .zmx114-audience-pair { gap:12px; }
  body[data-zmx114] .zmx114-audience article { padding:20px; }
  body[data-zmx114][data-zmx113-release] .zmx113-review-controls { display:flex !important; gap:4px; flex-wrap:nowrap; justify-content:center; }
  body[data-zmx114] .zmx113-review-controls :is([data-zmx109-review-prev],[data-zmx109-review-next],[data-zmx109-review-toggle]) { min-width:38px; width:38px; height:44px; padding:5px; margin:0; }
  body[data-zmx114] .zmx113-review-controls [data-zmx109-review-toggle] span:last-child { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
  body[data-zmx114] .zmx113-review-controls [data-zmx109-review-progress] { min-width:30px !important; width:auto; font-size:.7rem; white-space:nowrap; }
  body[data-zmx114] .zmx113-review-dots { gap:0; flex:1; }
  body[data-zmx114] .zmx113-review-dot { width:24px; min-width:24px; }
}
@media (max-width:360px) {
  body[data-zmx114] .zmx113-review-controls :is([data-zmx109-review-prev],[data-zmx109-review-next],[data-zmx109-review-toggle]) { width:32px; min-width:32px; }
  body[data-zmx114] .zmx113-review-dot { width:20px; min-width:20px; }
  body[data-zmx114] .zmx113-review-dot[aria-current="true"]::before { width:16px; }
}
@media (prefers-reduced-motion:reduce) { body[data-zmx114] .zmx114-rail { scroll-behavior:auto; } }

/* .120: keep the two About-route actions on a common baseline, including tablet wraps. */
body[data-zmx114][data-zmx-route="/about/"] .about-route-grid.refined > article {
  display:flex !important; flex-direction:column; align-items:flex-start; height:100%;
}
body[data-zmx114][data-zmx-route="/about/"] .about-route-grid.refined > article > .about-route-pills {
  margin:22px 0 5px !important;
}
body[data-zmx114][data-zmx-route="/about/"] .about-route-grid.refined > article > a:last-child {
  margin-top:auto !important; align-self:flex-start !important;
}
@media(min-width:901px) {
  /* Text establishes the overview row height, not a square photo's intrinsic size. */
  body[data-zmx-route="/residential/transformations/"] .zmx-res-service-tiles > article > img { contain:size; }
}

/* .115: confirmed small-screen defects from the complete visual pass. */
body[data-zmx114] :is(.zmx114-rail-controls,.zmx110-rail-controls) output:not(.zmx114-sr-only) {
  display:inline-block; color:#173e33 !important; background:#fff8e6;
  border:1px solid #d8c68e; border-radius:999px; padding:6px 12px;
  font-size:.82rem; line-height:1.35; font-weight:800; white-space:nowrap;
}
body[data-zmx114] :is(.zmx114-rail,.zmx110-manual-rail):focus-visible { outline:3px solid #b78b32; outline-offset:4px; }
@media (max-width:1100px) {
  body[data-zmx114] .zmx103-res-about-actions { justify-content:center; }
}
body[data-zmx-route="/contact/"] a.zmx-global-contact,
body[data-zmx-route="/residential/contact/"] a.zmx-global-contact {
  color:#fff9e9 !important; white-space:nowrap; flex-shrink:0;
}
@media (min-width:768px) and (max-width:1000px) {
  body[data-zmx114] .zmx114-service-overview { display:flex !important; flex-direction:column; gap:24px !important; }
  body[data-zmx114] .zmx114-service-overview > * { width:100%; }
  body[data-zmx114] .zmx114-service-overview > header { order:0; text-align:center; }
  body[data-zmx114] .zmx114-service-overview > .story-image { order:1 !important; height:340px !important; min-height:0 !important; }
  body[data-zmx114] .zmx114-service-overview > .story-copy { order:2; }
  body[data-zmx114] .zmx114-service-overview .story-actions,
  body[data-zmx114] .zmx114-service-overview .story-pills { justify-content:center; }
}
@media (min-width:768px) and (max-width:1023px) {
  body[data-zmx114][data-zmx-route="/"] .services-grid-image-led > .service-card:last-child {
    display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; align-items:stretch;
    grid-template-rows:auto !important; min-height:0 !important; height:auto !important;
  }
  body[data-zmx114][data-zmx-route="/"] .services-grid-image-led > .service-card:last-child > .service-media {
    width:100% !important; height:100% !important; min-height:240px; margin:0;
  }
  body[data-zmx114][data-zmx-route="/"] .services-grid-image-led > .service-card:last-child > .service-content {
    width:auto !important; min-width:0; display:flex; flex-direction:column; justify-content:center;
  }
}
@media (max-width:767px) {
  body[data-zmx114][data-zmx113-commercial] .zmx113-referral-flow .zmx105-image-split {
    grid-template-columns:minmax(0,1fr) !important; gap:24px; min-width:0;
  }
  body[data-zmx114] .zmx113-referral-flow .zmx105-image-copy { min-width:0; width:100%; }
  body[data-zmx114] .zmx113-referral-flow .zmx105-context-image { width:100%; max-width:100%; }
  body[data-zmx114] .zmx113-referral-flow .zmx113-horizontal-steps {
    display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:12px; overflow:visible; width:100%;
  }
  body[data-zmx114] .zmx113-referral-flow .zmx113-horizontal-step { width:100%; min-width:0; }
}
