/* .110 final pre-proof mobile and tablet coherence layer. */
body.zmx110-client-ready { --zmx110-gold:#e7c46f; --zmx110-ink:#102b26; }

/* The two reproduced 768px failures were nested two-column compositions. */
@media (min-width:768px) and (max-width:1023px) {
  .zmx110-commercial-planning__layout,
  .zmx110-referral-flow,
  body[data-zmx-route="/services/commercial-electrical/"] [data-zmx102-section="planning"] .zmx103-route-visual,
  body[data-zmx-route="/referrals/"] [data-zmx102-section="referral-process"] .zmx105-image-split {
    grid-template-columns:minmax(0,1fr) !important;
    align-items:start;
  }
  body[data-zmx-route="/services/commercial-electrical/"] [data-zmx102-section="planning"] .zmx102-cards--three,
  body[data-zmx-route="/referrals/"] [data-zmx102-section="referral-process"] .zmx102-cards--three {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  body[data-zmx-route="/services/commercial-electrical/"] [data-zmx102-section="planning"] :is(img,picture),
  body[data-zmx-route="/referrals/"] [data-zmx102-section="referral-process"] :is(img,picture) {
    max-height:440px;
  }
}

/* Proof is always a single, legible three-role set while the preview gate is on. */
.zmx110-client-ready .zmx104-proof-slot__images {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,1.6vw,22px);
  overflow:visible;
}
.zmx110-client-ready .zmx104-proof-slot__image { min-width:0; width:auto; }
.zmx110-client-ready .zmx104-proof-slot__image[data-zmx110-proof-role]::after {
  content:attr(data-zmx110-proof-role);
  display:block;
  margin-top:.7rem;
  color:inherit;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Reviews retain the premium dark/cream presentation without profile clutter. */
.zmx110-client-ready .zmx109-review-profiles { display:none !important; }
.zmx110-client-ready .zmx109-review-heading { grid-template-columns:minmax(0,760px); }
.zmx110-client-ready .zmx109-review-card { background:#fffaf0; color:var(--zmx110-ink); }
.zmx110-client-ready .zmx109-review-card blockquote p { color:#203c34; }
.zmx110-client-ready .zmx109-review-card footer { border-top-color:rgba(32,60,52,.2); }
.zmx110-client-ready .zmx109-review-card cite { color:#604914; }
.zmx110-client-ready .zmx109-review-card .zmx109-review-source { color:#365f54; }
.zmx110-client-ready .zmx109-review-card .zmx109-review-source:hover,
.zmx110-client-ready .zmx109-review-card .zmx109-review-source:focus-visible {
  color:#123f35;
  text-decoration:underline;
  text-underline-offset:3px;
}
.zmx110-client-ready .zmx109-review-card .zmx109-review-source:focus-visible {
  outline:3px solid #b88728;
  outline-offset:4px;
}
.zmx110-client-ready [data-zmx109-review-toggle] { min-width:44px; width:44px; padding:0; }
.zmx110-client-ready [data-zmx109-review-toggle] span:last-child { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }

/* Paid reviews remain the high-intent offer; offers never become carousels. */
.zmx110-client-ready :is(.zmx-dot82-card--paid,.zmx110-paid-offer) {
  background:linear-gradient(145deg,#102f29 0%,#17483f 62%,#6b5929 140%);
  border-color:rgba(231,196,111,.58);
  color:#fff;
}
.zmx110-client-ready :is(.zmx-dot82-card--paid,.zmx110-paid-offer) :is(h2,h3,strong) { color:#fff; }
.zmx110-client-ready .zmx110-paid-offer :is(p,li,.zmx102-res-offer-credit,.zmx110-offer-terms,.zmx110-offer-safety) { color:#f3f7f5; }
.zmx110-client-ready .zmx110-paid-offer .zmx-res-card__label { color:#f1cf79; }
.zmx110-client-ready .zmx110-paid-offer .zmx-res-text-link {
  color:#f4d98f;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}
.zmx110-client-ready .zmx110-paid-offer .zmx-res-text-link:hover,
.zmx110-client-ready .zmx110-paid-offer .zmx-res-text-link:focus-visible { color:#fff; }
.zmx110-client-ready .zmx110-paid-offer .zmx-res-text-link:focus-visible {
  border-radius:4px;
  outline:3px solid #f0d58c;
  outline-offset:4px;
}
.zmx110-client-ready :is(.zmx-dot82-card--paid,.zmx110-paid-offer) :is(.zmx-res-button,.zmx102-button,.zmx-dot82-button) {
  background:linear-gradient(135deg,#d7ad55,#f0d58c);
  border-color:#efd284;
  color:#17251f;
}

/* Residential offer order is intentional: easier free entry at the left on
   larger screens, higher-intent RoofReady first in the mobile reading order. */
.zmx110-client-ready [data-zmx110-offer-grid="residential"] > [data-zmx110-offer-tone="secondary"] { order:1; }
.zmx110-client-ready [data-zmx110-offer-grid="residential"] > [data-zmx110-offer-tone="premium"] { order:2; }
.zmx110-client-ready .zmx110-guide-free-offer .zmx110-offer-grid {
  grid-template-columns:minmax(0, 1fr);
  max-width:1040px;
  margin-inline:auto;
}

/* Four commercial choices read as one concise overview on desktop. */
.zmx110-client-ready [data-zmx110-solutions-overview] .solutions-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,1.5vw,22px);
  align-items:stretch;
}
.zmx110-client-ready [data-zmx110-solutions-overview] .solution-card {
  --zmx110-card-accent:#b7842f;
  --zmx110-card-tint:#f7ead0;
  --zmx110-card-ink:#745016;
  display:flex !important;
  min-width:0;
  height:100%;
  flex-direction:column;
  overflow:hidden;
  padding:0 !important;
  border:1px solid var(--zmx110-card-accent) !important;
  border-radius:22px;
  background:linear-gradient(180deg,#fff 0%,var(--zmx110-card-tint) 155%) !important;
  box-shadow:0 16px 42px rgba(13,48,40,.1);
}
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card--rooflife { --zmx110-card-accent:#26705c; --zmx110-card-tint:#deeee7; --zmx110-card-ink:#175344; }
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card--solar { --zmx110-card-accent:#42758a; --zmx110-card-tint:#dfedf2; --zmx110-card-ink:#275c72; }
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card--protection { --zmx110-card-accent:#77845b; --zmx110-card-tint:#e8eddc; --zmx110-card-ink:#53613d; }
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card__media {
  width:100%;
  margin:0;
  overflow:hidden;
  aspect-ratio:16 / 9;
  border-bottom:1px solid color-mix(in srgb,var(--zmx110-card-accent) 28%,transparent);
  background:#dfe7df;
}
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card__media img {
  display:block;
  width:100% !important;
  height:100% !important;
  object-fit:cover;
}
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card__body {
  display:grid !important;
  min-width:0;
  flex:1;
  grid-template-rows:auto minmax(3.25rem,auto) minmax(8.8rem,1fr) minmax(5.4rem,auto) auto;
  padding:22px 20px 21px !important;
}
.zmx110-client-ready [data-zmx110-solutions-overview] .card-kicker { margin:0 0 .52rem; color:var(--zmx110-card-ink) !important; font-size:.75rem !important; font-weight:900; letter-spacing:.08em; line-height:1.25; text-transform:uppercase; }
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card__body h3 { margin:0 0 .72rem; color:#102c26; }
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card__description { margin:0 0 1rem !important; color:#354a44; }
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card__benefits { display:grid; gap:.48rem; margin:0 0 1.2rem !important; padding:0 !important; list-style:none !important; }
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card__benefits > li { display:grid !important; grid-template-columns:20px minmax(0,1fr) !important; align-items:start; gap:.48rem; margin:0 !important; padding:0 !important; color:#203c34; }
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card__benefits > li::before,
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card__benefits > li::after { display:none !important; content:none !important; }
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card__benefits > li > span:first-child { display:grid !important; width:19px !important; height:19px !important; place-items:center; border:1px solid color-mix(in srgb,var(--zmx110-card-accent) 55%,transparent); border-radius:50%; background:color-mix(in srgb,var(--zmx110-card-tint) 80%,#fff); color:var(--zmx110-card-ink); font-size:.7rem; font-weight:950; line-height:1 !important; }
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card__benefits > li > span:last-child { display:block !important; width:auto !important; height:auto !important; color:inherit; font-weight:750; line-height:1.42 !important; }
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card__actions { display:grid; gap:.7rem; width:100%; margin-top:auto !important; }
.zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card__actions :is(a,button) { width:100%; min-height:46px; justify-content:center; text-align:center; }

/* Joined editorial sections keep media and decision content in proportion. */
.zmx110-client-ready .zmx110-service-planning__inner,
.zmx110-client-ready .zmx110-transform-scope__inner {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(24px,4vw,58px);
  align-items:stretch;
}
.zmx110-client-ready :is(.zmx110-service-planning__media,.zmx110-transform-scope__media) {
  min-height:100%;
  margin:0;
  overflow:hidden;
  border-radius:20px;
}
.zmx110-client-ready :is(.zmx110-service-planning__media,.zmx110-transform-scope__media) img {
  width:100%;
  height:100%;
  min-height:320px;
  object-fit:cover;
}
.zmx110-client-ready .zmx110-service-planning__cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.zmx110-client-ready .zmx110-service-planning__card,
.zmx110-client-ready :is(.zmx110-transform-scope__aside,.zmx110-transform-scope__note) {
  height:100%;
}
.zmx110-client-ready .zmx110-step-number {
  display:inline-flex;
  margin-bottom:.7rem;
  color:#9a711e;
  font-weight:900;
  letter-spacing:.08em;
}

/* Coverage and guide controls share the same clear, restrained control language. */
.zmx110-client-ready .zmx110-coverage-summary {
  display:grid;
  align-content:center;
  gap:14px;
}
.zmx110-client-ready .zmx110-coverage-summary > * { margin-block:0; }
.zmx110-client-ready .zmx110-coverage-chips {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.zmx110-client-ready [data-zmx110-coverage-indicator],
.zmx110-client-ready .zmx110-guide-filters button {
  border:1px solid rgba(20,73,62,.2);
  border-radius:999px;
  background:#f5f0e5;
  color:#173d35;
  font-weight:750;
}
.zmx110-client-ready [data-zmx110-coverage-indicator] { padding:9px 12px; font-size:.82rem; }
.zmx110-client-ready .zmx110-guide-filters { justify-content:center; gap:9px; }
.zmx110-client-ready .zmx110-guide-filters button { min-height:44px; padding:10px 16px; }
.zmx110-client-ready .zmx110-guide-filters button[aria-pressed="true"] {
  background:#173d35;
  border-color:#173d35;
  color:#fff;
  box-shadow:0 7px 18px rgba(16,43,38,.16);
}
.zmx110-client-ready [data-zmx110-guide-result-count] { text-align:center; }

/* Runtime-added controls: discoverable, manual and deliberately compact. */
.zmx110-rail-shell { min-width:0; }
.zmx110-rail-controls { display:none; align-items:center; justify-content:center; gap:10px; margin:14px 0 4px; }
.zmx110-rail-controls button,
.zmx110-guide-dialog__close {
  display:inline-grid;
  place-items:center;
  min-width:44px;
  min-height:44px;
  border:1px solid rgba(16,43,38,.25);
  border-radius:999px;
  background:#fff;
  color:#173d35;
  font:800 1rem/1 system-ui,sans-serif;
  cursor:pointer;
}
.zmx110-rail-controls output { min-width:66px; text-align:center; font:800 .78rem/1 system-ui,sans-serif; letter-spacing:.06em; }

/* Guide overview opens as a modal on larger screens and a drawer on phones. */
.zmx110-guide-dialog {
  width:min(680px,calc(100vw - 32px));
  max-height:min(760px,calc(100dvh - 48px));
  margin:auto;
  padding:0;
  border:0;
  border-radius:24px;
  background:#fffdf7;
  color:#17362f;
  box-shadow:0 30px 90px rgba(4,22,18,.35);
}
.zmx110-guide-dialog::backdrop { background:rgba(5,24,20,.72); backdrop-filter:blur(4px); }
.zmx110-guide-dialog__inner { padding:clamp(24px,4vw,42px); }
.zmx110-guide-dialog__head { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; }
.zmx110-guide-dialog__head h2 { margin:0; font-size:clamp(1.35rem,3vw,2rem); }
.zmx110-guide-dialog__content :is(ol,ul) { padding-left:1.35rem; }
.zmx110-guide-dialog__content li + li { margin-top:.75rem; }

.zmx-global-sticky.zmx110-sticky-suppressed,
.zmx-global-sticky.is-visible.zmx110-sticky-suppressed {
  transform:translateY(calc(100% + 24px)) !important;
  pointer-events:none !important;
}

@media (max-width:767px) {
  /* RoofReady is the first decision on residential mobile; both cards remain visible. */
  .zmx110-client-ready [data-zmx110-offer-grid="residential"] > [data-zmx110-offer-tone="premium"] { order:1; }
  .zmx110-client-ready [data-zmx110-offer-grid="residential"] > [data-zmx110-offer-tone="secondary"] { order:2; }

  .zmx110-client-ready .zmx110-manual-rail {
    display:flex !important;
    grid-template-columns:none !important;
    gap:14px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    scrollbar-width:none;
    touch-action:pan-x pan-y;
  }
  .zmx110-client-ready .zmx110-manual-rail::-webkit-scrollbar { display:none; }
  .zmx110-client-ready .zmx110-manual-rail > * {
    flex:0 0 calc(100% - 32px) !important;
    min-width:0 !important;
    scroll-snap-align:start;
  }
  .zmx110-client-ready .zmx104-proof-slot__images.zmx110-manual-rail > * {
    flex-basis:100% !important;
  }
  /* Earlier route-specific grid rules are deliberately strong. These two
     selectors keep their image-led principal service cards in the same
     discoverable one-card mobile rail as the rest of the repeatable system. */
  body.zmx110-client-ready[data-zmx-route^="/services/"]:not([data-zmx-route="/services/"]) .zmx88-scope-grid--media.zmx110-manual-rail,
  body.zmx110-client-ready[data-zmx-route^="/residential/services/"] .zmx-res-service-card-grid.zmx110-manual-rail {
    display:flex !important;
    grid-template-columns:none !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding-bottom:0 !important;
  }
  .zmx110-client-ready .zmx110-rail-controls { display:flex; }
  .zmx110-client-ready .zmx104-proof-slot__images { display:flex; }
  .zmx110-client-ready .zmx105-guide-grid { display:flex; }

  .zmx110-guide-dialog {
    width:100%;
    max-width:none;
    max-height:min(82dvh,760px);
    margin:auto 0 0;
    border-radius:24px 24px 0 0;
  }
  .zmx110-guide-dialog__inner { padding:22px 20px calc(24px + env(safe-area-inset-bottom)); }

  .zmx110-client-ready :is(.zmx102-section,.zmx104-section,.zmx105-guide-library) :is(h2,h3,p) { text-wrap:pretty; }
  .zmx110-client-ready .zmx109-review-heading { text-align:center; justify-items:center; }
  .zmx110-client-ready .zmx110-service-planning__inner,
  .zmx110-client-ready .zmx110-transform-scope__inner { grid-template-columns:minmax(0,1fr); gap:22px; }
  .zmx110-client-ready :is(.zmx110-service-planning__media,.zmx110-transform-scope__media) img { min-height:240px; }
  .zmx110-client-ready .zmx110-coverage-chips { display:grid; grid-template-columns:1fr; }
  .zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card__media { height:220px; aspect-ratio:auto; }
  .zmx110-client-ready [data-zmx110-solutions-overview] .zmx109-solution-card__body { grid-template-rows:auto; padding:19px 17px 20px !important; }
}

@media (min-width:768px) and (max-width:1100px) {
  .zmx110-client-ready [data-zmx110-solutions-overview] .solutions-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .zmx110-client-ready .zmx110-service-planning__inner,
  .zmx110-client-ready .zmx110-transform-scope__inner {
    grid-template-columns:minmax(0,1fr);
  }
}

@media (max-width:374px) {
  .zmx110-client-ready .zmx110-manual-rail > * { flex-basis:calc(100% - 32px) !important; }
}

@media (prefers-reduced-motion:reduce) {
  .zmx110-client-ready .zmx110-manual-rail { scroll-behavior:auto !important; }
  .zmx110-guide-dialog::backdrop { backdrop-filter:none; }
}

/* .111 owner visual-alignment correction: one clear hierarchy, less dead space
   and the same discoverable interaction language at every responsive size. */
body[data-zmx110-release] .zmx105-compact-trust > div {
  justify-items:center;
  text-align:center;
}
body[data-zmx110-release] .zmx105-compact-trust :is(h2,p) {
  margin-inline:auto;
  text-align:center;
}
body[data-zmx110-release] .zmx105-compact-trust ul { justify-content:center; }

/* Every offer has exactly one gold primary action and one quieter outline path. */
body[data-zmx110-release] .zmx110-offer-grid :is(.zmx-dot82-actions,.zmx-res-actions) {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  width:100%;
  margin-top:auto;
}
body[data-zmx110-release] .zmx110-offer-grid :is(.zmx-dot82-button,.zmx-res-button) {
  width:100%;
  min-height:48px;
  justify-content:center;
  margin:0;
  text-align:center;
}
body[data-zmx110-release] .zmx110-offer-grid :is(.zmx-dot82-button--gold,.zmx-res-button--gold),
body[data-zmx110-release] .zmx111-transformations-offer .zmx-res-button--gold {
  border-color:#e5c26b !important;
  background:linear-gradient(135deg,#d9af55,#f0d78f) !important;
  color:#17251f !important;
}
body[data-zmx110-release] .zmx110-offer-grid .zmx-dot82-button--outline,
body[data-zmx110-release] .zmx-dot82-card--paid .zmx-dot82-button--outline,
body[data-zmx110-release] .zmx110-paid-offer .zmx-res-button--outline,
body[data-zmx110-release] .zmx111-transformations-offer .zmx-res-button--outline {
  background:transparent !important;
  box-shadow:none !important;
}
body[data-zmx110-release] .zmx-dot82-card--paid .zmx-dot82-button--outline {
  border-color:rgba(255,255,255,.72) !important;
  color:#fff !important;
}
body[data-zmx110-release] .zmx110-paid-offer .zmx-res-button--outline {
  border-color:rgba(255,255,255,.72) !important;
  color:#fff !important;
}
body[data-zmx110-release] .zmx110-res-offer {
  display:flex;
  height:100%;
  flex-direction:column;
}
body[data-zmx110-release] .zmx110-res-offer > div {
  display:flex;
  min-height:0;
  flex:1;
  flex-direction:column;
  align-items:stretch;
}
body[data-zmx110-release] .zmx110-res-offer [data-zmx110-offer-benefits] {
  display:grid;
  gap:10px;
  width:100%;
  margin:18px 0 20px;
  padding:0;
  list-style:none;
}
body[data-zmx110-release] .zmx110-res-offer [data-zmx110-offer-benefits] li,
body[data-zmx110-release] .zmx111-offer-benefits li {
  position:relative;
  margin:0;
  padding-left:30px;
  line-height:1.48;
  text-align:left;
}
body[data-zmx110-release] .zmx110-res-offer [data-zmx110-offer-benefits] li::before,
body[data-zmx110-release] .zmx111-offer-benefits li::before {
  position:absolute;
  top:.15em;
  left:0;
  display:grid;
  width:20px;
  height:20px;
  place-items:center;
  border-radius:50%;
  background:#e7c46f;
  color:#163a32;
  content:"✓";
  font-size:.72rem;
  font-weight:950;
  line-height:1;
}

/* Commercial solution cards share one baseline from heading to both actions. */
body[data-zmx110-release] :is(#solutions,[data-zmx110-solutions-overview]) .zmx109-solution-card__body {
  display:grid !important;
  flex:1;
  grid-template-rows:auto minmax(3.35rem,auto) minmax(7.2rem,auto) minmax(6.6rem,auto) auto !important;
  align-content:start;
}
body[data-zmx110-release] :is(#solutions,[data-zmx110-solutions-overview]) .zmx109-solution-card__benefits {
  align-content:start;
  align-self:start;
  margin:0 0 18px !important;
}
body[data-zmx110-release] :is(#solutions,[data-zmx110-solutions-overview]) .zmx109-solution-card__benefits > li {
  min-height:20px;
}
body[data-zmx110-release] :is(#solutions,[data-zmx110-solutions-overview]) .zmx109-solution-card__benefits > li::before,
body[data-zmx110-release] :is(#solutions,[data-zmx110-solutions-overview]) .zmx109-solution-card__benefits > li::after {
  display:none !important;
  content:none !important;
}
body[data-zmx110-release] :is(#solutions,[data-zmx110-solutions-overview]) .zmx109-solution-card__actions {
  display:grid !important;
  grid-template-columns:minmax(0,1fr);
  align-self:end;
  gap:9px;
  width:100%;
  margin-top:0 !important;
}
body[data-zmx110-release] :is(#solutions,[data-zmx110-solutions-overview]) .zmx109-solution-card__actions :is(a,button) {
  display:inline-flex;
  width:100%;
  min-height:46px;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border-radius:999px;
  padding:10px 14px;
  text-align:center;
}
body[data-zmx110-release] :is(#solutions,[data-zmx110-solutions-overview]) .zmx109-solution-primary {
  border:1px solid #e5c26b !important;
  background:linear-gradient(135deg,#d9af55,#f0d78f) !important;
  color:#17251f !important;
}
body[data-zmx110-release] :is(#solutions,[data-zmx110-solutions-overview]) .zmx109-solution-secondary {
  border:1px solid rgba(20,73,62,.32);
  background:transparent;
  color:#17483e;
  text-decoration:none;
}

/* Reviews rotate automatically through the existing verified records; visual
   controls are removed so the section reads like the cleaner .101 treatment. */
body[data-zmx110-release] .zmx109-review-section {
  padding-block:clamp(48px,5.4vw,76px);
}
body[data-zmx110-release] .zmx109-review-heading {
  margin-bottom:clamp(22px,2.8vw,34px);
}
body[data-zmx110-release] .zmx109-review-controls { display:none !important; }

/* Joined service and transformation sections no longer stretch the image into
   an empty vertical box. */
body[data-zmx110-release] .zmx110-service-planning__inner {
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  align-items:start;
}
body[data-zmx110-release] .zmx110-service-planning__media,
body[data-zmx110-release] .zmx110-transform-scope__media {
  min-height:0;
  height:auto;
  aspect-ratio:4 / 3;
}
body[data-zmx110-release] :is(.zmx110-service-planning__media,.zmx110-transform-scope__media) img {
  height:100% !important;
  min-height:0 !important;
  aspect-ratio:inherit;
}
body[data-zmx110-release] .zmx110-service-planning__cards {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
body[data-zmx110-release] .zmx110-service-planning__card {
  display:flex;
  min-height:0;
  height:auto;
  flex-direction:column;
  align-items:flex-start;
}
body[data-zmx110-release] .zmx110-service-planning__card .zmx110-step-number {
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:50%;
  background:#f2dfae;
  color:#725115;
}
body[data-zmx110-release] .zmx110-transform-scope__inner {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
}
body[data-zmx110-release] .zmx110-transform-scope__inner > div:first-child {
  border:1px solid rgba(12,71,62,.15);
  border-radius:22px;
  padding:clamp(22px,3.2vw,38px);
  background:linear-gradient(145deg,#fffdf8,#f4ead5);
}
body[data-zmx110-release] .zmx110-transform-scope__aside {
  display:grid;
  height:auto;
  gap:16px;
}
body[data-zmx110-release] .zmx110-transform-scope__note {
  min-height:0;
  height:auto;
}
body[data-zmx110-release][data-zmx-route="/referrals/"] [data-zmx102-section="referral-process"] .zmx102-cards--three {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch;
}

/* A stronger but still compact entry route for homeowners whose first concern
   is the roof, using an already-approved Website visual. */
body[data-zmx110-release] .zmx111-transformations-offer {
  padding-block:clamp(52px,6vw,82px);
  background:linear-gradient(135deg,#f6efdf,#edf4ed 66%,#f4e1ad);
}
body[data-zmx110-release] .zmx111-transformations-offer__inner {
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);
  overflow:hidden;
  border:1px solid rgba(13,72,62,.18);
  border-radius:26px;
  background:#fffdf8;
  box-shadow:0 22px 56px rgba(7,47,42,.1);
}
body[data-zmx110-release] .zmx111-transformations-offer__media {
  min-height:100%;
  margin:0;
  overflow:hidden;
}
body[data-zmx110-release] .zmx111-transformations-offer__media img {
  display:block;
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
}
body[data-zmx110-release] .zmx111-transformations-offer__content {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(28px,4.4vw,56px);
}
body[data-zmx110-release] .zmx111-transformations-offer__content h2 {
  margin:.35rem 0 1rem;
  font-size:clamp(2rem,3.5vw,3.2rem);
  line-height:1.04;
}
body[data-zmx110-release] .zmx111-offer-benefits {
  display:grid;
  gap:10px;
  margin:20px 0 0;
  padding:0;
  list-style:none;
}
body[data-zmx110-release] .zmx111-transformations-offer .zmx-res-actions {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  width:100%;
  margin-top:24px;
}
body[data-zmx110-release] .zmx111-transformations-offer .zmx-res-button {
  width:100%;
  box-sizing:border-box;
  justify-content:center;
  text-align:center;
}

/* Roof / Supply / System becomes a compact decision sequence rather than
   three oversized empty cards. */
body[data-zmx110-release] .zmx-res-system {
  gap:10px;
  padding:18px;
  border-radius:22px;
}
body[data-zmx110-release] .zmx-res-system > div {
  min-height:86px;
  gap:7px;
  padding:15px 16px;
}
body[data-zmx110-release] .zmx-res-system strong {
  font-size:clamp(.95rem,1.4vw,1.12rem);
}

/* Clear, non-duplicated location qualification and a more deliberate CTA. */
body[data-zmx110-release] .zmx110-coverage-summary {
  max-width:900px;
  margin:clamp(24px,4vw,40px) auto 0;
  padding:clamp(22px,3.5vw,36px);
  border:1px solid rgba(20,73,62,.16);
  border-radius:22px;
  background:linear-gradient(145deg,#fffdf8,#f1ead9);
  box-shadow:0 14px 38px rgba(7,47,42,.08);
  text-align:center;
}
body[data-zmx110-release] .zmx110-coverage-chips { justify-content:center; }
body[data-zmx110-release] .zmx110-coverage-summary > button {
  justify-self:center;
  margin-top:4px;
}
body[data-zmx110-release] .zmx105-coverage-map { margin-top:clamp(24px,3vw,38px); }

/* Give the two About routes room between route pills and their actions. */
body[data-zmx110-release][data-zmx-route="/about/"] [data-zmx102-section="routes"] .zmx102-utility a {
  margin-top:auto;
  padding-top:18px;
}

@media (min-width:768px) and (max-width:1100px) {
  body[data-zmx110-release] .zmx110-service-planning__inner,
  body[data-zmx110-release] .zmx110-transform-scope__inner {
    grid-template-columns:minmax(0,1fr) !important;
  }
  body[data-zmx110-release] .zmx110-service-planning__media {
    width:100%;
    max-height:440px;
    aspect-ratio:16 / 9;
  }
  body[data-zmx110-release] .zmx111-transformations-offer__inner {
    grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);
  }
}

@media (max-width:767px) {
  body[data-zmx110-release] :is(#solutions,[data-zmx110-solutions-overview]) .zmx109-solution-card__body {
    grid-template-rows:auto !important;
  }
  body[data-zmx110-release] .zmx110-service-planning__inner,
  body[data-zmx110-release] .zmx110-transform-scope__inner,
  body[data-zmx110-release] .zmx111-transformations-offer__inner {
    grid-template-columns:minmax(0,1fr) !important;
  }
  body[data-zmx110-release] .zmx110-transform-scope__inner > div:first-child {
    padding:21px 18px;
  }
  body[data-zmx110-release] .zmx111-transformations-offer__media img {
    min-height:0;
    aspect-ratio:16 / 10;
  }
  body[data-zmx110-release] .zmx111-transformations-offer__content {
    padding:25px 19px 28px;
  }
  body[data-zmx110-release] .zmx111-transformations-offer__content h2 {
    font-size:clamp(1.9rem,9vw,2.5rem);
  }
  body[data-zmx110-release] .zmx110-coverage-summary {
    padding:20px 16px;
    text-align:left;
  }
  body[data-zmx110-release] .zmx110-coverage-chips {
    justify-content:stretch;
  }
  body[data-zmx110-release] .zmx110-coverage-summary > button {
    width:100%;
    justify-content:center;
    text-align:center;
  }
  body[data-zmx110-release] .zmx-res-system {
    gap:8px;
    padding:14px;
  }
  body[data-zmx110-release] .zmx-res-system > div {
    min-height:76px;
    padding:14px;
  }
}

/* Shared intrinsic rows align all content, including each benefit, without spacers. */
body[data-zmx110-release][data-zmx-route] #solutions .zmx109-solution-card .zmx109-solution-card__actions :is(a,button) {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  min-height:46px !important;
  width:100% !important;
}
@media (min-width:768px) {
  body[data-zmx110-release][data-zmx-route] #solutions .zmx109-solution-card {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:subgrid !important;
    grid-row:span 8 !important;
    min-height:0 !important;
    height:auto !important;
    row-gap:0;
  }
  body[data-zmx110-release][data-zmx-route] #solutions .zmx109-solution-card__media {
    grid-row:1 !important;
  }
  body[data-zmx110-release][data-zmx-route] #solutions .zmx109-solution-card__body {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:subgrid !important;
    grid-row:2 / span 7 !important;
    row-gap:0;
  }
  body[data-zmx110-release][data-zmx-route] #solutions .zmx109-solution-card__body > :is(p,h3) {
    display:block !important;
    align-self:start !important;
  }
  body[data-zmx110-release][data-zmx-route] #solutions .zmx109-solution-card__body > :nth-child(1) {grid-row:1 !important;}
  body[data-zmx110-release][data-zmx-route] #solutions .zmx109-solution-card__body > :nth-child(2) {grid-row:2 !important;}
  body[data-zmx110-release][data-zmx-route] #solutions .zmx109-solution-card__body > :nth-child(3) {grid-row:3 !important;}
  body[data-zmx110-release][data-zmx-route] #solutions .zmx109-solution-card__benefits {
    display:grid !important;
    grid-template-rows:subgrid !important;
    grid-row:4 / span 3 !important;
    align-self:stretch !important;
    row-gap:8px;
  }
  body[data-zmx110-release] #solutions .zmx109-solution-card__benefits > li {
    align-self:start;
  }

  body[data-zmx110-release][data-zmx-route="/"] #solutions .zmx109-solution-card__actions,
  body[data-zmx110-release][data-zmx-route="/solutions/"] #solutions[data-zmx110-solutions-overview] .zmx109-solution-card__actions {
    grid-row:7 !important;
    margin-top:0 !important;
  }
}

@media (max-width:767px) {
  body[data-zmx110-release] .zmx110-service-planning__media { order:-1; }
  body[data-zmx110-release] .zmx105-guide-filters {
    flex-wrap:nowrap;
    justify-content:flex-start;
    overflow-x:auto;
    max-width:100%;
    gap:8px;
    padding:4px 0 12px;
    scrollbar-width:none;
  }
  body[data-zmx110-release] .zmx105-guide-filters::-webkit-scrollbar { display:none; }
  body[data-zmx110-release] .zmx105-guide-filters button { flex:none; min-height:44px; }
}

@media (min-width:768px) and (max-width:1023px) {
  .zmx110-client-ready .zmx104-proof-slot__images.zmx110-manual-rail {
    display:flex !important;
    gap:16px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .zmx110-client-ready .zmx104-proof-slot__images.zmx110-manual-rail::-webkit-scrollbar { display:none; }
  .zmx110-client-ready .zmx104-proof-slot__images.zmx110-manual-rail > * {
    flex:0 0 100%; min-width:0; scroll-snap-align:start;
  }
  .zmx110-client-ready .zmx104-proof-slot__images + .zmx110-rail-controls { display:flex; }
}

@media (min-width:1101px) {
  body[data-zmx110-release] .zmx110-service-planning__inner,
  body[data-zmx110-release] .zmx110-transform-scope__inner {
    align-items:stretch;
  }

  body[data-zmx110-release] .zmx110-service-planning__media {
    height:100%;
    aspect-ratio:auto;
  }

  body[data-zmx110-release] .zmx110-transform-scope__inner > div:first-child {
    display:flex;
    height:100%;
    flex-direction:column;
    justify-content:center;
  }
}
