/* Zamax visual/copy reconciliation layer — 2026-07-16.15.
   Loaded after every audited page stylesheet and the shared shell. */
:root {
  --zmx-ink: #102320;
  --zmx-dark: #082923;
  --zmx-dark-2: #0d3b35;
  --zmx-teal: #1f766a;
  --zmx-teal-action: #17675d;
  --zmx-paper: #fffdf8;
  --zmx-cream: #f4efdf;
  --zmx-cream-2: #f7f2e7;
  --zmx-gold: #d2a653;
  --zmx-gold-dark: #9b7836;
  --zmx-muted: #40534d;
  --zmx-line: rgba(16, 35, 32, .14);
  --zmx-line-strong: rgba(16, 35, 32, .24);
  --zmx-shadow-card: 0 18px 46px rgba(8, 41, 35, .09);
  --zmx-radius-card: 22px;
}

html { overflow-x: clip; }
body[data-zmx-route] {
  overflow-x: clip;
  color: var(--zmx-ink);
  font-size: 16px;
}
body[data-zmx-route] :is(p, li, label, input, select, textarea, button, a) { text-wrap: pretty; }
body[data-zmx-route] :is(button, .btn, [class*="-btn"], [class*="-cta"]) { min-height: 44px; font-size: max(14px, .82rem); }
body[data-zmx-route] :is(.eyebrow, [class*="-eyebrow"], [class*="-kicker"]) { font-size: max(11.5px, .72rem); }

/* Shared header/footer identity. */
.zmx-global-header__inner {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: clamp(14px, 1.45vw, 28px);
  box-sizing: border-box;
}
.zmx-global-header .zmx-global-brand img {
  width: 184px !important;
  height: auto !important;
  max-height: 64px !important;
  object-fit: contain !important;
  object-position: center !important;
}
.zmx-global-nav {
  justify-content: flex-end;
  gap: 14px !important;
  font-size: .8rem !important;
}
.zmx-global-footer { font-size: max(13px, .86rem); }
.zmx-global-footer__logo {
  width: min(230px, 100%) !important;
  height: 82px !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 9px 14px;
  margin-bottom: 18px !important;
  box-sizing: border-box;
  background: #fff !important;
  border-radius: 14px;
}
.zmx-global-footer__identity { align-self: stretch; }
.zmx-global-footer__identity p { max-width: 330px; }
.zmx-global-footer__links button {
  display: inline !important;
  min-height: 0 !important;
  line-height: 1.55 !important;
}
.zmx-global-footer__legal-gate { color: rgba(245, 239, 221, .68); font-style: italic; }

/* One mobile sticky action only. Page-owned fixed bars never render. */
body[data-zmx-route] :is(.sticky, .sticky-mobile, .mobile-sticky, .mobile-sticky-cta) { display: none !important; }
.zmx-global-sticky { display: none; transform: translateY(calc(100% + 22px)); }
.zmx-global-sticky.is-visible { transform: translateY(0); }
.zmx-global-sticky button {
  min-height: 52px;
  background: var(--zmx-gold) !important;
  background-image: none !important;
  color: #102320 !important;
}
body:not(.zmx-sticky-visible) .zmx-global-sticky { pointer-events: none; }

/* Every route uses one photographic hero layer: the shared full-bleed background. */
body[data-zmx-route="/solutions/"] .visual-card,
body[data-zmx-route="/services/commercial-electrical/"] .hero-electrical-visual,
body[data-zmx-route="/services/commercial-roofing/"] .hero-roof-visual,
body[data-zmx-route="/services/renewables-ev-charging/"] .hero-energy-visual,
body[data-zmx-route^="/solutions/"] .hero-image-panel,
body[data-zmx-route^="/services/"] :is(.hero-visual, .service-hero-visual) {
  display: none !important;
}
body[data-zmx-route="/solutions/"] .hero-grid,
body[data-zmx-route^="/solutions/"] .hero-inner,
body[data-zmx-route^="/services/"] .hero-inner { grid-template-columns: minmax(0, 720px) !important; }
body[data-zmx-route="/services/"] .hero-grid { grid-template-columns: minmax(0, 700px) minmax(270px, 390px) !important; }
body[data-zmx-route="/referrals/"] :is(.referral-image-frame, .hero-media, .hero-visual) { display: none !important; }
body[data-zmx-route="/referrals/"] .hero-card:has(.referral-image-frame) { display: none !important; }
body[data-zmx-route="/referrals/"] :is(.hero-grid, .hero-inner) { grid-template-columns: minmax(0, 720px) !important; }

.zmx-hero-trust-row {
  display: flex;
  width: fit-content;
  max-width: 100%;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.zmx-hero-trust-row span {
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  background: rgba(8, 41, 35, .66);
  color: #fff9e9;
  font-size: 12px;
  font-weight: 800;
}

/* Proof is absent from a normal review/production build. */
body[data-zmx-route] [data-proof-status="empty"],
body[data-zmx-route] [data-proof-status="placeholder"],
body[data-zmx-route] [data-proof-status="preview"] { display: none !important; }
body[data-zmx-route] [data-proof-status="preview"] .zmx-proof-v2-shot-placeholder { display: none !important; }

/* Shared solid form language: warm paper, dark chips, teal progress and selections. */
body[data-zmx-route] :is(
  .modal-card, .property-enquiry-card, .solution-modal-card, .income-modal-card,
  .electrical-modal-card, .service-modal-card, .property-modal, .form-card,
  .form-wrap, #zmx-quick-contact
) {
  background: var(--zmx-paper) !important;
  background-image: none !important;
  color: var(--zmx-ink) !important;
}
body[data-zmx-route] :is(
  .modal-card, .property-enquiry-card, .solution-modal-card, .income-modal-card,
  .electrical-modal-card, .service-modal-card, .property-modal, .form-card,
  .form-wrap, #zmx-quick-contact
) :is(.trust-strip, .modal-trust-strip, .property-trust-strip, .service-chips, .property-benefits) > * {
  border: 1px solid rgba(255, 255, 255, .14) !important;
  background: var(--zmx-dark-2) !important;
  background-image: none !important;
  color: #fff9e9 !important;
  box-shadow: none !important;
}
body[data-zmx-route] :is(
  .property-progress, .solution-progress, .income-progress, .electrical-progress,
  .service-progress, .form-progress, .progress
) { background: rgba(16, 35, 32, .11) !important; }
body[data-zmx-route] :is(
  .property-progress, .solution-progress, .income-progress, .electrical-progress,
  .service-progress, .form-progress, .progress
) > :is(span, div) {
  background: var(--zmx-teal) !important;
  background-image: none !important;
}
body[data-zmx-route] :is(
  .modal-card, .property-enquiry-card, .solution-modal-card, .income-modal-card,
  .electrical-modal-card, .service-modal-card, .property-modal, .form-card,
  .form-wrap
) :is(.option, .choice, [data-answer], [data-value], [role="radio"]) {
  border: 1px solid var(--zmx-line) !important;
  background: var(--zmx-paper) !important;
  background-image: none !important;
  color: var(--zmx-ink) !important;
  box-shadow: none !important;
}
body[data-zmx-route] :is(
  .modal-card, .property-enquiry-card, .solution-modal-card, .income-modal-card,
  .electrical-modal-card, .service-modal-card, .property-modal, .form-card,
  .form-wrap
) :is(.option, .choice, [data-answer], [data-value], [role="radio"]):is(.selected, [aria-checked="true"]),
body[data-zmx-route] :is(
  .modal-card, .property-enquiry-card, .solution-modal-card, .income-modal-card,
  .electrical-modal-card, .service-modal-card, .property-modal, .form-card,
  .form-wrap
) :is(.option, .choice):has(input:checked) {
  border-color: rgba(31, 118, 106, .72) !important;
  background: #e5f2ee !important;
  color: var(--zmx-ink) !important;
}
body[data-zmx-route] :is(
  .modal-card, .property-enquiry-card, .solution-modal-card, .income-modal-card,
  .electrical-modal-card, .service-modal-card, .property-modal, .form-card,
  .form-wrap
) :is(button, .btn, [class*="-btn"], [class*="-cta"]) {
  background-image: none !important;
}
body[data-zmx-route] :is(.success-check, .confirmation-icon) {
  background: var(--zmx-teal) !important;
  background-image: none !important;
}
body[data-zmx-route] :is(input, select, textarea) {
  color: var(--zmx-ink);
  background-color: #fff;
}
body[data-zmx-route] :is(input, select, textarea)::placeholder { color: #60726c; opacity: 1; }

/* Consent is shown only in the active final step for stepped forms. */
[data-zmx-has-steps="true"] .zmx-managed-consent { display: none !important; }
[data-zmx-has-steps="true"] :is(
  .form-step.active, .modal-step.active, .solution-step.active, .income-step.active,
  .electrical-step.active, .service-step.active, [data-form-step].active,
  [data-form-step][aria-hidden="false"]
) .zmx-managed-consent { display: flex !important; }
.zmx-managed-consent {
  align-items: flex-start;
  gap: 10px;
  margin: 14px 0;
  color: var(--zmx-muted);
  font-size: 13px;
  line-height: 1.45;
}
.zmx-managed-consent input { flex: 0 0 auto; margin-top: 3px; }

/* Dialogs start below the shared header and scroll within the viewport. */
.zmx-global-dialog,
body[data-zmx-route] :is(.modal, .modal-overlay, .modal-wrap, .solution-modal, .income-modal, .electrical-modal, .service-modal) {
  scroll-padding-top: 96px;
}
body[data-zmx-route] :is(.modal-card, .property-enquiry-card, .solution-modal-card, .income-modal-card, .electrical-modal-card, .service-modal-card) {
  max-height: calc(100svh - 120px) !important;
  overflow-y: auto !important;
}

/* Unified cards and aligned action rows. */
body[data-zmx-route] :is(
  .solution-card, .selector-card, .resource-card, .audience-card, .route-card,
  .scenario-card, .scope-card, .site-card, .premises-card, .service-card,
  .mini-step, .info, .process-card, .process-step
) {
  border-color: var(--zmx-line) !important;
  background: var(--zmx-paper) !important;
  background-image: none !important;
  color: var(--zmx-ink) !important;
  box-shadow: var(--zmx-shadow-card) !important;
}
body[data-zmx-route] :is(
  .solution-card, .selector-card, .resource-card, .audience-card, .route-card,
  .scenario-card, .scope-card, .site-card, .premises-card, .service-card
) :is(p, li, small, span) { color: var(--zmx-muted); }
body[data-zmx-route] :is(
  .solutions-grid, .selector-grid, .resource-grid, .audience-grid, .route-grid,
  .scenario-grid, .scope-grid, .site-grid, .premises-grid, .process-grid
) { align-items: stretch !important; }
body[data-zmx-route] :is(
  .solutions-grid, .selector-grid, .resource-grid, .audience-grid, .route-grid,
  .scenario-grid, .scope-grid, .site-grid, .premises-grid
) > * {
  height: 100%;
}
body[data-zmx-route] :is(.solution-card, .selector-card, .resource-card, .audience-card, .route-card, .scope-card) {
  display: flex !important;
  flex-direction: column;
}
body[data-zmx-route] :is(.solution-card, .selector-card, .resource-card, .audience-card, .route-card, .scope-card) :is(.card-actions, .story-actions, .route-actions, .btn, [class*="-btn"], [class*="-cta"]):last-child {
  margin-top: auto;
}

/* Homepage alignment, conversion cards and controlled colour depth. */
body[data-zmx-route="/"] #callback-modal .modal-card {
  background: var(--zmx-cream-2) !important;
  border-color: rgba(16, 35, 32, .18) !important;
}
body[data-zmx-route="/"] #callback-modal .form-step.active {
  padding: clamp(18px, 3vw, 26px);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 20px;
  background: linear-gradient(145deg, #0b3e36 0%, #17675d 58%, #2d8175 100%) !important;
  box-shadow: 0 18px 38px rgba(8, 41, 35, .2) !important;
  color: #fffdf8 !important;
}
body[data-zmx-route="/"] #callback-modal .form-step.active > :is(strong, h3, p, label) { color: #fffdf8 !important; }
body[data-zmx-route="/"] #callback-modal .form-step.active > strong { color: #f0ce7a !important; }
body[data-zmx-route="/"] #callback-modal .form-step.active :is(.field, .final-step-note, .form-privacy-note) { color: #fffdf8 !important; }
body[data-zmx-route="/"] #callback-modal .form-step.active :is(input:not([type="radio"]), textarea, select) {
  background: #fffdf8 !important;
  color: var(--zmx-ink) !important;
}
body[data-zmx-route="/"] #callback-modal .property-trust-strip > span {
  border-color: rgba(133, 96, 25, .28) !important;
  background-image: linear-gradient(112deg, #d3a547 0%, #efd98e 17%, #c08c32 38%, #e5c975 60%, #b77d2d 78%, #e8ce81 100%) !important;
  background-size: 300% 100% !important;
  color: var(--zmx-ink) !important;
  box-shadow: 0 8px 20px rgba(133, 96, 25, .12) !important;
}
body[data-zmx-route="/"] #callback-modal .property-trust-strip > span:nth-child(1) { background-position: 0 50% !important; }
body[data-zmx-route="/"] #callback-modal .property-trust-strip > span:nth-child(2) { background-position: 50% 50% !important; }
body[data-zmx-route="/"] #callback-modal .property-trust-strip > span:nth-child(3) { background-position: 100% 50% !important; }
body[data-zmx-route="/"] #callback-modal .option-grid { gap: 13px !important; }
body[data-zmx-route="/"] #callback-modal .option {
  min-height: 76px !important;
  padding: 17px 18px 17px 48px !important;
  border: 1px solid rgba(16, 35, 32, .19) !important;
  background: #fffdf8 !important;
  background-image: none !important;
  color: var(--zmx-ink) !important;
  box-shadow: 0 8px 22px rgba(16, 35, 32, .06) !important;
}
body[data-zmx-route="/"] #callback-modal .option span { color: var(--zmx-ink) !important; }
body[data-zmx-route="/"] #callback-modal .option::before {
  border-color: #2d8175 !important;
  background: #fffdf8 !important;
}
body[data-zmx-route="/"] #callback-modal .option:hover {
  border-color: #2d8175 !important;
  background: #f8fbf8 !important;
  box-shadow: 0 13px 28px rgba(31, 118, 106, .11) !important;
}
body[data-zmx-route="/"] #callback-modal .option:is(.selected, :has(input:checked)) {
  border-color: #2d8175 !important;
  background: #e6f2ee !important;
  box-shadow: 0 13px 28px rgba(31, 118, 106, .12) !important;
}
body[data-zmx-route="/"] #callback-modal :is(.primary-btn, [data-next], [type="submit"]) {
  background: #2d8175 !important;
  background-image: none !important;
  color: #fff !important;
}
body[data-zmx-route="/"] #callback-modal :is(.primary-btn, [data-next], [type="submit"]):hover {
  background: #236b62 !important;
}
body[data-zmx-route="/"] #solutions { background: var(--zmx-cream) !important; }
body[data-zmx-route="/"] #solutions .solutions-grid {
  align-items: stretch !important;
  gap: 24px !important;
}
body[data-zmx-route="/"] #solutions .solution-card::before { display: none !important; }
body[data-zmx-route="/"] #solutions .solution-card {
  border: 1px solid rgba(16, 35, 32, .17) !important;
  border-top: 4px solid var(--zmx-teal) !important;
  box-shadow: 0 16px 38px rgba(8, 41, 35, .08) !important;
}
body[data-zmx-route="/"] #solutions .solution-card:nth-child(1) {
  border-top-color: #aa7725 !important;
  background:
    radial-gradient(circle at 16% 2%, rgba(247, 222, 147, .92), transparent 38%),
    radial-gradient(circle at 88% 96%, rgba(160, 108, 28, .2), transparent 36%),
    linear-gradient(142deg, #e8d28d 0%, #c99942 48%, #ead695 100%) !important;
}
body[data-zmx-route="/"] #solutions .solution-card:nth-child(2) {
  border-top-color: #5f7b86 !important;
  background:
    radial-gradient(circle at 84% 4%, rgba(207, 222, 225, .92), transparent 38%),
    radial-gradient(circle at 10% 94%, rgba(68, 96, 106, .17), transparent 36%),
    linear-gradient(142deg, #bdcdd1 0%, #819da7 48%, #cad7d9 100%) !important;
}
body[data-zmx-route="/"] #solutions .solution-card:nth-child(3) {
  border-top-color: #397a73 !important;
  background:
    radial-gradient(circle at 18% 4%, rgba(193, 223, 216, .92), transparent 38%),
    radial-gradient(circle at 90% 96%, rgba(30, 104, 94, .18), transparent 36%),
    linear-gradient(142deg, #acd0c8 0%, #6da69d 48%, #bad8d1 100%) !important;
}
body[data-zmx-route="/"] #solutions .solution-card:not(.solution-support) {
  height: 100%;
  display: grid !important;
  grid-template-rows: auto minmax(58px, auto) minmax(108px, auto) minmax(104px, auto) auto;
  align-content: start;
}
body[data-zmx-route="/"] #solutions .solution-card:not(.solution-support) .solution-footer {
  align-self: end;
  min-height: 112px;
}
body[data-zmx-route="/"] #solutions .solution-card :is(.card-kicker, h3, p, li) {
  color: var(--zmx-ink) !important;
}
body[data-zmx-route="/"] #solutions .solution-card.solution-support {
  height: auto;
  display: grid !important;
  grid-template-columns: 1.08fr 1fr .88fr !important;
  align-items: center !important;
  gap: 28px !important;
  padding: 30px 34px !important;
  border-top-color: #557c69 !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(229, 199, 112, .5), transparent 31%),
    radial-gradient(circle at 86% 14%, rgba(117, 161, 153, .48), transparent 33%),
    linear-gradient(118deg, #ded19f 0%, #aec9c3 38%, #d4bd77 63%, #9cbab4 100%) !important;
}
body[data-zmx-route="/"] #solutions .solution-support > div { text-align: left !important; }
body[data-zmx-route="/"] #solutions .solution-support :is(.card-kicker, h3, p) { text-align: left !important; }
body[data-zmx-route="/"] #solutions .solution-support ul { margin: 0 !important; min-height: 0 !important; }
body[data-zmx-route="/"] #solutions .solution-support .solution-footer {
  min-height: 0 !important;
  padding-top: 0 !important;
  align-items: stretch !important;
}
body[data-zmx-route="/"] #solutions .solution-card .outline-btn {
  background: #2d8175 !important;
  background-image: none !important;
  color: #fff !important;
  border-color: #2d8175 !important;
}
body[data-zmx-route="/"] #solutions .solution-card .outline-btn:hover { background: #236b62 !important; }
body[data-zmx-route="/"] #solutions .solution-card .status-pill {
  border-color: transparent !important;
  color: #fffdf8 !important;
  box-shadow: 0 7px 16px rgba(8, 41, 35, .13) !important;
}
body[data-zmx-route="/"] #solutions .solution-card:nth-child(1) .status-pill { background: #795618 !important; }
body[data-zmx-route="/"] #solutions .solution-card:nth-child(2) .status-pill { background: #4b6872 !important; }
body[data-zmx-route="/"] #solutions .solution-card:nth-child(3) .status-pill { background: #236b62 !important; }
body[data-zmx-route="/"] #solutions .solution-card.solution-support .status-pill { background: #46675d !important; }
body[data-zmx-route="/"] #solutions .outcome-tags .tag {
  border-color: rgba(42, 68, 64, .25) !important;
  color: var(--zmx-ink) !important;
  box-shadow: 0 7px 16px rgba(8, 41, 35, .09) !important;
}
body[data-zmx-route="/"] #solutions .outcome-tags .tag:nth-child(1) { background: #d8b963 !important; }
body[data-zmx-route="/"] #solutions .outcome-tags .tag:nth-child(2) { background: #91aab3 !important; }
body[data-zmx-route="/"] #solutions .outcome-tags .tag:nth-child(3) { background: #87b7ad !important; }
body[data-zmx-route="/"] .proof-columns { align-items: stretch !important; }
body[data-zmx-route="/"] .proof-col,
body[data-zmx-route="/"] .proof-col:nth-child(2),
body[data-zmx-route="/"] .proof-col:nth-child(3) {
  margin-top: 0 !important;
  transform: none !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}
body[data-zmx-route="/"] .proof-img,
body[data-zmx-route="/"] .proof-img img { height: 250px !important; min-height: 250px !important; object-fit: cover; }
body[data-zmx-route="/"] .review-card { flex: 1; }
body[data-zmx-route="/"] :is(.service-image-label, .service-badge, .proof-img figcaption) {
  background: rgba(8, 41, 35, .9) !important;
  color: #fff !important;
}
body[data-zmx-route="/"] .about-grid { align-items: center !important; }
body[data-zmx-route="/"] .hero-wrap .hero-pills .pill {
  border-color: rgba(113, 77, 19, .38) !important;
  background-image: linear-gradient(112deg, #d2a347 0%, #efd98e 17%, #ba842c 38%, #e3c46b 59%, #b68735 79%, #ead184 100%) !important;
  background-size: 300% 100% !important;
  color: var(--zmx-ink) !important;
  opacity: 1 !important;
}
body[data-zmx-route="/"] .hero-wrap .hero-pills .pill:nth-child(1) { background-position: 0 50% !important; }
body[data-zmx-route="/"] .hero-wrap .hero-pills .pill:nth-child(2) { background-position: 50% 50% !important; }
body[data-zmx-route="/"] .hero-wrap .hero-pills .pill:nth-child(3) { background-position: 100% 50% !important; }
body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill {
  border-color: rgba(33, 66, 74, .34) !important;
  background-image: linear-gradient(112deg, #a8c0c7 0%, #d7c58a 19%, #7897a4 40%, #c4d3d5 61%, #aa905c 80%, #aec7cf 100%) !important;
  background-size: 300% 100% !important;
  color: var(--zmx-ink) !important;
}
body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill:nth-child(1) { background-position: 0 50% !important; }
body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill:nth-child(2) { background-position: 50% 50% !important; }
body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill:nth-child(3) { background-position: 100% 50% !important; }
body[data-zmx-route="/"] .referral-points {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(820px, 100%);
  margin-inline: auto;
}
body[data-zmx-route="/"] .referral-points .referral-mini {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-color: rgba(112, 137, 148, .46) !important;
  background-image: linear-gradient(110deg, #dcb75e 0%, #efd68c 18%, #7e99a6 40%, #b9cbd0 61%, #c79d49 81%, #8ca6b1 100%) !important;
  background-size: 300% 100% !important;
  color: var(--zmx-ink) !important;
  font-weight: 780;
}
body[data-zmx-route="/"] .referral-points .referral-mini:nth-child(1) { background-position: 0 50% !important; }
body[data-zmx-route="/"] .referral-points .referral-mini:nth-child(2) { background-position: 50% 50% !important; }
body[data-zmx-route="/"] .referral-points .referral-mini:nth-child(3) { background-position: 100% 50% !important; }
body[data-zmx-route="/"] .referral-card .light-btn {
  border-color: #e4c56f !important;
  background: linear-gradient(100deg, #e4bd5d 0%, #f0d891 100%) !important;
  color: var(--zmx-ink) !important;
  box-shadow: 0 14px 30px rgba(210, 166, 83, .24) !important;
}
body[data-zmx-route="/"] .referral-card .light-btn:hover {
  background: linear-gradient(100deg, #efca6e 0%, #f6e2a7 100%) !important;
  transform: translateY(-3px);
}
body[data-zmx-route="/"] .final-cta {
  background: var(--zmx-dark) !important;
  background-image: none !important;
}

/* The About block is deliberately contained, with coloured pills rather than white chips. */
body[data-zmx-route="/"] .about-layout {
  padding: clamp(26px, 4vw, 48px) !important;
  border: 1px solid rgba(50, 83, 79, .24) !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(224, 190, 92, .36), transparent 30%),
    radial-gradient(circle at 91% 12%, rgba(104, 145, 153, .34), transparent 32%),
    linear-gradient(128deg, #ddd09f 0%, #b9cfca 36%, #d9c17c 64%, #9fb9bd 100%) !important;
  box-shadow: 0 22px 52px rgba(8, 41, 35, .12) !important;
}
body[data-zmx-route="/"] .about-copy p { color: #203a34 !important; }
body[data-zmx-route="/"] .about-points .check-pill {
  border-color: rgba(38, 69, 73, .3) !important;
  background-image: linear-gradient(110deg, #c99b43 0%, #e4ca7d 18%, #7896a2 41%, #b8cbce 61%, #bc8d36 80%, #91adb6 100%) !important;
  background-size: 300% 100% !important;
  color: var(--zmx-ink) !important;
  font-weight: 780 !important;
  box-shadow: 0 8px 18px rgba(8, 41, 35, .11) !important;
}
body[data-zmx-route="/"] .about-points .check-pill:nth-child(1) { background-position: 0 50% !important; }
body[data-zmx-route="/"] .about-points .check-pill:nth-child(2) { background-position: 50% 50% !important; }
body[data-zmx-route="/"] .about-points .check-pill:nth-child(3) { background-position: 100% 50% !important; }

/* Restrained homepage motion: visible by default, progressively enhanced by JS. */
body[data-zmx-route="/"] :is(
  .hero-actions .btn-primary, #solutions .solution-card, .services-grid-image-led .service-card,
  .referral-card, .about-copy .outline-btn, .about-visual
) { transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .28s ease !important; }
body[data-zmx-route="/"] :is(.hero-actions .btn-primary, #solutions .solution-card, .about-copy .outline-btn):hover {
  transform: translateY(-3px);
}
body[data-zmx-route="/"] #solutions .solution-card:hover {
  border-color: rgba(31, 118, 106, .36) !important;
  box-shadow: 0 22px 48px rgba(8, 41, 35, .13) !important;
}
body.zmx-motion-ready[data-zmx-route="/"] .zmx-reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 1.18s cubic-bezier(.22, 1, .36, 1) var(--zmx-reveal-delay, 0ms), transform 1.18s cubic-bezier(.22, 1, .36, 1) var(--zmx-reveal-delay, 0ms) !important;
}
body.zmx-motion-ready[data-zmx-route="/"] .zmx-reveal.zmx-reveal-visible {
  opacity: 1;
  transform: translateY(0);
}
body.zmx-motion-ready[data-zmx-route="/"] .about-layout > .zmx-reveal {
  transition-duration: .92s !important;
}

@media (max-width: 860px) {
  body[data-zmx-route="/"] #solutions .solution-card:not(.solution-support) {
    display: flex !important;
    min-height: 0 !important;
  }
  body[data-zmx-route="/"] #solutions .solution-card.solution-support {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  body[data-zmx-route="/"] #solutions .solution-support :is(.card-kicker, h3, p) { text-align: center !important; }
  body[data-zmx-route="/"] .referral-points { grid-template-columns: 1fr; }
}

/* Overview routes. */
body[data-zmx-route="/solutions/"] .intro-box { background: var(--zmx-cream) !important; }
body[data-zmx-route="/solutions/"] .intro-box :is(p, .lead) { color: var(--zmx-muted) !important; }
body[data-zmx-route="/solutions/"] .intro-steps { align-items: stretch; }
body[data-zmx-route="/solutions/"] .mini-step { min-height: 100%; }
body[data-zmx-route="/solutions/"] .solution-card { border-top: 4px solid var(--zmx-teal) !important; }
@media (min-width: 901px) {
  body[data-zmx-route="/solutions/"] .solution-card .card-top {
    display: grid;
    grid-template-rows: auto minmax(64px, auto) minmax(112px, auto) 186px auto;
    flex: 1;
  }
  body[data-zmx-route="/solutions/"] .solution-card .icon-scene {
    height: 146px !important;
    align-self: center;
    margin-block: 20px;
  }
  body[data-zmx-route="/solutions/"] .solution-card .solution-points { align-self: start; }
}
body[data-zmx-route="/solutions/"] .solution-card:nth-child(2) { border-top-color: var(--zmx-gold) !important; }
body[data-zmx-route="/solutions/"] .solution-card:nth-child(3) { border-top-color: #477a8b !important; }
body[data-zmx-route="/solutions/"] :is(.dark-section, .bottom-cta) {
  background: var(--zmx-dark) !important;
  background-image: none !important;
}
body[data-zmx-route="/services/"] .selector-card { border-top: 4px solid var(--zmx-teal) !important; }
body[data-zmx-route="/services/"] .selector-card.roofing { border-top-color: var(--zmx-gold) !important; }
body[data-zmx-route="/services/"] .selector-card.energy { border-top-color: #477a8b !important; }
body[data-zmx-route="/services/"] .story-grid { align-items: stretch !important; }
body[data-zmx-route="/services/"] .story-image,
body[data-zmx-route="/services/"] .story-image img { height: 100% !important; min-height: 100% !important; object-fit: cover; }
body[data-zmx-route="/services/"] #commercial-roofing :is(p, li, .story-lead) { color: #334a44 !important; }

body[data-zmx-route="/about/"] .about-audience-section :is(.eyebrow, [class*="lead"]) { color: #334a44 !important; }
body[data-zmx-route="/about/"] .audience-card { background-image: none !important; }
body[data-zmx-route="/about/"] .about-route-grid { align-items: stretch !important; }
body[data-zmx-route="/about/"] .about-route-grid.refined > article,
body[data-zmx-route="/about/"] .about-route-card { height: 100%; display: flex; flex-direction: column; }
body[data-zmx-route="/about/"] .about-route-grid.refined > article > a:last-child,
body[data-zmx-route="/about/"] .about-route-card :is(.btn, button, a):last-child { margin-top: auto; }
body[data-zmx-route="/about/"] .about-coverage-section {
  background: var(--zmx-dark-2) !important;
  background-image: none !important;
}
body[data-zmx-route="/resources/"] .resource-card { border-top: 4px solid var(--zmx-teal) !important; }
body[data-zmx-route="/resources/"] .resource-card:nth-child(3n+2) { border-top-color: var(--zmx-gold) !important; }
body[data-zmx-route="/resources/"] .resource-card:nth-child(3n) { border-top-color: #477a8b !important; }
body[data-zmx-route="/resources/"] .dark { background: var(--zmx-dark) !important; background-image: none !important; }
body[data-zmx-route="/referrals/"] .cta-band { background: var(--zmx-dark) !important; background-image: none !important; }
body[data-zmx-route="/referrals/"] :is(.secondary, .ghost, [class*="secondary"]) { color: var(--zmx-ink) !important; background: var(--zmx-paper) !important; }

/* Detailed solution routes share one palette and one card language. */
body[data-zmx-route^="/solutions/"] :is(.avoid-section, .proof-section, .decision-section, .solar-decision-section, .commercial-decision-section) {
  background: var(--zmx-dark) !important;
  background-image: none !important;
}
body[data-zmx-route^="/solutions/"] :is(.avoid-section, .proof-section, .decision-section, .solar-decision-section, .commercial-decision-section) :is(h2, h3, p, li, span, strong) { color: #fff9e9 !important; }
body[data-zmx-route^="/solutions/"] :is(.avoid-card, .risk-card, .decision-card, .proof-card) {
  background: rgba(255, 255, 255, .09) !important;
  background-image: none !important;
  border-color: rgba(255, 255, 255, .2) !important;
}
body[data-zmx-route^="/solutions/"] .connected-grid { align-items: stretch !important; }
body[data-zmx-route^="/solutions/"] .connected-grid > * { height: 100%; }
body[data-zmx-route^="/solutions/"] :is(.difference-points span, .assessment-chips span, .process-number, .num) {
  background: var(--zmx-dark-2) !important;
  background-image: none !important;
  color: #fff9e9 !important;
}
body[data-zmx-route^="/solutions/"] .assessment-strip { margin-top: 0 !important; }
body[data-zmx-route^="/solutions/"] .assessment-strip-copy { display: none !important; }
body[data-zmx-route^="/solutions/"] .lead-section,
body[data-zmx-route^="/solutions/"] .guide-included-section { background: var(--zmx-cream) !important; background-image: none !important; }
body[data-zmx-route^="/solutions/"] .lead-box { background: var(--zmx-dark-2) !important; background-image: none !important; }
body[data-zmx-route^="/solutions/"] .final-cta { background: var(--zmx-dark) !important; background-image: none !important; }
body[data-zmx-route^="/solutions/"] .scope-card { border-left: 4px solid var(--zmx-gold) !important; }
body[data-zmx-route="/solutions/rooflife/"] .connected-grid > :nth-child(2) :is(img, picture) { display: none !important; }
body[data-zmx-route="/solutions/rooflife/"] .connected-grid > :nth-child(2) { padding-top: 28px; }
body[data-zmx-route="/solutions/solar-ready-roof-power/"] :is(.route-label, .image-label, .connected-card figcaption) {
  background: rgba(8, 41, 35, .92) !important;
  color: #fff !important;
}
body[data-zmx-route="/solutions/commercial-property-protection-plan/"] :is(.route-label, .image-label, .connected-card figcaption, .real-protection-frame span) {
  background: rgba(8, 41, 35, .92) !important;
  color: #fff9e9 !important;
}
body[data-zmx-route] :is(.process-no, .step-no, .process-number, .num, .about-audience-number) {
  background: var(--zmx-dark-2) !important;
  background-image: none !important;
  color: #fff9e9 !important;
}

/* Detailed services: no duplicate hero card, no blank media, solid accents. */
body[data-zmx-route^="/services/"] :is(.scope-card, .site-card, .premises-card) { border-top: 4px solid var(--zmx-teal) !important; }
body[data-zmx-route^="/services/"] :is(.section-wide-photo, .premises-photo) { display: block !important; min-height: 360px; overflow: hidden; }
body[data-zmx-route^="/services/"] :is(.section-wide-photo, .premises-photo) img { display: block !important; width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
body[data-zmx-route^="/services/"] :is(.proof-section, .roofing-decision-section) { background: var(--zmx-dark) !important; background-image: none !important; }
body[data-zmx-route^="/services/"] .final-cta { background: var(--zmx-dark) !important; background-image: none !important; }

/* Detailed-page secondary navigation: desktop breadcrumb plus siblings. */
body[data-zmx-route] :is(.service-switcher-nav, .solution-switcher-nav, .solution-switcher, .service-switcher, .subnav) {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  padding-inline: max(20px, calc((100vw - 1240px) / 2));
  font-size: 13px !important;
}
body[data-zmx-route] :is(.service-switcher-nav, .solution-switcher-nav, .solution-switcher, .service-switcher, .subnav) > :first-child { margin-right: auto; }

@media (max-width: 1024px) {
  body[data-zmx-route="/services/"] .hero-grid { grid-template-columns: minmax(0, 660px) !important; }
  body[data-zmx-route="/services/"] .hero-side { display: none !important; }
  body[data-zmx-route] :is(.service-switcher-nav, .solution-switcher-nav, .solution-switcher, .service-switcher, .subnav) { display: none !important; }
}

@media (max-width: 1320px) {
  .zmx-global-nav { display: none !important; }
  .zmx-global-menu { display: inline-flex !important; align-items: center; justify-content: center; }
}

@media (max-width: 720px) {
  body[data-zmx-route] { font-size: 15.5px; padding-bottom: 0 !important; }
  body[data-zmx-route].zmx-sticky-visible { padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important; }
  .zmx-global-sticky {
    display: block;
    left: 10px;
    right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    padding: 7px;
  }
  body.zmx-shell-lock .zmx-global-sticky,
  body.zmx-menu-open .zmx-global-sticky,
  body.zmx-footer-visible .zmx-global-sticky { transform: translateY(calc(100% + 22px)) !important; pointer-events: none; }
  .zmx-global-header__inner { grid-template-columns: 1fr auto 1fr !important; }
  .zmx-global-brand { grid-column: 2 !important; }
  .zmx-global-menu { grid-column: 3 !important; }
  .zmx-global-header .zmx-global-brand img { width: 174px !important; height: auto !important; }
  .zmx-hero-trust-row { gap: 6px; }
  .zmx-hero-trust-row span { font-size: 11px; }
  body[data-zmx-route] :is(.modal-card, .property-enquiry-card, .solution-modal-card, .income-modal-card, .electrical-modal-card, .service-modal-card) {
    max-height: calc(100svh - 96px) !important;
  }
  body[data-zmx-route] :is(.solution-card, .selector-card, .resource-card, .audience-card, .route-card, .scope-card) { min-height: 0 !important; }
  body[data-zmx-route^="/solutions/"] .assessment-chips { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 390px) {
  .zmx-global-header__inner { width: 100% !important; padding-inline: 10px; }
  .zmx-global-header .zmx-global-brand img { width: 158px !important; }
  .zmx-global-menu { padding-inline: 12px; }
  body[data-zmx-route^="/solutions/"] .assessment-chips { grid-template-columns: 1fr !important; }
}

/* V16 homepage refinement: restrained value gold, cleaner tonal choices and slower reveals. */
body[data-zmx-route="/"] :is(.hero-wrap .hero-pills .pill, #callback-modal .property-trust-strip > span) {
  border: 1px solid #175e54 !important;
  background: linear-gradient(145deg, #f2e4bd 0%, #dfc375 100%) !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  color: #17342f !important;
  box-shadow: 0 8px 18px rgba(68, 55, 22, .13) !important;
}
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option,
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-secondary {
  color: #17342f !important;
  box-shadow: 0 10px 24px rgba(8, 41, 35, .09) !important;
}
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(1) {
  border-color: #c29a48 !important;
  background: linear-gradient(145deg, #f4e9c7, #ead59d) !important;
}
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(2) {
  border-color: #718993 !important;
  background: linear-gradient(145deg, #e3ecee, #c6d5d8) !important;
}
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(3) {
  border-color: #66869a !important;
  background: linear-gradient(145deg, #e1ebf1, #c2d4de) !important;
}
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(4) {
  border-color: #4d86a2 !important;
  background: linear-gradient(145deg, #deedf5, #afd1e2) !important;
}
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-secondary {
  width: min(430px, 72%) !important;
  min-height: 54px !important;
  margin: 13px auto 0 !important;
  padding: 13px 44px !important;
  justify-content: center !important;
  text-align: center !important;
  border-color: #7b8a63 !important;
  background: linear-gradient(145deg, #e6e6d2, #ccd2ae) !important;
}
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option:is(:hover, .selected, :has(input:checked)) {
  border-color: #175e54 !important;
  filter: brightness(1.025) saturate(1.04);
  box-shadow: 0 14px 30px rgba(8, 41, 35, .15) !important;
}
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option::before {
  opacity: 1 !important;
  border: 0 !important;
  background: #175e54 !important;
}
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(1)::before { background: #b1842e !important; }
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(2)::before { background: #5f7984 !important; }
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(3)::before { background: #52788e !important; }
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(4)::before { background: #397b9c !important; }
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-secondary::before { background: #687650 !important; }

body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill {
  background-image: none !important;
  background-size: auto !important;
  color: #17342f !important;
  border-color: rgba(25, 73, 67, .34) !important;
  box-shadow: 0 7px 16px rgba(6, 31, 28, .1) !important;
}
body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill:nth-child(1) { background: #eadba9 !important; }
body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill:nth-child(2) { background: #c8d8da !important; }
body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill:nth-child(3) { background: #c7d4b8 !important; }

body[data-zmx-route="/"] #solutions .solution-card:nth-child(3) {
  border-top-color: #3f7898 !important;
  background:
    radial-gradient(circle at 18% 4%, rgba(224, 239, 247, .94), transparent 38%),
    radial-gradient(circle at 90% 96%, rgba(54, 112, 144, .2), transparent 36%),
    linear-gradient(142deg, #b7d2df 0%, #7fa9bd 48%, #c3dbe5 100%) !important;
}
body[data-zmx-route="/"] #solutions .solution-card.solution-support {
  border-top-color: #707849 !important;
  background:
    radial-gradient(circle at 12% 14%, rgba(241, 226, 166, .54), transparent 31%),
    radial-gradient(circle at 86% 16%, rgba(113, 124, 72, .24), transparent 34%),
    linear-gradient(122deg, #d9d4aa 0%, #aeb482 48%, #c8c99b 100%) !important;
}
body[data-zmx-route="/"] #solutions .solution-card .status-pill,
body[data-zmx-route="/"] #solutions .solution-card.solution-support .status-pill {
  border-color: rgba(255, 255, 255, .14) !important;
  background: #244f49 !important;
  color: #fffdf8 !important;
}

body[data-zmx-route="/"] .referral-points .referral-mini {
  border-color: #5e7f89 !important;
  background: #d5e2e5 !important;
  background-image: none !important;
  color: #17342f !important;
  box-shadow: 0 7px 16px rgba(8, 41, 35, .09) !important;
}
body[data-zmx-route="/"] .about-points .check-pill {
  border-color: #4e7069 !important;
  background: #efe4c7 !important;
  background-image: none !important;
  color: #17342f !important;
  box-shadow: 0 7px 16px rgba(8, 41, 35, .08) !important;
}

body.zmx-motion-ready[data-zmx-route="/"] .zmx-reveal {
  transform: translateY(38px);
  transition-duration: 1.45s !important;
}
body.zmx-motion-ready[data-zmx-route="/"] .services-grid-image-led .zmx-reveal { transition-duration: 1.65s !important; }
body.zmx-motion-ready[data-zmx-route="/"] .referral-card.zmx-reveal { transition-duration: 1.72s !important; }

@media (max-width: 720px) {
  body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-secondary { width: 100% !important; }
}

@media (prefers-reduced-motion: reduce) {
  .zmx-global-sticky, body[data-zmx-route] * { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  body.zmx-motion-ready[data-zmx-route="/"] .zmx-reveal { opacity: 1 !important; transform: none !important; }
}

/* V18 homepage review pass: verified five-star evidence and accepted premium corrections. */
body[data-zmx-route="/"] .hero-wrap :is(.hero-main-cta, .hero-actions .btn-primary) {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: 0 16px 34px rgba(11, 74, 66, .28) !important;
}
body[data-zmx-route="/"] .hero-wrap :is(.hero-main-cta, .hero-actions .btn-primary)::after { display: none !important; }
body[data-zmx-route="/"] .hero-wrap :is(.hero-main-cta, .hero-actions .btn-primary):focus:not(:focus-visible) { outline: 0 !important; }
body[data-zmx-route="/"] .hero-wrap :is(.hero-main-cta, .hero-actions .btn-primary):focus-visible {
  outline: 2px solid rgba(242, 228, 189, .82) !important;
  outline-offset: 3px !important;
}
body[data-zmx-route="/"] :is(.hero-wrap .hero-pills .pill, #callback-modal .property-trust-strip > span) {
  border-color: rgba(23, 94, 84, .3) !important;
  background: linear-gradient(145deg, #f3e8c8 0%, #e6cf94 100%) !important;
  box-shadow: 0 7px 16px rgba(68, 55, 22, .1) !important;
}
body[data-zmx-route="/"] .hero-google-proof {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  padding: 8px 13px;
  border: 1px solid rgba(255, 253, 248, .3);
  border-radius: 999px;
  background: rgba(7, 42, 37, .42);
  color: #fffdf8;
  text-decoration: none;
  backdrop-filter: blur(8px);
  transition: background-color .24s ease, border-color .24s ease, transform .24s ease;
}
body[data-zmx-route="/"] .hero-google-proof:hover { background: rgba(7, 42, 37, .68); border-color: rgba(242, 228, 189, .62); transform: translateY(-2px); }
body[data-zmx-route="/"] .hero-google-proof .zmx-google-g { width: 21px; height: 21px; }
body[data-zmx-route="/"] .hero-google-proof__stars {
  color: #e1b34f;
  font: 900 1rem/1 Arial, sans-serif;
  letter-spacing: .14em;
  text-shadow: 0 2px 7px rgba(41, 31, 7, .24);
}

body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(1),
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(2),
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(3),
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(4) {
  border-color: rgba(110, 88, 52, .26) !important;
  background: linear-gradient(145deg, #f3ecdb 0%, #e8ddc5 100%) !important;
}
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-secondary {
  width: min(390px, 64%) !important;
  border-color: rgba(86, 79, 57, .28) !important;
  background: linear-gradient(145deg, #ebe4d5 0%, #dbd0b8 100%) !important;
}
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(1)::before,
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(2)::before,
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(3)::before,
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-grid .option:nth-child(4)::before,
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-secondary::before { background: #92794c !important; }
body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option:is(.selected, :has(input:checked)) {
  border-color: #28776c !important;
  background: #dcebe6 !important;
  filter: none;
}

body[data-zmx-route="/"] .hero-wrap .specialist-copy h2 { color: #f4ead2 !important; }
body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  border-color: rgba(42, 86, 76, .24) !important;
  background: linear-gradient(145deg, #f4ecd7 0%, #e6d7b5 100%) !important;
  color: #15342f !important;
  box-shadow: 0 8px 18px rgba(4, 29, 36, .12) !important;
}
body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill::before { content: "✓"; color: #19715f; font-weight: 950; }
body[data-zmx-route="/"] .outcome-tags .tag:nth-child(3) {
  border-color: rgba(45, 91, 119, .38) !important;
  background: linear-gradient(145deg, #9dbed0 0%, #628fab 100%) !important;
  color: #102f3d !important;
}
body[data-zmx-route="/"] #solutions .solution-card:nth-child(3) {
  border-top-color: #285b7a !important;
  background: radial-gradient(circle at 18% 4%, rgba(209, 230, 241, .62), transparent 36%), linear-gradient(142deg, #82abc1 0%, #416f8f 50%, #739db4 100%) !important;
}
body[data-zmx-route="/"] #solutions .solution-card.solution-support {
  border-top-color: #4d5b25 !important;
  background: radial-gradient(circle at 12% 14%, rgba(236, 224, 164, .34), transparent 30%), linear-gradient(122deg, #aaa66a 0%, #727d42 50%, #969b5c 100%) !important;
}
body[data-zmx-route="/"] .proof-section .section-heading .zmx-heading-line { display: block; }
body[data-zmx-route="/"] .proof-section .section-heading .zmx-heading-line + .zmx-heading-line { margin-top: .08em; }
body[data-zmx-route="/"] .about-layout {
  background: linear-gradient(145deg, #f1ead9 0%, #e5dcc6 100%) !important;
  box-shadow: 0 18px 42px rgba(16, 35, 32, .09) !important;
}
body[data-zmx-route="/"] .final-cta-benefit { display: grid; gap: 2px; line-height: 1.45 !important; }

body.zmx-motion-ready[data-zmx-route="/"] .zmx-reveal {
  transform: translateY(42px);
  transition-duration: 1.85s !important;
  transition-timing-function: cubic-bezier(.2, .62, .3, 1) !important;
}
body.zmx-motion-ready[data-zmx-route="/"] .services-grid-image-led .zmx-reveal { transition-duration: 2.85s !important; }
body.zmx-motion-ready[data-zmx-route="/"] .referral-card.zmx-reveal { transition-duration: 3.1s !important; }

body[data-zmx-route="/"] .zmx-review-carousel-section {
  overflow: hidden;
  background: radial-gradient(circle at 10% 0%, rgba(214, 180, 104, .14), transparent 30%), linear-gradient(150deg, #f7f1e4 0%, #eee5d1 100%);
}
body[data-zmx-route="/"] .zmx-review-heading { max-width: 850px; margin-bottom: 28px; }
body[data-zmx-route="/"] .zmx-review-heading h2 { margin: 0; color: #12352f; font-size: clamp(2.1rem, 4vw, 3.6rem); line-height: 1; letter-spacing: -.05em; }
body[data-zmx-route="/"] .zmx-review-heading p:not(.eyebrow) { max-width: 720px; margin: 12px 0 0; color: #577069; }
body[data-zmx-route="/"] .zmx-review-viewport { overflow: hidden; padding: 8px 2px 24px; }
body[data-zmx-route="/"] .zmx-review-track {
  --zmx-review-gap: 18px;
  display: flex;
  gap: var(--zmx-review-gap);
  transition: transform 1.2s cubic-bezier(.2, .64, .3, 1);
  will-change: transform;
}
body[data-zmx-route="/"] .zmx-review-slide {
  flex: 0 0 calc((100% - (var(--zmx-review-gap) * 2)) / 3);
  min-width: 0;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  padding: 28px;
  border: 1px solid rgba(119, 92, 39, .2);
  border-radius: 24px;
  background: radial-gradient(circle at 92% 8%, rgba(202, 157, 73, .12), transparent 30%), linear-gradient(145deg, #fffaf0 0%, #efe2c7 100%);
  color: #15342f;
  box-shadow: 0 16px 34px rgba(37, 48, 39, .09);
}
body[data-zmx-route="/"] .zmx-review-stars { color: #b98728; font: 900 1rem/1 Arial, sans-serif; letter-spacing: .12em; }
body[data-zmx-route="/"] .zmx-review-slide blockquote { margin: 24px 0; font-size: clamp(1rem, 1.3vw, 1.12rem); line-height: 1.62; font-weight: 650; }
body[data-zmx-route="/"] .zmx-review-slide footer { display: grid; gap: 2px; margin-top: auto; }
body[data-zmx-route="/"] .zmx-review-slide cite { color: #12352f; font-style: normal; font-weight: 900; }
body[data-zmx-route="/"] .zmx-review-slide footer span { color: #6c765e; font-size: .78rem; }
body[data-zmx-route="/"] .zmx-review-controls { display: flex; justify-content: center; align-items: center; gap: 16px; }
body[data-zmx-route="/"] .zmx-review-controls > button {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(23, 103, 93, .26);
  border-radius: 50%;
  background: #fffaf0;
  color: #174f46;
  font-size: 1.05rem;
  cursor: pointer;
}
body[data-zmx-route="/"] .zmx-review-indicators { display: flex; align-items: center; gap: 7px; }
body[data-zmx-route="/"] .zmx-review-indicators button { width: 10px; height: 10px; min-height: 10px; padding: 0; border: 0; border-radius: 50%; background: #b8ae91; cursor: pointer; }
body[data-zmx-route="/"] .zmx-review-indicators button[aria-current="true"] { width: 28px; border-radius: 999px; background: #1f766a; }
body[data-zmx-route="/"] .zmx-review-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 720px) {
  body[data-zmx-route] .zmx-global-footer .zmx-global-footer__links :is(a, button) { min-width: 44px; min-height: 44px !important; }
  body[data-zmx-route="/"] #callback-modal .form-step[data-step="1"] .option-secondary { width: 100% !important; }
  body[data-zmx-route="/"] .hero-google-proof { margin-inline: auto; }
  body[data-zmx-route="/"] .zmx-review-track { --zmx-review-gap: 0px; }
  body[data-zmx-route="/"] .zmx-review-slide { flex-basis: 100%; min-height: 360px; padding: 24px 22px; }
  body[data-zmx-route="/"] .zmx-review-slide blockquote { font-size: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  body[data-zmx-route="/"] .zmx-review-track { transition: none !important; }
}

/* V19 homepage lock: one premium form system, corrected route colours and automatic review loop. */
.zmx-global-field :is(input, textarea),
body[data-zmx-route] :is(.modal, .modal-wrap, .modal-card, .income-modal-card, .solution-modal-card, .electrical-modal-card, .service-modal-card, .property-enquiry-modal-card)
  :is(input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]), textarea, select) {
  border-color: rgba(91, 73, 44, .24) !important;
  background: linear-gradient(145deg, #f7f0e2 0%, #ece1cd 100%) !important;
  color: #15342f !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

body[data-zmx-route] :is(#callback-modal, #propertyModal, #referralModal, .property-enquiry-modal-card, .income-modal-card, .solution-modal-card, .electrical-modal-card, .service-modal-card)
  :is(.option, .property-option, .income-option, .solution-option, .electrical-option, .service-option, .options > button) {
  border: 1px solid rgba(91, 73, 44, .24) !important;
  background: linear-gradient(145deg, #f5eddd 0%, #e8ddc7 100%) !important;
  background-image: linear-gradient(145deg, #f5eddd 0%, #e8ddc7 100%) !important;
  color: #15342f !important;
  box-shadow: 0 9px 22px rgba(18, 45, 39, .08) !important;
}
body[data-zmx-route] :is(#callback-modal, #propertyModal, #referralModal, .property-enquiry-modal-card, .income-modal-card, .solution-modal-card, .electrical-modal-card, .service-modal-card)
  :is(.option, .property-option, .income-option, .solution-option, .electrical-option, .service-option, .options > button)
  :is(strong, span) { color: #15342f !important; }
body[data-zmx-route] :is(#callback-modal, #propertyModal, #referralModal, .property-enquiry-modal-card, .income-modal-card, .solution-modal-card, .electrical-modal-card, .service-modal-card)
  :is(.option, .property-option, .income-option, .solution-option, .electrical-option, .service-option, .options > button):is(:hover, .selected, :has(input:checked)) {
  border-color: #28776c !important;
  background: linear-gradient(145deg, #e9f1e8 0%, #d7e7df 100%) !important;
  background-image: linear-gradient(145deg, #e9f1e8 0%, #d7e7df 100%) !important;
  box-shadow: 0 13px 28px rgba(18, 72, 62, .13) !important;
}
body[data-zmx-route] :is(#callback-modal, #propertyModal, .property-enquiry-modal-card, .income-modal-card, .solution-modal-card, .electrical-modal-card, .service-modal-card)
  :is(.option, .property-option, .income-option, .solution-option, .electrical-option, .service-option)::before {
  content: none !important;
  display: none !important;
}
body[data-zmx-route="/"] #callback-modal .option {
  min-height: 72px !important;
  padding: 16px 50px 16px 18px !important;
}
body[data-zmx-route="/"] #callback-modal .form-step[data-step] .option-secondary {
  width: min(390px, 64%) !important;
  margin-inline: auto !important;
  justify-content: center !important;
  text-align: center !important;
}

body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill {
  border-color: rgba(74, 66, 45, .22) !important;
  background-image: linear-gradient(112deg, #f7efdd 0%, #e4d5b6 26%, #f1e6cf 52%, #dcc9a7 76%, #f3ead8 100%) !important;
  background-size: 300% 100% !important;
  color: #15342f !important;
}
body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill:nth-child(1) { background-position: 0 50% !important; }
body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill:nth-child(2) { background-position: 50% 50% !important; }
body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill:nth-child(3) { background-position: 100% 50% !important; }

body[data-zmx-route="/"] .outcome-tags .tag:nth-child(3) {
  border-color: rgba(40, 91, 122, .44) !important;
  background: linear-gradient(145deg, #82abc1 0%, #416f8f 100%) !important;
  color: #fffdf8 !important;
}
body[data-zmx-route="/"] #solutions .solution-card.solution-support {
  border-top-color: #3f6659 !important;
  background:
    radial-gradient(circle at 14% 8%, rgba(235, 231, 194, .34), transparent 32%),
    radial-gradient(circle at 90% 92%, rgba(23, 69, 62, .18), transparent 36%),
    linear-gradient(132deg, #b4c9bb 0%, #6f9383 50%, #9eb6a7 100%) !important;
}
body[data-zmx-route="/"] #solutions .solution-card .status-pill,
body[data-zmx-route="/"] #solutions .solution-card.solution-support .status-pill {
  border-color: rgba(255, 255, 255, .2) !important;
  background: #59666b !important;
  color: #fffdf8 !important;
}

body.zmx-motion-ready[data-zmx-route="/"] .services-grid-image-led .zmx-reveal {
  transition-duration: 3.8s !important;
  transition-timing-function: cubic-bezier(.16, .62, .26, 1) !important;
}
body.zmx-motion-ready[data-zmx-route="/"] .referral-card.zmx-reveal {
  transition-duration: 4.05s !important;
  transition-timing-function: cubic-bezier(.16, .62, .26, 1) !important;
}

body[data-zmx-route="/"] .zmx-review-track { transition-duration: 1.45s; }
body[data-zmx-route="/"] .zmx-review-slide footer { gap: 8px; }
body[data-zmx-route="/"] .zmx-review-source {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #6c765e;
  font-size: .78rem;
}
body[data-zmx-route="/"] .zmx-review-source .zmx-google-g { width: 16px; height: 16px; flex: 0 0 16px; }
body[data-zmx-route="/"] .zmx-review-source > span { color: inherit; font: inherit; }

@media (max-width: 720px) {
  body[data-zmx-route="/"] #callback-modal .form-step[data-step] .option-secondary { width: 100% !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.zmx-motion-ready[data-zmx-route="/"] :is(.services-grid-image-led .zmx-reveal, .referral-card.zmx-reveal) {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  body[data-zmx-route="/"] .zmx-review-track { transition: none !important; }
}

/* V20 homepage correction: force fresh shared assets and finish the locked form/review treatment. */
body[data-zmx-route] :is(.field, .zmx-global-field) small,
body[data-zmx-route] .optional {
  display: inline-flex;
  align-items: center;
  margin-left: 5px;
  padding: 2px 7px;
  border: 1px solid rgba(91, 73, 44, .18);
  border-radius: 999px;
  background: rgba(241, 230, 207, .82);
  color: #665b48 !important;
  font-size: .72rem;
  font-weight: 800 !important;
  line-height: 1.2;
  letter-spacing: .01em;
}

body[data-zmx-route] input[type="file"] {
  min-height: 52px;
  padding: 7px 10px !important;
  border: 1px solid rgba(91, 73, 44, .24) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, #f7f0e2 0%, #ece1cd 100%) !important;
  color: #665b48 !important;
  font: inherit;
  font-size: .86rem;
}
body[data-zmx-route] input[type="file"]::file-selector-button {
  margin-right: 12px;
  padding: 10px 17px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #17675d 0%, #248a7b 100%);
  color: #fffdf8;
  box-shadow: 0 8px 18px rgba(12, 69, 60, .16);
  font: inherit;
  font-weight: 850;
  cursor: pointer;
  transition: transform .28s ease, box-shadow .28s ease, background .28s ease;
}
body[data-zmx-route] input[type="file"]::file-selector-button:hover {
  background: linear-gradient(135deg, #145a51 0%, #1f7d70 100%);
  box-shadow: 0 10px 22px rgba(12, 69, 60, .22);
  transform: translateY(-1px);
}

body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill,
body[data-zmx-route="/"] .hero-wrap .specialist-pills .pill:nth-child(n) {
  border-color: rgba(74, 66, 45, .22) !important;
  background: linear-gradient(145deg, #f5ecd9 0%, #e6d7b7 100%) !important;
  background-image: linear-gradient(145deg, #f5ecd9 0%, #e6d7b7 100%) !important;
  background-position: center !important;
  color: #15342f !important;
}

body[data-zmx-route="/"] .outcome-tags .tag:nth-child(3) {
  border-color: rgba(40, 91, 122, .44) !important;
  background: linear-gradient(145deg, #82abc1 0%, #416f8f 100%) !important;
  color: #fffdf8 !important;
}
body[data-zmx-route="/"] #solutions .solution-card .status-pill,
body[data-zmx-route="/"] #solutions .solution-card:nth-child(n) .status-pill,
body[data-zmx-route="/"] #solutions .solution-card.solution-support .status-pill {
  border-color: rgba(255, 255, 255, .2) !important;
  background: #59666b !important;
  background-image: none !important;
  color: #fffdf8 !important;
}

body.zmx-motion-ready[data-zmx-route="/"] .services-grid-image-led .zmx-reveal {
  transition-duration: 4.6s !important;
}
body.zmx-motion-ready[data-zmx-route="/"] .referral-card.zmx-reveal {
  transition-duration: 4.85s !important;
}

/* V21 homepage correction: compact optional labels, explicit route colours and continuous review motion. */
body[data-zmx-route] :is(.field, .zmx-global-field) small,
body[data-zmx-route] .optional {
  width: max-content !important;
  max-width: 100%;
  justify-self: start;
  margin-left: 5px;
  padding: 2px 7px;
  border-color: rgba(74, 66, 45, .2);
  background: #f1e5ca;
  color: #213b36 !important;
  font-size: .68rem;
}
body[data-zmx-route] label.field:has(> small) {
  width: 100% !important;
  min-width: 0;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: center;
  justify-content: stretch;
  column-gap: 6px !important;
  row-gap: 7px !important;
}
body[data-zmx-route] label.field:has(> small) > small {
  margin-left: 0;
  justify-self: start;
}
body[data-zmx-route] label.field:has(> small) > :is(input, textarea, select) {
  grid-column: 1 / -1;
  width: 100% !important;
  min-width: 0;
  justify-self: stretch;
}
body[data-zmx-route] #callback-modal .field-grid > label.field.full {
  width: 100% !important;
  min-width: 0;
  justify-self: stretch;
}

/* V23 locked form system: one approved option-card and details layout on every route. */
body[data-zmx-route] :is(
  #callback-modal .form-step.active,
  #propertyModal .property-step.active,
  #referralModal .step.active,
  .service-modal-card .service-step.active,
  #incomeStepShell,
  #solutionStepShell,
  #electricalStepShell
) {
  padding: clamp(18px, 3vw, 26px) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg, #0b3e36 0%, #17675d 58%, #2d8175 100%) !important;
  color: #fffdf8 !important;
  box-shadow: 0 18px 38px rgba(8, 41, 35, .2) !important;
}
body[data-zmx-route] :is(
  #callback-modal .form-step.active,
  #propertyModal .property-step.active,
  #referralModal .step.active,
  .service-modal-card .service-step.active,
  #incomeStepShell,
  #solutionStepShell,
  #electricalStepShell
) > :is(strong, h3, h4, p) {
  color: #fffdf8 !important;
}
body[data-zmx-route] :is(
  #callback-modal .form-step.active > strong,
  #propertyModal .property-step.active > .property-step-label,
  #referralModal .step.active > :is(.step-label, strong),
  .service-modal-card .service-step.active > .service-step-count,
  #incomeStepShell > .income-step-label,
  #solutionStepShell > .solution-step-label,
  #electricalStepShell > .electrical-step-label
) {
  color: #f0ce7a !important;
}
body[data-zmx-route] :is(
  #callback-modal,
  #propertyModal,
  #referralModal,
  .property-enquiry-modal-card,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(
  .option-grid,
  .property-option-grid,
  .options,
  .income-options,
  .solution-options,
  .electrical-options,
  .service-options
) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 13px !important;
}
body[data-zmx-route] :is(
  #callback-modal,
  #propertyModal,
  #referralModal,
  .property-enquiry-modal-card,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(
  .option,
  .property-option,
  .income-option,
  .solution-option,
  .electrical-option,
  .service-option,
  .options > button
) {
  width: 100% !important;
  min-height: 72px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(91, 73, 44, .24) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, #f5eddd 0%, #e8ddc7 100%) !important;
  background-image: linear-gradient(145deg, #f5eddd 0%, #e8ddc7 100%) !important;
  color: #15342f !important;
  text-align: left !important;
  box-shadow: 0 9px 22px rgba(18, 45, 39, .08) !important;
}
body[data-zmx-route] :is(
  #callback-modal,
  #propertyModal,
  #referralModal,
  .property-enquiry-modal-card,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(
  .option,
  .property-option,
  .income-option,
  .solution-option,
  .electrical-option,
  .service-option,
  .options > button
):is(:hover, .selected, :has(input:checked)) {
  border-color: #28776c !important;
  background: linear-gradient(145deg, #e9f1e8 0%, #d7e7df 100%) !important;
  background-image: linear-gradient(145deg, #e9f1e8 0%, #d7e7df 100%) !important;
  box-shadow: 0 13px 28px rgba(18, 72, 62, .13) !important;
}
body[data-zmx-route] :is(
  #callback-modal,
  #propertyModal,
  #referralModal,
  .property-enquiry-modal-card,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(
  .field-grid,
  .form-grid,
  .fields,
  .income-form-grid,
  .solution-form-grid,
  .electrical-form-grid
) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 12px !important;
}
body[data-zmx-route] :is(
  #callback-modal,
  #propertyModal,
  #referralModal,
  .property-enquiry-modal-card,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(
  .field.full,
  label.full,
  .income-field.full,
  .solution-field.full,
  .electrical-field.full
) {
  width: 100% !important;
  min-width: 0;
  grid-column: 1 / -1 !important;
  justify-self: stretch;
}
body[data-zmx-route] :is(
  #callback-modal,
  #propertyModal,
  #referralModal,
  .property-enquiry-modal-card,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(
  .option-secondary,
  .property-quiet .property-option,
  .income-option-unsure,
  .solution-option-unsure,
  .electrical-not-sure,
  .service-not-sure
) {
  width: min(390px, 64%) !important;
  min-height: 54px !important;
  margin: 12px auto 0 !important;
  justify-content: center !important;
  text-align: center !important;
}

@media (max-width: 720px) {
  body[data-zmx-route] :is(
    #callback-modal,
    #propertyModal,
    #referralModal,
    .property-enquiry-modal-card,
    .income-modal-card,
    .solution-modal-card,
    .electrical-modal-card,
    .service-modal-card
  ) :is(
    .option-grid,
    .property-option-grid,
    .options,
    .income-options,
    .solution-options,
    .electrical-options,
    .service-options,
    .field-grid,
    .form-grid,
    .fields,
    .income-form-grid,
    .solution-form-grid,
    .electrical-form-grid
  ) {
    grid-template-columns: 1fr !important;
  }
  body[data-zmx-route] :is(
    #callback-modal,
    #propertyModal,
    #referralModal,
    .property-enquiry-modal-card,
    .income-modal-card,
    .solution-modal-card,
    .electrical-modal-card,
    .service-modal-card
  ) :is(
    .option-secondary,
    .property-quiet .property-option,
    .income-option-unsure,
    .solution-option-unsure,
    .electrical-not-sure,
    .service-not-sure
  ) {
    width: 100% !important;
  }
}

/* V37 Solutions owner reconciliation. The homepage and every other route are frozen. */
body[data-zmx-route="/solutions/"] .zmx-blueprint-reassurance {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: center !important;
  width: fit-content !important;
  max-width: min(100%, 650px) !important;
  gap: 10px !important;
  margin-block: 12px 24px !important;
  color: rgba(255, 255, 255, .91) !important;
  font-size: .91rem !important;
  font-weight: 800 !important;
}
body[data-zmx-route="/solutions/"] .zmx-blueprint-reassurance > span:first-child {
  display: grid !important;
  place-items: center !important;
  width: 22px !important;
  height: 22px !important;
  border: 1px solid rgba(236, 207, 133, .5) !important;
  border-radius: 50% !important;
  background: rgba(202, 161, 72, .28) !important;
  color: #f6da83 !important;
  font-size: .78rem !important;
  line-height: 1 !important;
}
body[data-zmx-route="/solutions/"] .zmx-blueprint-reassurance > span:last-child {
  display: block !important;
}

body[data-zmx-route="/solutions/"] .intro-box {
  position: relative;
  overflow: hidden;
  color: #fff8e9 !important;
  border-color: rgba(224, 194, 125, .35) !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(231, 201, 132, .2), transparent 34%),
    radial-gradient(circle at 92% 88%, rgba(179, 203, 211, .18), transparent 38%),
    linear-gradient(135deg, #243b46 0%, #365c6a 58%, #7b6848 118%) !important;
  box-shadow: 0 26px 64px rgba(28, 49, 56, .22) !important;
}
body[data-zmx-route="/solutions/"] .intro-box .eyebrow {
  color: #f0cf7d !important;
}
body[data-zmx-route="/solutions/"] .intro-box h2 {
  color: #fff8e9 !important;
}
body[data-zmx-route="/solutions/"] .intro-box p {
  color: rgba(255, 248, 233, .78) !important;
}
body[data-zmx-route="/solutions/"] .intro-box .mini-step {
  color: #19322f !important;
  border-color: rgba(239, 217, 163, .5) !important;
  background: linear-gradient(145deg, #f2e5bf 0%, #ddca95 100%) !important;
  box-shadow: 0 14px 28px rgba(13, 34, 39, .14), inset 0 1px 0 rgba(255, 255, 255, .5) !important;
}
body[data-zmx-route="/solutions/"] .intro-box .mini-step b {
  color: #765718 !important;
}

body[data-zmx-route="/solutions/"] #solutions {
  background:
    radial-gradient(circle at 10% 8%, rgba(215, 183, 114, .18), transparent 31%),
    radial-gradient(circle at 91% 92%, rgba(111, 147, 158, .12), transparent 36%),
    linear-gradient(145deg, #f8f1e1 0%, #eee3cb 48%, #f5ecd9 100%) !important;
}
body[data-zmx-route="/solutions/"] #solutions .solutions-grid {
  align-items: stretch !important;
}
body[data-zmx-route="/solutions/"] #solutions .solution-card {
  height: 100% !important;
  color: #102f2b !important;
  box-shadow: 0 22px 48px rgba(22, 48, 48, .14), inset 0 1px 0 rgba(255, 255, 255, .52) !important;
}
body[data-zmx-route="/solutions/"] #solutions .solution-card.income {
  border-top-color: #a77722 !important;
  background:
    radial-gradient(circle at 86% 8%, rgba(255, 246, 214, .72), transparent 35%),
    linear-gradient(142deg, #f0dfad 0%, #d8bd79 50%, #ead59d 100%) !important;
}
body[data-zmx-route="/solutions/"] #solutions .solution-card.roof {
  border-top-color: #5c7680 !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(235, 242, 241, .7), transparent 34%),
    linear-gradient(142deg, #cbd9da 0%, #9eb5b9 50%, #c2d0d1 100%) !important;
}
body[data-zmx-route="/solutions/"] #solutions .solution-card.energy {
  border-top-color: #356f91 !important;
  background:
    radial-gradient(circle at 86% 8%, rgba(230, 243, 249, .7), transparent 34%),
    linear-gradient(142deg, #c4dce7 0%, #82acc0 50%, #b5d2df 100%) !important;
}
body[data-zmx-route="/solutions/"] #solutions .solution-card :is(h3, p, .solution-points span) {
  color: #18352f !important;
}
body[data-zmx-route="/solutions/"] #solutions .solution-card .card-kicker {
  color: #674d1b !important;
}
body[data-zmx-route="/solutions/"] #solutions .solution-card.roof .card-kicker {
  color: #354e56 !important;
}
body[data-zmx-route="/solutions/"] #solutions .solution-card.energy .card-kicker {
  color: #244f68 !important;
}
body[data-zmx-route="/solutions/"] #solutions .solution-card .solution-points {
  display: grid !important;
  grid-template-rows: repeat(3, minmax(28px, auto)) !important;
  align-content: start !important;
  gap: 9px !important;
}
body[data-zmx-route="/solutions/"] #solutions .solution-card .solution-points span {
  align-items: center !important;
  min-height: 28px !important;
}
body[data-zmx-route="/solutions/"] #solutions .solution-card .card-actions {
  align-items: center !important;
  min-height: 48px !important;
  margin-top: auto !important;
}
body[data-zmx-route="/solutions/"] #solutions .support-panel {
  background:
    radial-gradient(circle at 12% 18%, rgba(213, 227, 217, .12), transparent 34%),
    linear-gradient(135deg, #123f35 0%, #235d4d 58%, #315f50 100%) !important;
}

@media (min-width: 901px) {
  body[data-zmx-route="/solutions/"] #solutions .solution-card .card-top {
    grid-template-rows: auto minmax(72px, auto) minmax(128px, auto) 186px minmax(102px, 1fr) !important;
  }
  body[data-zmx-route="/solutions/"] #process .process-card {
    display: grid !important;
    grid-template-rows: auto minmax(52px, auto) 1fr !important;
    align-content: start !important;
  }
}

@media (max-width: 900px) {
  body[data-zmx-route="/solutions/"] .intro-box {
    gap: 26px !important;
  }
  body[data-zmx-route="/solutions/"] #solutions .solution-card {
    min-height: 0 !important;
  }
}

html body[data-zmx-route="/"] main #solutions .section-heading .outcome-tags > .tag.zmx-energy-savings-tag {
  border-color: #285b7a !important;
  background-color: #416f8f !important;
  background:
    radial-gradient(circle at 18% 4%, rgba(209, 230, 241, .62), transparent 36%),
    linear-gradient(142deg, #82abc1 0%, #416f8f 50%, #739db4 100%) !important;
  background-image:
    radial-gradient(circle at 18% 4%, rgba(209, 230, 241, .62), transparent 36%),
    linear-gradient(142deg, #82abc1 0%, #416f8f 50%, #739db4 100%) !important;
  color: #102f3d !important;
}
html body[data-zmx-route="/"] main #solutions .section-heading .outcome-tags > .tag.zmx-energy-savings-tag::before {
  color: #19715f !important;
}
body[data-zmx-route="/"] #solutions .solution-card.solution-support {
  border-top-color: #2f6b58 !important;
  background:
    radial-gradient(circle at 14% 8%, rgba(222, 241, 231, .58), transparent 32%),
    radial-gradient(circle at 90% 92%, rgba(31, 90, 71, .18), transparent 36%),
    linear-gradient(132deg, #b5d3c4 0%, #6b9c86 50%, #93b7a5 100%) !important;
}

body.zmx-motion-ready[data-zmx-route="/"] .who-grid .info-card.zmx-reveal {
  transition: opacity 1.7s cubic-bezier(.2, .62, .3, 1) var(--zmx-reveal-delay, 0ms),
    transform 1.7s cubic-bezier(.2, .62, .3, 1) var(--zmx-reveal-delay, 0ms) !important;
}
html body.zmx-motion-ready[data-zmx-route="/"] main .services-grid-image-led .service-card.zmx-reveal {
  transition: opacity 4.6s cubic-bezier(.18, .4, .25, 1) var(--zmx-reveal-delay, 0ms),
    transform 4.6s cubic-bezier(.18, .4, .25, 1) var(--zmx-reveal-delay, 0ms) !important;
}
html body.zmx-motion-ready[data-zmx-route="/"] main .referral-card.zmx-reveal {
  transition: opacity 4.85s cubic-bezier(.18, .4, .25, 1) var(--zmx-reveal-delay, 0ms),
    transform 4.85s cubic-bezier(.18, .4, .25, 1) var(--zmx-reveal-delay, 0ms) !important;
}

body[data-zmx-route="/"] .zmx-review-viewport {
  container-type: inline-size;
}
body[data-zmx-route="/"] .zmx-review-track {
  --zmx-review-gap: 18px;
  --zmx-review-card-width: calc((100cqw - (var(--zmx-review-gap) * 2)) / 3);
  width: max-content;
  max-width: none;
  gap: var(--zmx-review-gap);
  transition: none !important;
  animation: zmx-review-marquee-v21 64s linear infinite;
}
body[data-zmx-route="/"] .zmx-review-slide {
  width: var(--zmx-review-card-width);
  flex: 0 0 var(--zmx-review-card-width);
}
body[data-zmx-route="/"] .zmx-review-carousel:focus-within .zmx-review-track {
  animation-play-state: paused;
}
@keyframes zmx-review-marquee-v21 {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(calc(-50% - (var(--zmx-review-gap) / 2)), 0, 0); }
}

@media (max-width: 720px) {
  body[data-zmx-route="/"] .zmx-review-track {
    --zmx-review-card-width: 100cqw;
    --zmx-review-gap: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-zmx-route="/"] .zmx-review-track {
    animation: none !important;
    transform: none !important;
  }
}

/* V24 homepage finish: one motion rhythm and a stronger, better-balanced desktop hero. */
html body.zmx-motion-ready[data-zmx-route="/"] main :is(
  #solutions .solution-card.zmx-reveal,
  .proof-columns .proof-col.zmx-reveal,
  .who-grid .info-card.zmx-reveal,
  .services-grid-image-led .service-card.zmx-reveal,
  .referral-card.zmx-reveal,
  .about-layout > .zmx-reveal
) {
  transition: opacity 1.85s cubic-bezier(.2, .62, .3, 1) var(--zmx-reveal-delay, 0ms),
    transform 1.85s cubic-bezier(.2, .62, .3, 1) var(--zmx-reveal-delay, 0ms) !important;
}

@media (min-width: 981px) {
  html body[data-zmx-route="/"] main .hero-wrap .hero {
    align-items: flex-start !important;
  }
  html body[data-zmx-route="/"] main .hero-wrap .hero-inner {
    margin: 0 auto !important;
    padding-top: 72px !important;
  }
  html body[data-zmx-route="/"] main .hero-wrap .hero-copy {
    max-width: 690px !important;
    padding-top: 0 !important;
    transform: none !important;
  }
  html body[data-zmx-route="/"] main .hero-wrap .hero h1 {
    max-width: 690px !important;
    font-size: clamp(3.15rem, 4.7vw, 4.75rem) !important;
    line-height: .93 !important;
    letter-spacing: -.068em !important;
  }
  html body[data-zmx-route="/"] main .hero-wrap .hero-copy > p:not(.eyebrow) {
    max-width: 610px !important;
    font-size: 1.08rem !important;
  }
}

/* V26 hub system: one desktop hero frame, one primary CTA hierarchy and stronger review contrast. */
@media (min-width: 981px) {
  html body[data-zmx-route="/"] main > .hero-wrap,
  html body[data-zmx-route="/solutions/"] main > .hero,
  html body[data-zmx-route="/services/"] main > .hero,
  html body[data-zmx-route="/resources/"] main > .hero,
  html body[data-zmx-route="/about/"] main > .about-hero,
  html body[data-zmx-route="/referrals/"] > header.hero {
    min-height: max(660px, calc(100svh - 82px)) !important;
    box-sizing: border-box !important;
    display: grid !important;
    align-items: center !important;
    padding-top: clamp(74px, 10vh, 116px) !important;
    padding-bottom: clamp(74px, 10vh, 116px) !important;
  }

  html body[data-zmx-route="/"] main > .hero-wrap {
    align-items: start !important;
    overflow: visible !important;
    padding-top: clamp(104px, 13vh, 118px) !important;
    padding-bottom: 74px !important;
  }

  html body[data-zmx-route="/"] main > .hero-wrap > .hero {
    min-height: 0 !important;
    display: block !important;
    padding: 0 !important;
    background: none !important;
  }

  html body[data-zmx-route="/"] main .hero-wrap .hero-inner,
  html body[data-zmx-route="/about/"] main .about-hero-inner {
    width: min(1240px, calc(100% - 32px)) !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  html body[data-zmx-route="/"] main .hero-wrap .hero-copy {
    max-width: 760px !important;
    padding-top: 0 !important;
    transform: none !important;
  }

  html body[data-zmx-route="/"] main .hero-wrap .hero h1,
  html body[data-zmx-route="/solutions/"] main .hero h1,
  html body[data-zmx-route="/services/"] main .hero h1,
  html body[data-zmx-route="/resources/"] main .hero h1,
  html body[data-zmx-route="/referrals/"] > header.hero h1,
  html body[data-zmx-route="/about/"] main .about-hero h1 {
    max-width: 820px !important;
    font-size: clamp(3.45rem, 5.1vw, 5.375rem) !important;
    line-height: .91 !important;
    letter-spacing: -.07em !important;
  }

  html body[data-zmx-route="/"] main .hero-wrap .hero-copy > p:not(.eyebrow) {
    max-width: 650px !important;
    font-size: 1.12rem !important;
    line-height: 1.62 !important;
  }

  html body[data-zmx-route="/"] main .hero-wrap .specialist-overlap {
    position: absolute !important;
    inset: auto 0 -112px !important;
    width: min(1240px, calc(100% - 40px)) !important;
    margin: 0 auto !important;
    z-index: 5 !important;
  }

  html body[data-zmx-route="/"] main .hero-wrap + #solutions.section-pad {
    padding-top: 176px !important;
  }
}

body[data-zmx-route="/"] .hero-wrap .hero-main-cta,
body[data-zmx-route="/"] .hero-wrap .hero-actions .btn-primary {
  border: 0 !important;
  background: linear-gradient(135deg, #e7c66f 0%, #d2a653 58%, #bd8f3e 100%) !important;
  color: #102320 !important;
  box-shadow: 0 16px 36px rgba(14, 31, 28, .24), 0 0 0 1px rgba(255, 244, 202, .24) inset !important;
}
body[data-zmx-route="/"] .hero-wrap .hero-main-cta:hover,
body[data-zmx-route="/"] .hero-wrap .hero-actions .btn-primary:hover {
  background: linear-gradient(135deg, #ddba5d 0%, #c89743 58%, #ad7e33 100%) !important;
  color: #102320 !important;
}

body[data-zmx-route="/"] .zmx-review-carousel-section {
  background:
    radial-gradient(circle at 10% 0%, rgba(227, 194, 119, .18), transparent 31%),
    radial-gradient(circle at 88% 86%, rgba(76, 134, 135, .2), transparent 34%),
    linear-gradient(145deg, #0a302b 0%, #15483f 54%, #263f48 100%) !important;
  border-block: 1px solid rgba(231, 198, 111, .18);
}
body[data-zmx-route="/"] .zmx-review-heading .eyebrow { color: #e7c66f !important; }
body[data-zmx-route="/"] .zmx-review-heading h2 { color: #fffaf0 !important; }
body[data-zmx-route="/"] .zmx-review-heading p:not(.eyebrow) { color: rgba(255, 250, 240, .76) !important; }

/* V27 homepage finish: verified hero proof, capability clarity and a direct free-resource route. */
body[data-zmx-route="/"] .hero-proof-row {
  display: flex;
  align-items: stretch;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
}
body[data-zmx-route="/"] .hero-proof-row .hero-google-proof { margin-top: 0; min-height: 58px; }
body[data-zmx-route="/"] .hero-review-proof {
  width: min(360px, 100%);
  display: grid;
  align-content: center;
  gap: 3px;
  min-height: 58px;
  padding: 8px 14px;
  border: 1px solid rgba(255, 253, 248, .3);
  border-radius: 16px;
  background: rgba(7, 42, 37, .48);
  color: #fffdf8;
  text-decoration: none;
  backdrop-filter: blur(8px);
  box-shadow: 0 12px 28px rgba(4, 24, 22, .14);
  transition: background-color .24s ease, border-color .24s ease, transform .24s ease;
}
body[data-zmx-route="/"] .hero-review-proof:hover {
  background: rgba(7, 42, 37, .7);
  border-color: rgba(242, 228, 189, .62);
  transform: translateY(-2px);
}
body[data-zmx-route="/"] .hero-review-proof__quote { font-size: .78rem; line-height: 1.35; font-weight: 850; }
body[data-zmx-route="/"] .hero-review-proof__meta { color: #e7c66f; font-size: .64rem; font-weight: 850; letter-spacing: .035em; }

body[data-zmx-route="/"] .hero-capability-panel {
  position: absolute;
  top: 50%;
  right: max(28px, calc((100vw - 1240px) / 2));
  width: min(310px, calc(100% - 40px));
  display: grid;
  gap: 8px;
  padding: 22px 24px;
  border: 1px solid rgba(255, 250, 235, .28);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(8, 51, 45, .78), rgba(21, 72, 63, .58));
  color: #fffaf0;
  box-shadow: 0 22px 46px rgba(3, 26, 23, .24);
  backdrop-filter: blur(10px);
  transform: translateY(-46%);
  z-index: 3;
}
body[data-zmx-route="/"] .hero-capability-panel__eyebrow {
  color: #e7c66f;
  font-size: .67rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
body[data-zmx-route="/"] .hero-capability-panel strong { font-size: 1.05rem; line-height: 1.25; }
body[data-zmx-route="/"] .hero-capability-panel > span:last-child { color: rgba(255, 250, 240, .74); font-size: .76rem; }

body[data-zmx-route="/"] .zmx-resource-callout { padding: 0 0 clamp(48px, 6vw, 78px); background: #f7f2e6; }
body[data-zmx-route="/"] .zmx-resource-callout__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 30px;
  padding: clamp(26px, 4vw, 42px);
  border: 1px solid rgba(231, 198, 111, .22);
  border-radius: 26px;
  background:
    radial-gradient(circle at 12% 0%, rgba(231, 198, 111, .16), transparent 34%),
    linear-gradient(135deg, #123e38 0%, #1b5d53 58%, #274f58 100%);
  color: #fffaf0;
  box-shadow: 0 20px 46px rgba(12, 46, 40, .16);
}
html body[data-zmx-route="/"] main .zmx-resource-callout .eyebrow { margin: 0 0 9px; color: #e7c66f !important; }
body[data-zmx-route="/"] .zmx-resource-callout h2 { max-width: 760px; margin: 0; color: #fffaf0; font-size: clamp(1.65rem, 3vw, 2.7rem); line-height: 1; letter-spacing: -.045em; }
body[data-zmx-route="/"] .zmx-resource-callout p:not(.eyebrow) { max-width: 760px; margin: 12px 0 0; color: rgba(255, 250, 240, .75); line-height: 1.55; }
body[data-zmx-route="/"] .zmx-resource-callout__cta {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 210px;
  min-height: 52px;
  padding: 13px 22px;
  border-radius: 999px;
  background: linear-gradient(135deg, #e7c66f 0%, #d2a653 58%, #bd8f3e 100%);
  color: #102320;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 14px 30px rgba(6, 29, 26, .2);
  transition: transform .24s ease, filter .24s ease;
}
body[data-zmx-route="/"] .zmx-resource-callout__cta:hover { filter: brightness(1.05); transform: translateY(-2px); }

@media (max-width: 980px) {
  body[data-zmx-route="/"] .hero-capability-panel {
    position: static;
    width: 100%;
    margin-top: 18px;
    padding: 14px 16px;
    grid-column: 1 / -1;
    transform: none;
  }
}

@media (max-width: 720px) {
  body[data-zmx-route="/"] .hero-proof-row { display: grid; grid-template-columns: 1fr; }
  body[data-zmx-route="/"] .hero-proof-row .hero-google-proof,
  body[data-zmx-route="/"] .hero-review-proof { width: 100%; }
  body[data-zmx-route="/"] .hero-proof-row .hero-google-proof { justify-content: center; }
  body[data-zmx-route="/"] .hero-capability-panel { gap: 5px; border-radius: 16px; }
  body[data-zmx-route="/"] .zmx-resource-callout { padding-bottom: 48px; }
  body[data-zmx-route="/"] .zmx-resource-callout__panel { grid-template-columns: 1fr; gap: 22px; padding: 25px 21px; }
  body[data-zmx-route="/"] .zmx-resource-callout__cta { width: 100%; }
}

/* V28 homepage warm finish: audited hero badge placement, richer cream surfaces and a smoked footer identity. */
.zmx-global-header {
  background:
    radial-gradient(circle at 50% -90%, rgba(210, 166, 83, .28), transparent 58%),
    linear-gradient(118deg, #eee2c4 0%, #f6f0df 48%, #e9ddbd 100%) !important;
  border-bottom-color: rgba(118, 91, 40, .2) !important;
  box-shadow: 0 8px 25px rgba(36, 49, 44, .08);
}
.zmx-global-header .zmx-global-brand {
  padding: 2px 14px;
  border: 1px solid rgba(140, 109, 49, .16);
  border-radius: 17px;
  background: rgba(255, 252, 242, .4);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5);
}
html body[data-zmx-route="/"] main .hero-wrap .hero-capability-panel,
html body[data-zmx-route="/"] main .hero-wrap .hero-capability-panel__eyebrow,
html body[data-zmx-route="/"] main .hero-wrap .hero-capability-panel > span:last-child {
  text-align: center !important;
}

@media (min-width: 981px) {
  html body[data-zmx-route="/"] main .hero-wrap .hero-capability-panel {
    top: auto !important;
    right: max(32px, 7.5vw) !important;
    bottom: clamp(108px, 13vh, 132px) !important;
    width: 266px !important;
    gap: 6px;
    padding: 18px 20px;
    border: 1px solid rgba(229, 220, 194, .25);
    border-radius: 20px;
    background: rgba(12, 48, 43, .9);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .25);
    text-align: center;
    transform: none !important;
  }
  html body[data-zmx-route="/"] main .hero-wrap .hero-capability-panel strong {
    color: #fffdf7;
    font-size: 1.04rem;
  }
  html body[data-zmx-route="/"] main .hero-wrap .hero-capability-panel__eyebrow {
    color: #e7c66f;
    text-align: center;
  }
  html body[data-zmx-route="/"] main .hero-wrap .hero-capability-panel > span:last-child {
    color: rgba(255, 253, 247, .78);
    text-align: center;
  }
}

html body[data-zmx-route="/"] main #solutions {
  background:
    radial-gradient(circle at 8% 2%, rgba(224, 194, 122, .28), transparent 31%),
    radial-gradient(circle at 92% 90%, rgba(55, 112, 100, .12), transparent 34%),
    linear-gradient(142deg, #eadfbe 0%, #f5efdf 48%, #e6d9b8 100%) !important;
}

html body[data-zmx-route="/"] main .zmx-resource-callout {
  background:
    radial-gradient(circle at 9% 0%, rgba(225, 193, 116, .26), transparent 31%),
    radial-gradient(circle at 92% 100%, rgba(54, 111, 100, .12), transparent 34%),
    linear-gradient(142deg, #e9ddbc 0%, #f5efdf 50%, #e6d9b8 100%) !important;
}
body[data-zmx-route="/"] .zmx-resource-callout__panel {
  grid-template-columns: minmax(0, 1fr) minmax(240px, .34fr);
  gap: clamp(28px, 4vw, 58px);
}
body[data-zmx-route="/"] .zmx-resource-callout h2 span { display: block; }
body[data-zmx-route="/"] .zmx-resource-callout__cta {
  justify-self: center;
  min-width: 214px;
}

.zmx-global-footer__identity {
  padding: 16px;
  border: 1px solid rgba(235, 223, 191, .16);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(151, 157, 151, .88), rgba(104, 117, 111, .9));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 14px 32px rgba(0, 0, 0, .12);
}
.zmx-global-footer__logo {
  width: min(230px, 100%) !important;
  height: 72px !important;
  padding: 0 !important;
  margin-bottom: 13px !important;
  background: transparent !important;
  border-radius: 0 !important;
  mix-blend-mode: multiply;
  filter: contrast(1.16) saturate(.86);
}
.zmx-global-footer__identity p { color: rgba(255, 253, 247, .9); }

@media (max-width: 720px) {
  .zmx-global-header .zmx-global-brand { padding-inline: 8px; border-radius: 14px; }
  body[data-zmx-route="/"] .zmx-resource-callout__panel { grid-template-columns: 1fr; }
  body[data-zmx-route="/"] .zmx-resource-callout h2 span { display: inline; }
  body[data-zmx-route="/"] .zmx-resource-callout h2 span + span::before { content: " "; }
  .zmx-global-footer__identity { padding: 14px; }
}

/* V29 homepage spacing finish: clear hero hierarchy, one warm surface and a separated footer identity. */
.zmx-global-header .zmx-global-brand {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (min-width: 981px) {
  html body[data-zmx-route="/"] main .hero-wrap .hero-capability-panel {
    top: auto !important;
    bottom: 28px !important;
    transform: none !important;
  }

  html body[data-zmx-route="/"] main .hero-wrap .specialist-overlap {
    position: absolute !important;
    inset: auto 0 -220px !important;
    margin: 0 auto !important;
  }

  html body[data-zmx-route="/"] main .hero-wrap + #solutions.section-pad {
    padding-top: 278px !important;
  }
}

@media (max-width: 980px) {
  html body[data-zmx-route="/"] main .hero-wrap .specialist-overlap {
    position: relative !important;
    inset: auto !important;
    margin: 24px auto 0 !important;
  }

  html body[data-zmx-route="/"] main .hero-wrap + #solutions.section-pad {
    padding-top: 54px !important;
  }
}

html body[data-zmx-route="/"] main :is(#services, #resources, .zmx-resource-callout) {
  background: #eee4cc !important;
  border-block-color: transparent !important;
}

body[data-zmx-route="/"] .zmx-resource-callout__panel {
  gap: clamp(22px, 2.2vw, 34px);
}

body[data-zmx-route="/"] .zmx-resource-callout__cta {
  justify-self: start;
  margin-left: clamp(0px, 1.8vw, 20px);
}

.zmx-global-footer__identity {
  position: relative;
  isolation: isolate;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

.zmx-global-footer__identity::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: min(230px, 100%);
  height: 84px;
  border: 1px solid rgba(235, 223, 191, .18);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(158, 169, 163, .92), rgba(117, 133, 126, .94));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 14px 30px rgba(0, 0, 0, .12);
}

.zmx-global-footer__logo {
  position: relative;
  z-index: 1;
  width: min(230px, 100%) !important;
  height: 84px !important;
  padding: 8px 14px !important;
  margin: 0 !important;
  background: transparent !important;
  mix-blend-mode: multiply;
  filter: brightness(1.28) saturate(1.08);
}

.zmx-global-footer__identity p {
  position: relative;
  z-index: 1;
  margin: 16px 0 0;
  color: rgba(255, 253, 247, .9);
}

@media (max-width: 720px) {
  body[data-zmx-route="/"] .zmx-resource-callout__cta {
    width: 100%;
    margin-left: 0;
  }
}

/* V30 homepage alignment finish: grid-locked capability proof, explicit checklist value and a legible footer mark. */
@media (min-width: 981px) {
  html body[data-zmx-route="/"] main .hero-wrap .hero-capability-panel {
    position: relative !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
    justify-self: end !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
  }
}

body[data-zmx-route="/"] .final-cta-benefit {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  gap: 2px 10px !important;
  width: min(640px, 100%);
  margin: 16px auto 0 !important;
  color: rgba(255, 253, 247, .84) !important;
  line-height: 1.45 !important;
  text-align: left;
}

body[data-zmx-route="/"] .final-cta-benefit::before {
  content: "\2713";
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  border: 1px solid rgba(231, 198, 111, .58);
  border-radius: 50%;
  background: rgba(210, 166, 83, .2);
  color: #f0ce79;
  font-size: .76rem;
  font-weight: 950;
}

body[data-zmx-route="/"] .final-cta-benefit > span {
  display: block;
}

.zmx-global-footer__identity::before {
  z-index: 0;
  border-color: rgba(235, 223, 191, .28);
  background: linear-gradient(145deg, #ded6c2 0%, #c2c7bd 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 14px 30px rgba(0, 0, 0, .12);
}

.zmx-global-footer__logo {
  mix-blend-mode: multiply;
  filter: none;
}

/* V31 homepage position correction: preserve the accepted hero flow and pin capability proof to its lower-right edge. */
@media (min-width: 981px) {
  html body[data-zmx-route="/"] main .hero-wrap .hero-inner .hero-capability-panel {
    position: absolute !important;
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: auto !important;
    justify-self: auto !important;
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    transform: none !important;
  }
}

/* V32 homepage right-edge alignment: mirror the centred 1180px specialist-card inset without changing hero flow. */
@media (min-width: 981px) {
  html body[data-zmx-route="/"] main .hero-wrap .hero-inner .hero-capability-panel {
    right: max(0px, calc((100% - 1180px) / 2)) !important;
  }
}

/* V33 final homepage blueprint: apply the owner's final 10px visual inset without changing vertical placement or hero flow. */
@media (min-width: 981px) {
  html body[data-zmx-route="/"] main .hero-wrap .hero-inner .hero-capability-panel {
    right: max(10px, calc((100% - 1160px) / 2)) !important;
  }
}

/* V34 site-wide blueprint reconciliation: carry the frozen homepage language across the remaining routes. */

/* Preserve the accepted homepage while clearing the final automated contrast rounding edge. */
body[data-zmx-route="/"] #solutions .section-heading > p:not(.eyebrow) {
  color: #4f625c !important;
}
body[data-zmx-route="/"] #services .section-heading > p:not(.eyebrow) {
  color: #40534c !important;
}
body[data-zmx-route="/"] #services .section-heading > .eyebrow {
  color: #765819 !important;
}

/* The solutions process belongs on its dark surface; keep its cards and copy deliberately dark-mode. */
body[data-zmx-route="/solutions/"] .process-card {
  border-color: rgba(255, 255, 255, .18) !important;
  background: rgba(255, 255, 255, .09) !important;
  background-image: none !important;
  color: #fff9e9 !important;
  box-shadow: 0 18px 38px rgba(2, 25, 22, .18) !important;
}
body[data-zmx-route="/solutions/"] .process-card h3 {
  color: #fff9e9 !important;
}
body[data-zmx-route="/solutions/"] .process-card p {
  color: rgba(255, 249, 233, .82) !important;
}
body[data-zmx-route="/solutions/"] .intro-box .eyebrow {
  color: #765819 !important;
}
body[data-zmx-route="/solutions/"] .solution-card .card-kicker {
  color: #725619 !important;
}

/* Hub introductions use the same accessible ink as the homepage's warm panels. */
body[data-zmx-route="/about/"] .about-audience-section .about-section-head > p:not(.about-eyebrow),
body[data-zmx-route="/referrals/"] #who .section-head > p {
  color: #40534c !important;
}
body[data-zmx-route="/about/"] .about-audience-section .about-eyebrow.dark {
  color: #365a51 !important;
}

/* Decision panels keep their approved warm route-specific surfaces with readable, consistent typography. */
body[data-zmx-route^="/solutions/"] :is(
  .assessment-proof-section,
  .decision-section,
  .solar-decision-section,
  .commercial-decision-section
) .proof-shell {
  color: var(--zmx-ink) !important;
}
body[data-zmx-route^="/solutions/"] :is(
  .assessment-proof-section,
  .decision-section,
  .solar-decision-section,
  .commercial-decision-section
) .proof-shell :is(h2, h3, strong) {
  color: var(--zmx-ink) !important;
}
body[data-zmx-route^="/solutions/"] :is(
  .assessment-proof-section,
  .decision-section,
  .solar-decision-section,
  .commercial-decision-section
) .proof-shell :is(p, li, .proof-note) {
  color: #465a53 !important;
}
body[data-zmx-route^="/solutions/"] :is(
  .assessment-proof-section,
  .decision-section,
  .solar-decision-section,
  .commercial-decision-section
) .proof-shell :is(.decision-points span, .proof-tags span) {
  border-color: rgba(16, 37, 32, .14) !important;
  background: rgba(23, 103, 93, .08) !important;
  color: #40534c !important;
}
body[data-zmx-route^="/solutions/"] :is(
  .assessment-proof-section,
  .decision-section,
  .solar-decision-section,
  .commercial-decision-section
) .proof-shell :is(.decision-points span, .proof-tags span) strong {
  color: var(--zmx-ink) !important;
}
body[data-zmx-route="/solutions/commercial-unit-income-upgrade/"] .decision-copy .eyebrow {
  color: #765819 !important;
}
body[data-zmx-route="/solutions/rooflife/"] .decision-copy .eyebrow {
  color: #3e6068 !important;
}
body[data-zmx-route="/solutions/solar-ready-roof-power/"] .decision-copy .eyebrow {
  color: #245f78 !important;
}
body[data-zmx-route="/solutions/commercial-property-protection-plan/"] .decision-copy .eyebrow {
  color: #3c5d50 !important;
}

/* Replace decorative pseudo-image placeholders with purposeful, route-coloured commercial-site cards. */
body[data-zmx-route="/services/commercial-electrical/"] .site-types-grid .site-card-media,
body[data-zmx-route="/services/commercial-roofing/"] .site-types-grid .site-card-media {
  display: none !important;
}
body[data-zmx-route="/services/commercial-electrical/"] .site-types-grid .site-card,
body[data-zmx-route="/services/commercial-roofing/"] .site-types-grid .site-card {
  display: flex !important;
  min-height: 224px !important;
  border-color: rgba(255, 255, 255, .16) !important;
  box-shadow: 0 18px 38px rgba(2, 18, 24, .2) !important;
}
body[data-zmx-route="/services/commercial-electrical/"] .site-types-grid .site-card {
  background: linear-gradient(145deg, #123c4f 0%, #0d2f40 64%, #174f5d 100%) !important;
}
body[data-zmx-route="/services/commercial-roofing/"] .site-types-grid .site-card {
  background: linear-gradient(145deg, #173e36 0%, #0c2d2a 64%, #31584b 100%) !important;
}
body[data-zmx-route="/services/commercial-electrical/"] .site-types-grid .site-card-body,
body[data-zmx-route="/services/commercial-roofing/"] .site-types-grid .site-card-body {
  display: flex;
  min-height: 0 !important;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  padding: 28px !important;
  background: transparent !important;
}
body[data-zmx-route="/services/commercial-electrical/"] .site-types-grid .site-card h3,
body[data-zmx-route="/services/commercial-roofing/"] .site-types-grid .site-card h3 {
  color: #fff9e9 !important;
}
body[data-zmx-route="/services/commercial-electrical/"] .site-types-grid .site-card p,
body[data-zmx-route="/services/commercial-roofing/"] .site-types-grid .site-card p {
  color: rgba(255, 249, 233, .82) !important;
}

@media (max-width: 680px) {
  body[data-zmx-route="/services/commercial-electrical/"] .site-types-grid .site-card,
  body[data-zmx-route="/services/commercial-roofing/"] .site-types-grid .site-card {
    min-height: 190px !important;
  }
}

/* V35 site-wide homepage-blueprint pass: the accepted homepage remains untouched. */

/* The Solutions hub cards are warm, light surfaces. Override the earlier hero-chip rule that made their copy white. */
body[data-zmx-route="/solutions/"] .solution-card .solution-points span {
  border-color: transparent !important;
  background: transparent !important;
  background-image: none !important;
  color: #243b35 !important;
  opacity: 1 !important;
  box-shadow: none !important;
}
body[data-zmx-route="/solutions/"] .solution-card .solution-points span::before {
  background: #17675d !important;
  color: #fffdf8 !important;
  opacity: 1 !important;
}

/* Make the Services process a deliberate contrasting panel rather than cream on cream. */
body[data-zmx-route="/services/"] .process-shell {
  border-color: rgba(255, 255, 255, .16) !important;
  background:
    radial-gradient(circle at 86% 12%, rgba(215, 169, 79, .15), transparent 31%),
    linear-gradient(145deg, #0b3e36 0%, #17675d 62%, #245f57 100%) !important;
  color: #fffaf0 !important;
  box-shadow: 0 24px 58px rgba(8, 41, 35, .22) !important;
}
body[data-zmx-route="/services/"] .process-shell .section-head :is(h2, p) {
  color: #fffaf0 !important;
}
body[data-zmx-route="/services/"] .process-shell .section-head .eyebrow {
  color: #f0ce7a !important;
}
body[data-zmx-route="/services/"] .process-shell .process-card {
  border-color: rgba(92, 74, 44, .2) !important;
  background: linear-gradient(145deg, #f7f0e2 0%, #e9dfcb 100%) !important;
  color: #15342f !important;
  box-shadow: 0 13px 30px rgba(5, 31, 27, .16) !important;
}
body[data-zmx-route="/services/"] .process-shell .process-card :is(h3, p) {
  color: #29463f !important;
}

/* Keep the Resources proof pills, but hold them together as one intentional hero panel. */
body[data-zmx-route="/resources/"] .hero > .trust-strip {
  width: min(1180px, calc(100% - 40px)) !important;
  margin: 30px auto 0 !important;
  padding: 14px !important;
  gap: 10px !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  border-radius: 20px !important;
  background: rgba(7, 39, 35, .64) !important;
  backdrop-filter: blur(14px);
  box-shadow: 0 20px 48px rgba(3, 24, 21, .18) !important;
}
body[data-zmx-route="/resources/"] .hero > .trust-strip .trust-chip {
  border-color: rgba(91, 73, 44, .22) !important;
  background: linear-gradient(145deg, #f5eddd 0%, #e8ddc7 100%) !important;
  color: #15342f !important;
}

/* About uses the same left-aligned proof-to-action hierarchy as the other approved heroes. */
body[data-zmx-route="/about/"] .about-proof-cta {
  display: flex !important;
  width: 100% !important;
  max-width: 760px !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 15px !important;
}
body[data-zmx-route="/about/"] .about-proof-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 10px !important;
}
body[data-zmx-route="/about/"] .about-proof-cta .primary-btn {
  align-self: flex-start !important;
  margin-top: 0 !important;
}
body[data-zmx-route="/about/"] .zmx-global-footer__logo {
  opacity: 1 !important;
  filter: none !important;
}

/* One form language for every non-home route: teal step surface, gold proof and warm solid choices. */
body[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
) {
  padding: clamp(18px, 3vw, 26px) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 86% 8%, rgba(215, 169, 79, .12), transparent 30%),
    linear-gradient(145deg, #0b3e36 0%, #17675d 58%, #2d8175 100%) !important;
  color: #fffdf8 !important;
  box-shadow: 0 18px 38px rgba(8, 41, 35, .2) !important;
}
body[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
) > :is(h2, h3, h4, p, strong) {
  color: #fffdf8 !important;
}
body[data-zmx-route]:not([data-zmx-route="/"]) :is(
  #formShell .step-label,
  #propertyModal .property-step-label,
  #referralModal .step-label,
  #incomeStepShell .income-step-label,
  #solutionStepShell .solution-step-label,
  #electricalStepShell .electrical-step-label,
  .service-modal-card .service-step-count
) {
  color: #f0ce7a !important;
}

body[data-zmx-route]:not([data-zmx-route="/"]) :is(
  #formBackdrop #formShell,
  #formOverlay #formShell,
  #propertyModal,
  #referralModal,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(.modal-chips, .chips, .property-benefits, .service-chips, .referral-chips) > * {
  border: 1px solid rgba(94, 71, 33, .25) !important;
  background: linear-gradient(145deg, #ecd493 0%, #d4ad5a 100%) !important;
  background-image: linear-gradient(145deg, #ecd493 0%, #d4ad5a 100%) !important;
  color: #17342f !important;
  box-shadow: 0 8px 18px rgba(5, 35, 30, .13) !important;
}

body[data-zmx-route]:not([data-zmx-route="/"]) :is(
  #formBackdrop #formShell,
  #formOverlay #formShell,
  #propertyModal,
  #referralModal,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(
  .option-grid, .property-option-grid, .options, .income-options,
  .solution-options, .electrical-options, .service-options
) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 13px !important;
}
body[data-zmx-route]:not([data-zmx-route="/"]) :is(
  #formBackdrop #formShell,
  #formOverlay #formShell,
  #propertyModal,
  #referralModal,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(
  .option, .option-card, .property-option, .income-option,
  .solution-option, .electrical-option, .service-option, .options > button
) {
  width: 100% !important;
  min-height: 72px !important;
  padding: 16px 44px 16px 18px !important;
  border: 1px solid rgba(91, 73, 44, .24) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, #f5eddd 0%, #e8ddc7 100%) !important;
  background-image: linear-gradient(145deg, #f5eddd 0%, #e8ddc7 100%) !important;
  color: #15342f !important;
  text-align: left !important;
  box-shadow: 0 9px 22px rgba(18, 45, 39, .08) !important;
}
body[data-zmx-route]:not([data-zmx-route="/"]) :is(
  #formBackdrop #formShell,
  #formOverlay #formShell,
  #propertyModal,
  #referralModal,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(
  .option, .option-card, .property-option, .income-option,
  .solution-option, .electrical-option, .service-option, .options > button
)::before {
  content: none !important;
  display: none !important;
}
body[data-zmx-route]:not([data-zmx-route="/"]) :is(
  #formBackdrop #formShell,
  #formOverlay #formShell,
  #propertyModal,
  #referralModal,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(
  .option, .option-card, .property-option, .income-option,
  .solution-option, .electrical-option, .service-option, .options > button
):is(:hover, .selected, :has(input:checked)) {
  border-color: #28776c !important;
  background: linear-gradient(145deg, #e9f1e8 0%, #d7e7df 100%) !important;
  background-image: linear-gradient(145deg, #e9f1e8 0%, #d7e7df 100%) !important;
  color: #15342f !important;
  box-shadow: 0 13px 28px rgba(18, 72, 62, .13) !important;
}
body[data-zmx-route]:not([data-zmx-route="/"]) :is(
  #formBackdrop #formShell,
  #formOverlay #formShell,
  #propertyModal,
  #referralModal,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(
  .option-other, .option-secondary, .property-quiet .property-option,
  .income-not-sure, .income-option-unsure, .solution-option-unsure,
  .electrical-not-sure, .service-not-sure
) {
  display: block !important;
  width: min(390px, 64%) !important;
  min-height: 54px !important;
  margin: 12px auto 0 !important;
  padding: 14px 18px !important;
  border: 1px solid rgba(91, 73, 44, .24) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, #f5eddd 0%, #e8ddc7 100%) !important;
  background-image: linear-gradient(145deg, #f5eddd 0%, #e8ddc7 100%) !important;
  color: #15342f !important;
  text-align: center !important;
  box-shadow: 0 9px 22px rgba(18, 45, 39, .08) !important;
}

body[data-zmx-route]:not([data-zmx-route="/"]) :is(
  #formBackdrop #formShell,
  #formOverlay #formShell,
  #propertyModal,
  #referralModal,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(.form-grid, .field-grid, .fields, .income-form-grid, .solution-form-grid, .electrical-form-grid) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
body[data-zmx-route]:not([data-zmx-route="/"]) :is(
  #formBackdrop #formShell,
  #formOverlay #formShell,
  #propertyModal,
  #referralModal,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(.field.full, label.full, .income-field.full, .solution-field.full, .electrical-field.full) {
  width: 100% !important;
  grid-column: 1 / -1 !important;
}
body[data-zmx-route]:not([data-zmx-route="/"]) :is(
  #formBackdrop #formShell,
  #formOverlay #formShell,
  #propertyModal,
  #referralModal,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(.field, label, .income-field, .solution-field, .electrical-field) > :is(label, span, small):not(input):not(textarea) {
  color: #fffdf8 !important;
}
body[data-zmx-route]:not([data-zmx-route="/"]) :is(
  #formBackdrop #formShell,
  #formOverlay #formShell,
  #propertyModal,
  #referralModal,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(.field, label, .income-field, .solution-field, .electrical-field) :is(input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]), textarea, select) {
  width: 100% !important;
  border-color: rgba(91, 73, 44, .24) !important;
  background: linear-gradient(145deg, #f7f0e2 0%, #ece1cd 100%) !important;
  color: #15342f !important;
}
body[data-zmx-route]:not([data-zmx-route="/"]) :is(
  #formBackdrop #formShell,
  #formOverlay #formShell,
  #propertyModal,
  #referralModal,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(label > small, label > .optional, label > span[style]) {
  display: inline-flex !important;
  width: max-content !important;
  min-height: 22px !important;
  margin-left: 6px !important;
  padding: 3px 8px !important;
  align-items: center !important;
  border-radius: 999px !important;
  background: #f1e5ca !important;
  color: #213b36 !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
}

/* Referral consent belongs only to its real final step. */
body[data-zmx-route]:not([data-zmx-route="/"]) form[data-zmx-has-steps="true"] > .zmx-managed-consent {
  display: none !important;
}

/* Match the homepage motion rhythm across the remaining routes without animating forms or heroes. */
body.zmx-motion-ready[data-zmx-route]:not([data-zmx-route="/"]) .zmx-reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 1.85s cubic-bezier(.2, .62, .3, 1) var(--zmx-reveal-delay, 0ms),
    transform 1.85s cubic-bezier(.2, .62, .3, 1) var(--zmx-reveal-delay, 0ms) !important;
}
body.zmx-motion-ready[data-zmx-route]:not([data-zmx-route="/"]) .zmx-reveal.zmx-reveal-visible {
  opacity: 1;
  transform: translateY(0);
}
body[data-zmx-route]:not([data-zmx-route="/"]) main > section:not(.hero) article {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}
body[data-zmx-route]:not([data-zmx-route="/"]) main > section:not(.hero) article:hover {
  transform: translateY(-3px);
}

@media (max-width: 720px) {
  body[data-zmx-route="/resources/"] .hero > .trust-strip {
    width: min(100% - 28px, 1180px) !important;
    padding: 12px !important;
  }
  body[data-zmx-route="/resources/"] .hero > .trust-strip .trust-chip {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
  body[data-zmx-route]:not([data-zmx-route="/"]) :is(
    #formBackdrop #formShell,
    #formOverlay #formShell,
    #propertyModal,
    #referralModal,
    .income-modal-card,
    .solution-modal-card,
    .electrical-modal-card,
    .service-modal-card
  ) :is(
    .option-grid, .property-option-grid, .options, .income-options, .solution-options,
    .electrical-options, .service-options, .form-grid, .field-grid, .fields,
    .income-form-grid, .solution-form-grid, .electrical-form-grid
  ) {
    grid-template-columns: 1fr !important;
  }
  body[data-zmx-route]:not([data-zmx-route="/"]) :is(
    #formBackdrop #formShell,
    #formOverlay #formShell,
    #propertyModal,
    #referralModal,
    .income-modal-card,
    .solution-modal-card,
    .electrical-modal-card,
    .service-modal-card
  ) :is(
    .option-other, .option-secondary, .property-quiet .property-option,
    .income-not-sure, .income-option-unsure, .solution-option-unsure,
    .electrical-not-sure, .service-not-sure
  ) {
    width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.zmx-motion-ready[data-zmx-route]:not([data-zmx-route="/"]) .zmx-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* V36 owner correction: readable optional labels and header-safe enquiry dialogs.
   The accepted homepage is explicitly excluded from this shared correction. */
body[data-zmx-route]:not([data-zmx-route="/"]) :is(
  #formBackdrop #formShell,
  #formOverlay #formShell,
  #propertyModal,
  #referralModal,
  .income-modal-card,
  .solution-modal-card,
  .electrical-modal-card,
  .service-modal-card
) :is(
  label > small,
  label > .optional,
  label > span[style]
) {
  color: #15342f !important;
  -webkit-text-fill-color: #15342f !important;
  opacity: 1 !important;
}

body[data-zmx-route]:not([data-zmx-route="/"]) :is(
  #formBackdrop,
  #formOverlay,
  #propertyModal,
  #referralModal,
  #incomePotentialModal,
  #solutionCtaModal,
  #electricalEnquiryModal,
  #roofing-enquiry-modal,
  #renewables-enquiry-modal,
  #callback-modal,
  #callback
) {
  top: 82px !important;
  bottom: 0 !important;
  height: auto !important;
  max-height: calc(100svh - 82px) !important;
  align-items: flex-start !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scroll-padding-top: 18px !important;
  padding-top: 18px !important;
  padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
}

body[data-zmx-route]:not([data-zmx-route="/"]) :is(
  #formBackdrop > .modal,
  #formOverlay > .modal,
  #propertyModal > .modal,
  #referralModal > .modal-card,
  #incomePotentialModal > .income-modal-card,
  #solutionCtaModal > .solution-modal-card,
  #electricalEnquiryModal > .electrical-modal-card,
  #roofing-enquiry-modal > .service-modal-card,
  #renewables-enquiry-modal > .service-modal-card,
  #callback-modal > .modal-card,
  #callback > .modal-card
) {
  flex: 0 0 auto !important;
  max-height: calc(100svh - 124px) !important;
  margin: 0 auto !important;
}

body[data-zmx-route="/solutions/"] .zmx-blueprint-reassurance {
  display: grid !important;
  width: min(100%, 650px) !important;
  gap: 2px !important;
  line-height: 1.45 !important;
}
body[data-zmx-route="/solutions/"] .zmx-blueprint-reassurance > span {
  display: block !important;
}

@media (max-width: 720px) {
  body[data-zmx-route]:not([data-zmx-route="/"]) :is(
    #formBackdrop,
    #formOverlay,
    #propertyModal,
    #referralModal,
    #incomePotentialModal,
    #solutionCtaModal,
    #electricalEnquiryModal,
    #roofing-enquiry-modal,
    #renewables-enquiry-modal,
    #callback-modal,
    #callback
  ) {
    padding-inline: 12px !important;
    padding-top: 12px !important;
  }
}

/* V38 Solutions owner readability correction. All other route output remains frozen. */
body[data-zmx-route="/solutions/"] .intro-box {
  border-color: rgba(237, 213, 157, .46) !important;
  background:
    radial-gradient(circle at 9% 10%, rgba(242, 218, 160, .2), transparent 34%),
    radial-gradient(circle at 91% 89%, rgba(206, 225, 231, .2), transparent 38%),
    linear-gradient(135deg, #395965 0%, #56747e 58%, #897655 118%) !important;
  box-shadow: 0 26px 64px rgba(28, 49, 56, .18) !important;
}
body[data-zmx-route="/solutions/"] .intro-box .eyebrow {
  color: #f7d98f !important;
  -webkit-text-fill-color: #f7d98f !important;
}
body[data-zmx-route="/solutions/"] .intro-box h2 {
  color: #fffaf0 !important;
  -webkit-text-fill-color: #fffaf0 !important;
}
body[data-zmx-route="/solutions/"] .intro-box p {
  color: rgba(255, 250, 240, .96) !important;
  -webkit-text-fill-color: rgba(255, 250, 240, .96) !important;
}

body[data-zmx-route="/solutions/"] #solutions .solution-card.roof {
  border-top-color: #405e69 !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(228, 237, 239, .62), transparent 34%),
    linear-gradient(142deg, #b5c7ca 0%, #78959e 52%, #9eb3b8 100%) !important;
}
body[data-zmx-route="/solutions/"] #solutions .solution-card.roof .card-kicker {
  color: #28464f !important;
}

body[data-zmx-route="/solutions/"] #solutions .support-panel {
  background-image:
    linear-gradient(90deg, rgba(4, 54, 47, .97) 0%, rgba(5, 77, 67, .92) 55%, rgba(23, 67, 55, .72) 100%),
    url("/assets/images/01_homepage_about_consultation.webp") !important;
  background-size: cover !important;
  background-position: center 48% !important;
  background-repeat: no-repeat !important;
}
