/* Design Air - site-wide override layer (formerly the da-qa-fixes style block in the footer template part).
   Loaded at wp_footer via Code Snippet 28. Source of truth: repo clients/design-air/theme/. */

/* ===== JWC QA design fixes (global, injected via footer part) ===== */
/* 1. Services index cards: real button, equal heights, image polish */
.jwc-da-service-page .jwc-da-service-index-card{transition:transform .18s ease,box-shadow .18s ease}
.jwc-da-service-page .jwc-da-service-index-card:hover{transform:translateY(-4px);box-shadow:0 26px 54px rgba(14,36,70,.16)}
.jwc-da-service-page .jwc-da-service-index-card a{grid-template-rows:auto 1fr auto}
.jwc-da-service-page .jwc-da-service-index-card img{aspect-ratio:16/10;transition:transform .35s ease}
.jwc-da-service-page .jwc-da-service-index-card:hover img{transform:scale(1.045)}
.jwc-da-service-page .jwc-da-service-index-card span{padding:20px 22px 6px;font-size:19px}
.jwc-da-service-page .jwc-da-service-index-card em{justify-self:start;margin:8px 22px 22px;padding:.62rem 1.15rem;background:#0e2446;color:#fff;border-radius:10px;font-weight:700;font-size:.82rem;letter-spacing:.01em}
.jwc-da-service-page .jwc-da-service-index-card em::after{content:" \2192";display:inline-block;margin-left:.35rem;transition:transform .18s ease}
.jwc-da-service-page .jwc-da-service-index-card:hover em{background:#2956a9}
.jwc-da-service-page .jwc-da-service-index-card:hover em::after{transform:translateX(3px)}

/* 2. Card hubs (Products, Case Studies): "Read More" text link -> button pinned to bottom */
.dal-pc-grid .dal-pcard-b a{display:inline-flex!important;align-items:center;gap:.4rem;align-self:flex-start;margin-top:auto;background:#0e2446;color:#fff!important;border:0!important;border-radius:10px;padding:.62rem 1.15rem;font-weight:700;font-size:.82rem;text-decoration:none!important;transition:background .18s ease}
.dal-pc-grid .dal-pcard-b a::after{content:"\2192";transition:transform .18s ease}
.dal-pc-grid .dal-pcard:hover .dal-pcard-b a{background:#2956a9}
.dal-pc-grid .dal-pcard:hover .dal-pcard-b a::after{transform:translateX(3px)}

/* 2b. Multi-column spec lists collapse to one column on small screens */
@media (max-width:640px){.dal-spec-list[style*="columns"]{columns:1 !important}}

/* 3. WooCommerce product thumbnails: consistent white-framed scale (fixes tight filter crops) */
li.product img.attachment-woocommerce_thumbnail,
li.product img.wp-post-image,
.wc-block-components-product-image img,
.wp-block-woocommerce-product-image img,
ul.products li.product a img{
  background:#fff!important;object-fit:contain!important;padding:16px!important;border-radius:10px;aspect-ratio:1/1;width:100%!important;height:auto!important;box-sizing:border-box
}

/* 4. Service index card image: full-bleed + flush rounded top (was ~12px inset + square corners). Also kill the WP 24px sibling margin so card 1 (first-child) doesn't sit higher/taller than the rest of its row. */
.jwc-da-service-page .jwc-da-service-index-card{padding-left:0!important;padding-right:0!important;margin-top:0!important;margin-bottom:0!important}
.jwc-da-service-page .jwc-da-service-index-card img{width:100%;display:block;margin:0}

/* 5. Homepage content images rounded to match hero/atlas sections */
.jwc-da-prec-svc-media img,.jwc-da-prec-why-media img{border-radius:12px}
.jwc-da-prec-ind-tile{border-radius:12px;overflow:hidden}

/* 6. Service-detail bands go full width: zero the <main> side padding only on pages that contain the svc wrapper (inner shell keeps max-width:1200 + band padding) */
.jwc-da-svc.jwc-da-svc-page{padding-left:0!important;padding-right:0!important}
main:has(> .entry-content > .jwc-da-svc-page),main:has(.jwc-da-svc-page){padding-left:0!important;padding-right:0!important}

/* 7. WooCommerce titles sane size (were 72px) */
.single-product h1.wp-block-post-title{font-size:clamp(1.7rem,4.2vw,2.5rem)!important;line-height:1.15!important}
.post-type-archive-product h1.wp-block-query-title,.woocommerce-shop h1.wp-block-query-title{font-size:clamp(1.9rem,4.6vw,2.8rem)!important;line-height:1.12!important}

/* 8. Services proof strip: eyebrow was jammed into the label ("24/7Emergency support") because span+strong render inline. Stack them + center the icon; equalise card heights so the row is even. */
.jwc-da-service-page .jwc-da-proof-grid{align-items:stretch}
.jwc-da-service-page .jwc-da-proof-item{align-items:center;height:100%;margin-top:0!important;margin-bottom:0!important}
.jwc-da-service-page .jwc-da-proof-item p{display:flex;flex-direction:column;gap:1px;margin:0;line-height:1.25}
.jwc-da-service-page .jwc-da-proof-item span{margin-bottom:1px}

/* 9. Footer contact: the form column carried the WP 24px sibling margin, sitting lower than the info panel. Align both. */
.da-contact__grid > *{margin-top:0!important}

/* 10. Homepage icons + card links (2026-07-09 QA) */
.jwc-da-prec-services .jwc-da-prec-svc-icon{margin-bottom:24px!important}
.jwc-da-prec-industries .jwc-da-prec-ind-icon{margin-bottom:22px!important}
/* 11. Recent-work install tiles: whole card links to case studies */
.jwc-da-prec-ind-tile .da-cs-link{color:inherit;text-decoration:none;display:block}
.jwc-da-prec-ind-tile .da-cs-link::after{content:"";position:absolute;inset:0;z-index:2}
/* 12. Sector tiles: whole card clickable through to its industry page */
.jwc-da-prec-industries .jwc-da-prec-ind-tile{cursor:pointer}
.jwc-da-prec-industries .jwc-da-prec-ind-tile h3 a::after{content:"";position:absolute;inset:0;z-index:2}

/* 13. Mobile overlay menu — match live: left-aligned, collapsed accordion, no desktop flyout cards (2026-07-09) */
.is-menu-open.wp-block-navigation__responsive-container{box-sizing:border-box !important}
.is-menu-open .wp-block-navigation__responsive-container-content{align-items:stretch !important}
.is-menu-open .wp-block-navigation__container{align-items:stretch !important;gap:0 !important;width:100%}
.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item{width:100%;border-bottom:1px solid rgba(14,36,70,.08)}
.is-menu-open .wp-block-navigation-item{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;align-items:center !important;justify-content:flex-start !important;width:100% !important;margin:0 !important;text-align:left !important}
.is-menu-open .wp-block-navigation-item__content{justify-content:flex-start !important;text-align:left !important;padding:16px 6px !important;font-size:1.15rem !important;font-weight:700 !important;color:#0e2446 !important;flex:0 1 auto !important;margin:0 !important;width:auto !important}
.is-menu-open .wp-block-navigation-submenu{display:flex !important;flex-wrap:wrap !important;align-items:center !important}
.is-menu-open .wp-block-navigation__submenu-icon{display:inline-flex !important;align-items:center;justify-content:center;margin-left:auto !important;padding:12px 6px !important;width:auto !important;height:auto !important;color:#0e2446;transition:transform .2s ease;background:transparent !important;border:0 !important;cursor:pointer}
.is-menu-open .wp-block-navigation__submenu-icon svg{width:18px !important;height:18px !important;fill:#0e2446}
.is-menu-open .da-sub-open > .wp-block-navigation__submenu-icon{transform:rotate(180deg)}
.is-menu-open .wp-block-navigation__submenu-container{position:static !important;display:none !important;box-shadow:none !important;border:0 !important;background:transparent !important;min-width:0 !important;width:100% !important;padding:0 0 6px 14px !important;opacity:1 !important;transform:none !important}
.is-menu-open .da-sub-open > .wp-block-navigation__submenu-container{display:flex !important;flex-direction:column !important}
.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item{border:0 !important;width:100%}
.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{font-size:1rem !important;font-weight:600 !important;color:#1a3a6e !important;padding:11px 6px !important}
.is-menu-open .wp-block-navigation-item__content:focus:not(:focus-visible){outline:none !important;box-shadow:none !important}


/* 14. Contact "Get in touch" grid fluid on mobile — fixed 352px column overflowed narrow phones (clipped by overflow:hidden) (2026-07-09) */
@media (max-width:781px){.da-contact .da-contact__grid{grid-template-columns:1fr !important}.da-contact .da-contact__info,.da-contact .da-contact__form{width:auto !important;max-width:100% !important;min-width:0 !important}}

/* 15. Footer link sections 2-up on mobile (was one long column) — brand full width, menu columns 50% (2026-07-09) */
@media (max-width:781px){.design-air-footer__top > .wp-block-columns{gap:20px 18px !important;align-items:flex-start !important}.design-air-footer__top .wp-block-columns > .wp-block-column.design-air-footer__brand{flex:0 0 100% !important;width:100% !important}.design-air-footer__top .wp-block-columns > .wp-block-column.design-air-footer__menu{flex:0 0 calc(50% - 9px) !important;width:calc(50% - 9px) !important;min-width:0 !important}}

/* 16. Homepage type scale — centralise scattered 11-16px sizes into 3 UI steps: 12 / 14 / 16 (2026-07-09) */
:root{--da-fs-label:12px;--da-fs-body:14px;--da-fs-lead:16px}
.jwc-da-prec-label,.jwc-da-prec-stat-label,.jwc-da-prec-hero-badge,.jwc-da-prec-why-num{font-size:var(--da-fs-label) !important}
.jwc-da-prec-svc-body p,.jwc-da-prec-link a,.jwc-da-prec-trust-item,.jwc-da-prec-industries .jwc-da-prec-ind-tile p,.jwc-da-prec-why-text p,.jwc-da-prec-btn a,.jwc-da-prec-btn .wp-block-button__link{font-size:var(--da-fs-body) !important}
.jwc-da-prec-hero-sub,.jwc-da-prec-sub,.jwc-da-prec-industries .jwc-da-prec-ind-tile h3,.jwc-da-prec-why-text h3{font-size:var(--da-fs-lead) !important}
.jwc-da-prec-cta-sub{font-size:var(--da-fs-lead) !important}
.jwc-da-prec-chip-text > *:first-child{font-size:var(--da-fs-body) !important}
.jwc-da-prec-chip-text > *:last-child{font-size:var(--da-fs-label) !important}

/* 17. Interior type scale — snap dal-/jwc-da-(non-prec)/da- body-range sizes to tokens 12/14/16. Responsive clamp() + >=18px headings untouched. (2026-07-09) */
.jwc-da-homepage-v3 .jwc-da-kicker, .jwc-da-product-page .jwc-da-kicker{font-size:var(--da-fs-label) !important}
.jwc-da-homepage-v3 p, .jwc-da-product-page p, .jwc-da-homepage-v3 li, .jwc-da-product-page li{font-size:var(--da-fs-lead) !important}
.jwc-da-homepage-v3 .wp-block-button__link, .jwc-da-product-page .wp-block-button__link{font-size:var(--da-fs-lead) !important}
.jwc-da-card-meta{font-size:var(--da-fs-label) !important}
.jwc-da-homepage-v2 .jwc-da-pill, .jwc-da-homepage-v2 .jwc-da-kicker{font-size:var(--da-fs-label) !important}
.jwc-da-homepage-v2 .jwc-da-home-btn .wp-block-button__link{font-size:var(--da-fs-body) !important}
.jwc-da-homepage-v2 .jwc-da-proof-icon{font-size:var(--da-fs-label) !important}
.jwc-da-homepage-v2 .jwc-da-proof-card h3{font-size:var(--da-fs-body) !important}
.jwc-da-homepage-v2 .jwc-da-proof-card p:not(.jwc-da-proof-icon){font-size:var(--da-fs-body) !important}
.jwc-da-homepage-v2 .jwc-da-section-heading p:not(.jwc-da-kicker), .jwc-da-homepage-v2 .jwc-da-system-copy p, .jwc-da-homepage-v2 .jwc-da-atlas-copy p, .jwc-da-homepage-v2 .jwc-da-home-cta p{font-size:var(--da-fs-lead) !important}
.jwc-da-homepage-v2 .jwc-da-card-num{font-size:var(--da-fs-body) !important}
.jwc-da-homepage-v2 .jwc-da-service-card p, .jwc-da-homepage-v2 .jwc-da-reason-card p, .jwc-da-homepage-v2 .jwc-da-industry-tile p{font-size:var(--da-fs-body) !important}
.jwc-da-homepage-v2 .jwc-da-mini-metrics p{font-size:var(--da-fs-body) !important}
.page-id-19294 .jwc-da-homepage .jwc-da-badge{font-size:var(--da-fs-label) !important}
.page-id-19294 .jwc-da-homepage .jwc-da-btn .wp-block-button__link, .page-id-19294 .jwc-da-homepage .jwc-da-btn-outline .wp-block-button__link{font-size:var(--da-fs-body) !important}
.page-id-19294 .jwc-da-homepage .jwc-da-stat-label{font-size:var(--da-fs-label) !important}
.page-id-19294 .jwc-da-homepage .jwc-da-trust-item{font-size:var(--da-fs-body) !important}
.page-id-19294 .jwc-da-homepage .jwc-da-section-label{font-size:var(--da-fs-label) !important}
.page-id-19294 .jwc-da-homepage .jwc-da-section-sub{font-size:var(--da-fs-lead) !important}
.page-id-19294 .jwc-da-homepage .jwc-da-service-copy{font-size:var(--da-fs-body) !important}
.page-id-19294 .jwc-da-homepage .jwc-da-service-link{font-size:var(--da-fs-body) !important}
.page-id-19294 .jwc-da-homepage .jwc-da-why-item::before{font-size:var(--da-fs-body) !important}
.page-id-19294 .jwc-da-homepage .jwc-da-why-item p{font-size:var(--da-fs-body) !important}
.page-id-19294 .jwc-da-homepage .jwc-da-atlas-copy{font-size:var(--da-fs-body) !important}
.page-id-19294 .jwc-da-homepage .jwc-da-industry-card h3{font-size:var(--da-fs-lead) !important}
.page-id-19294 .jwc-da-homepage .jwc-da-industry-card p{font-size:var(--da-fs-body) !important}
.jwc-da-service-page .jwc-da-badge, .jwc-da-service-page .jwc-da-kicker{font-size:var(--da-fs-label) !important}
.jwc-da-service-page .jwc-da-hero-copy{font-size:var(--da-fs-lead) !important}
.jwc-da-service-page .jwc-da-btn, .jwc-da-service-page .jwc-da-btn-outline{font-size:var(--da-fs-body) !important}
.jwc-da-service-page .jwc-da-proof-item span{font-size:var(--da-fs-label) !important}
.jwc-da-service-page .jwc-da-proof-item strong{font-size:var(--da-fs-body) !important}
.jwc-da-service-page .jwc-da-trust-item strong{font-size:var(--da-fs-body) !important}
.jwc-da-service-page .jwc-da-trust-item span{font-size:var(--da-fs-label) !important}
.jwc-da-service-page .jwc-da-section-label{font-size:var(--da-fs-label) !important}
.jwc-da-service-page .jwc-da-section-copy p, .jwc-da-service-page .jwc-da-section-copy li, .jwc-da-service-page .jwc-da-info-card p, .jwc-da-service-page .jwc-da-info-card li{font-size:var(--da-fs-lead) !important}
.jwc-da-service-page .jwc-da-service-index-card em{font-size:var(--da-fs-body) !important}
.jwc-da-service-page .jwc-da-side-card p{font-size:var(--da-fs-body) !important}
.jwc-da-service-page .jwc-da-cta p{font-size:var(--da-fs-lead) !important}
.jwc-da-service-page .jwc-da-scope-card span, .jwc-da-service-page .jwc-da-cost-factors span, .jwc-da-service-page .jwc-da-maintenance-band aside span{font-size:var(--da-fs-label) !important}
.jwc-da-service-page .jwc-da-scope-card li{font-size:var(--da-fs-body) !important}
.jwc-da-service-page .jwc-da-blueprint-copy > p:not(.jwc-da-section-label), .jwc-da-service-page .jwc-da-maintenance-band .jwc-da-section-copy p{font-size:var(--da-fs-lead) !important}
.jwc-da-service-page .jwc-da-blueprint-grid span{font-size:var(--da-fs-label) !important}
.jwc-da-service-page .jwc-da-blueprint-grid strong{font-size:var(--da-fs-lead) !important}
.jwc-da-service-page .jwc-da-blueprint-grid p{font-size:var(--da-fs-body) !important}
.jwc-da-service-page .jwc-da-material-grid p{font-size:var(--da-fs-body) !important}
.jwc-da-service-page .jwc-da-cost-factors strong{font-size:var(--da-fs-body) !important}
.jwc-da-service-page .jwc-da-hero-copy, .jwc-da-service-page .jwc-da-hero-copy p{font-size:var(--da-fs-lead) !important}
.jwc-da-service-page .jwc-da-btn .wp-block-button__link, .jwc-da-service-page .jwc-da-btn-outline .wp-block-button__link{font-size:var(--da-fs-body) !important}
.jwc-da-service-page .jwc-da-faq-title::before{font-size:var(--da-fs-label) !important}
.jwc-da-pipework-v2 .jwc-da-final-cta p{font-size:var(--da-fs-lead) !important}
.jwc-da-pipework-v2 .jwc-da-faq-inner details p{font-size:var(--da-fs-body) !important}
.jwc-da-pl-label{font-size:var(--da-fs-label) !important}
.jwc-da-pl-hero-split .jwc-da-pl-badge{font-size:var(--da-fs-label) !important}
.jwc-da-pl-stats .lbl{font-size:var(--da-fs-body) !important}
.jwc-da-pl-proof span{font-size:var(--da-fs-label) !important}
.jwc-da-pl-proof strong{font-size:var(--da-fs-body) !important}
.jwc-da-pl-stat-pull p{font-size:var(--da-fs-lead) !important}
.jwc-da-pl-row-bullets ul.jwc-da-pl-ticks li{font-size:var(--da-fs-lead) !important}
.jwc-da-pl-row-bullets ul.jwc-da-pl-ticks li span{font-size:var(--da-fs-body) !important}
.jwc-da-pl-row-offset .jwc-da-pl-quote-author{font-size:var(--da-fs-body) !important}
.jwc-da-pl-timeline .jwc-da-pl-step h3{font-size:var(--da-fs-lead) !important}
.jwc-da-pl-timeline .jwc-da-pl-step p{font-size:var(--da-fs-lead) !important}
.jwc-da-pl-plans .jwc-da-pl-plan.featured .tag{font-size:var(--da-fs-label) !important}
.jwc-da-pl-plans .jwc-da-pl-plan ul{font-size:var(--da-fs-body) !important}
.jwc-da-pl-compare thead th{font-size:var(--da-fs-body) !important}
.jwc-da-pl-industries .jwc-da-pl-ind-card p{font-size:var(--da-fs-lead) !important}
.jwc-da-pl-ind-v2 .card p{font-size:var(--da-fs-lead) !important}
.jwc-da-pl-ind-v2 .card .cta{font-size:var(--da-fs-body) !important}
.jwc-da-pl-reviews .stars{font-size:var(--da-fs-lead) !important}
.jwc-da-pl-reviews .quote{font-size:var(--da-fs-lead) !important}
.jwc-da-pl-reviews .author{font-size:var(--da-fs-body) !important}
.jwc-da-pl-faq summary{font-size:var(--da-fs-lead) !important}
.jwc-da-homepage-v3 .jwc-da-home3-lead{font-size:var(--da-fs-lead) !important}
.jwc-da-homepage-v3 .jwc-da-stat-label, .jwc-da-compressors-v1 .jwc-da-stat-label{font-size:var(--da-fs-label) !important}
.jwc-da-homepage-v3 .jwc-da-trust-tile strong{font-size:var(--da-fs-label) !important}
.jwc-da-homepage-v3 .jwc-da-trust-tile span{font-size:var(--da-fs-label) !important}
.jwc-da-homepage-v3 .jwc-da-text-link{font-size:var(--da-fs-body) !important}
.jwc-da-homepage-v3 .jwc-da-compact-grid h3{font-size:var(--da-fs-lead) !important}
.jwc-da-homepage-v3 .jwc-da-compact-grid p:not(.jwc-da-card-meta){font-size:var(--da-fs-body) !important}
.jwc-da-homepage-v3 .jwc-da-card-meta{font-size:var(--da-fs-label) !important}
.jwc-da-homepage-v3 .jwc-da-reason-num{font-size:var(--da-fs-label) !important}
.jwc-da-homepage-v3 .jwc-da-reason-row h3{font-size:var(--da-fs-lead) !important}
.jwc-da-homepage-v3 .jwc-da-reason-row p:not(.jwc-da-reason-num){font-size:var(--da-fs-body) !important}
.jwc-da-homepage-v3 .jwc-da-industry-tile-v3 h3{font-size:var(--da-fs-lead) !important}
.jwc-da-homepage-v3 .jwc-da-industry-tile-v3 p{font-size:var(--da-fs-lead) !important}
.jwc-da-compressors-v1 .jwc-da-comp-why-list .jwc-da-card-meta{font-size:var(--da-fs-body) !important}
.jwc-da-compressors-v1 .jwc-da-comp-why-list h3{font-size:var(--da-fs-lead) !important}
.jwc-da-compressors-v1 .jwc-da-comp-why-list p:not(.jwc-da-card-meta){font-size:var(--da-fs-body) !important}
.jwc-da-compressors-v1 .jwc-da-range-card h3{font-size:var(--da-fs-lead) !important}
.jwc-da-compressors-v1 .jwc-da-range-card p:not(.jwc-da-card-meta):not(.jwc-da-text-link){font-size:var(--da-fs-body) !important}
.jwc-da-compressors-v1 .jwc-da-range-card summary{font-size:var(--da-fs-body) !important}
.jwc-da-compressors-v1 .jwc-da-range-card .jwc-da-spec-list li{font-size:var(--da-fs-body) !important}
.jwc-da-compressors-v1 .jwc-da-accordion summary{font-size:var(--da-fs-lead) !important}
.jwc-da-compressors-v1 .jwc-da-accordion details p, .jwc-da-compressors-v1 .jwc-da-accordion details li{font-size:var(--da-fs-body) !important}
.jwc-da-pl-cta-form .form input,.jwc-da-pl-cta-form .form textarea{font-size:var(--da-fs-body) !important}
.jwc-da-pl-cta-form .form button{font-size:var(--da-fs-lead) !important}
.jwc-da-pl-cta-strip .copy span{font-size:var(--da-fs-body) !important}
.jwc-da-pl-cta-card .copy p{font-size:var(--da-fs-lead) !important}
.jwc-da-pl-cta-heavy .proof span{font-size:var(--da-fs-body) !important}
/* ═══════════════════════════════════════════════════════════════════ PATTERN LIBRARY - button override WP renders the visual button as `<a class="wp-block-button__link">` inside a `<div class="wp-block-button">` wrapper. My .jwc-da-pl-btn class was on the wrapper, so theme defaults (border-radius:999px) were bleeding through. These rules target the anchor directly and establish a consistent industrial B2B rectangular button. ═══════════════════════════════════════════════════════════════════ */ .jwc-da-pl-btn .wp-block-button__link, .jwc-da-pl-btn-outline .wp-block-button__link{font-size:var(--da-fs-body) !important}
.jwc-da-pl-timeline .jwc-da-pl-step p:not(.jwc-da-pl-step-num){font-size:var(--da-fs-lead) !important}
.jwc-da-pipework-v4 .jwc-da-pl-ind-v2 .card .icon{font-size:var(--da-fs-label) !important}
.jwc-da-pipework-v4 .jwc-da-pl-ind-v2 .card h3{font-size:var(--da-fs-lead) !important}
.jwc-da-pipework-v4 .jwc-da-pl-ind-v2 .card p:not(.icon){font-size:var(--da-fs-body) !important}
.jwc-da-homepage-v3 .jwc-da-home3-hero--dark .jwc-da-home3-lead{font-size:var(--da-fs-lead) !important}
.jwc-da-homepage-v3 .jwc-da-home3-hero--dark .wp-block-button__link{font-size:var(--da-fs-body) !important}
.jwc-da-homepage-v3 .jwc-da-stat-label{font-size:var(--da-fs-label) !important}
.jwc-da-homepage-v3 .jwc-da-trust-tile strong{font-size:var(--da-fs-body) !important}
.jwc-da-homepage-v3 .jwc-da-solution-num{font-size:var(--da-fs-body) !important}
.jwc-da-homepage-v3 .jwc-da-solution-copy h3{font-size:var(--da-fs-lead) !important}
.jwc-da-homepage-v3 .jwc-da-solution-copy p:not(.jwc-da-solution-num){font-size:var(--da-fs-body) !important}
.jwc-da-homepage-v3 .jwc-da-home3-install p, .jwc-da-homepage-v3 .jwc-da-home3-why p, .jwc-da-homepage-v3 .jwc-da-home3-contact p{font-size:var(--da-fs-lead) !important}
.jwc-da-homepage-v3 .jwc-da-home3-install .jwc-da-tick-list li{font-size:var(--da-fs-lead) !important}
.jwc-da-homepage-v3 .jwc-da-reason-row p:not(.jwc-da-reason-num){font-size:var(--da-fs-lead) !important}
.jwc-da-compressors-v1 .jwc-da-comp-range .jwc-da-comp-section-head p:not(.jwc-da-kicker){font-size:var(--da-fs-lead) !important}
.jwc-da-compressors-v1 .jwc-da-comp-range .jwc-da-range-card > .jwc-da-card-meta{font-size:var(--da-fs-label) !important}
.jwc-da-compressors-v1 .jwc-da-comp-range .jwc-da-range-card h3{font-size:var(--da-fs-body) !important}
.jwc-da-compressors-v1 .jwc-da-comp-range .jwc-da-range-card p:not(.jwc-da-card-meta):not(.jwc-da-text-link){font-size:var(--da-fs-body) !important}
.jwc-da-compressors-v1 .jwc-da-comp-range .jwc-da-range-card summary{font-size:var(--da-fs-body) !important}
.jwc-da-compressors-v1 .jwc-da-comp-range .jwc-da-range-card .jwc-da-spec-list li{font-size:var(--da-fs-label) !important}
/* shared section heads + labels */ .jwc-da-prec .jwc-da-prec-label{font-size:var(--da-fs-label) !important}
.jwc-da-prec .jwc-da-prec-sub{font-size:var(--da-fs-body) !important}
.jwc-da-prec .jwc-da-prec-btn .wp-block-button__link{font-size:var(--da-fs-body) !important}
.jwc-da-prec-badge{font-size:var(--da-fs-label) !important}
.jwc-da-prec-hero-sub{font-size:var(--da-fs-lead) !important}
.jwc-da-prec-stat-label{font-size:var(--da-fs-label) !important}
.jwc-da-prec-trust-item{font-size:var(--da-fs-body) !important}
.jwc-da-prec-svc-body p{font-size:var(--da-fs-body) !important}
.jwc-da-prec-link a{font-size:var(--da-fs-body) !important}
.jwc-da-prec-why-num{font-size:var(--da-fs-body) !important}
.jwc-da-prec-why-text h3{font-size:var(--da-fs-lead) !important}
.jwc-da-prec-why-text p{font-size:var(--da-fs-body) !important}
.jwc-da-prec-atlas-copy p{font-size:var(--da-fs-body) !important}
.jwc-da-prec-ind-tile h3{font-size:var(--da-fs-body) !important}
.jwc-da-prec-ind-tile p{font-size:var(--da-fs-label) !important}
.jwc-da-prec-cta-sub{font-size:var(--da-fs-body) !important}
.jwc-da-prec-chip-text strong{font-size:var(--da-fs-body) !important}
.jwc-da-prec-chip-text span{font-size:var(--da-fs-label) !important}
.jwc-da-svc .jwc-da-svc-label{font-size:var(--da-fs-label) !important}
.jwc-da-svc .jwc-da-svc-sub{font-size:var(--da-fs-body) !important}
.jwc-da-svc .jwc-da-svc-btn .wp-block-button__link{font-size:var(--da-fs-body) !important}
.jwc-da-svc-badge{font-size:var(--da-fs-label) !important}
.jwc-da-svc-hero-sub{font-size:var(--da-fs-lead) !important}
.jwc-da-svc-tick{font-size:var(--da-fs-body) !important}
.jwc-da-svc-quote > p{font-size:var(--da-fs-body) !important}
.jwc-da-svc-quote label{font-size:var(--da-fs-label) !important}
.jwc-da-svc-quote input,.jwc-da-svc-quote select{font-size:var(--da-fs-body) !important}
.jwc-da-svc-quote .jwc-da-svc-fine{font-size:var(--da-fs-label) !important}
.jwc-da-svc-stat-label{font-size:var(--da-fs-label) !important}
.jwc-da-svc-eq h4{font-size:var(--da-fs-body) !important}
.jwc-da-svc-eq p{font-size:var(--da-fs-label) !important}
.jwc-da-svc-proc-n{font-size:var(--da-fs-body) !important}
.jwc-da-svc-proc h4{font-size:var(--da-fs-lead) !important}
.jwc-da-svc-proc p{font-size:var(--da-fs-body) !important}
.jwc-da-svc-hint{font-size:var(--da-fs-label) !important}
.jwc-da-svc-ctable thead th{font-size:var(--da-fs-body) !important}
.jwc-da-svc-ctable thead th:first-child{font-size:var(--da-fs-body) !important}
.jwc-da-svc-ctable thead th.feat .tag{font-size:var(--da-fs-label) !important}
.jwc-da-svc-ctable td{font-size:var(--da-fs-body) !important}
.jwc-da-svc-ap-n{font-size:var(--da-fs-body) !important}
.jwc-da-svc-ap h4{font-size:var(--da-fs-lead) !important}
.jwc-da-svc-ap p{font-size:var(--da-fs-body) !important}
.jwc-da-svc-cv{font-size:var(--da-fs-body) !important}
.jwc-da-svc-faq .wp-block-details summary{font-size:var(--da-fs-body) !important}
.jwc-da-svc-faq .wp-block-details p{font-size:var(--da-fs-body) !important}
.jwc-da-svc-faq .wp-block-details ul{font-size:var(--da-fs-body) !important}
.jwc-da-svc-row-body p{font-size:var(--da-fs-body) !important}
.jwc-da-svc-pull span{font-size:var(--da-fs-body) !important}
.jwc-da-svc-ticklist li{font-size:var(--da-fs-body) !important}
.jwc-da-svc-cta-sub{font-size:var(--da-fs-body) !important}
.jwc-da-svc-ctable{font-size:var(--da-fs-label) !important}
.jwc-da-pl-reviews .review .quote{font-size:var(--da-fs-lead) !important}
.dal-tag b{font-size:var(--da-fs-label) !important}
.dal-tag span{font-size:var(--da-fs-lead) !important}
.dal-eyebrow{font-size:var(--da-fs-label) !important}
.dal-btn{font-size:var(--da-fs-body) !important}
.dal-btn-ghost{font-size:var(--da-fs-body) !important}
.dal-acc summary{font-size:var(--da-fs-lead) !important}
.dal-pcard-b p{font-size:var(--da-fs-body) !important}
.dal-chip{font-size:var(--da-fs-label) !important}
.dal-pcard-b a{font-size:var(--da-fs-body) !important}
.dal-spot-specs span{font-size:var(--da-fs-body) !important}
.dal-spec-tbl{font-size:var(--da-fs-body) !important}
.dal-cmp-tbl th,.dal-cmp-tbl td{font-size:var(--da-fs-body) !important}
.dal-cmp-tbl thead th{font-size:var(--da-fs-body) !important}
.dal-ovr-stage .badge span{font-size:var(--da-fs-label) !important}
.dal-spx-grid span{font-size:var(--da-fs-body) !important}
.dal-tabs-nav label{font-size:var(--da-fs-body) !important}
.dal-auth-logo span{font-size:var(--da-fs-label) !important}
.dal-auth-points h4{font-size:var(--da-fs-lead) !important}
.dal-auth-points p{font-size:var(--da-fs-body) !important}
.dal-phero .lead{font-size:var(--da-fs-lead) !important}
.dal-rescard h3{font-size:var(--da-fs-lead) !important}
.dal-rescard .meta{font-size:var(--da-fs-body) !important}
.dal-rescard a{font-size:var(--da-fs-body) !important}
.dal-featcard p{font-size:var(--da-fs-body) !important}
.dal-panel-box li{font-size:var(--da-fs-body) !important}
.dal-pcard details summary{font-size:var(--da-fs-body) !important}
.dal-pcard .dal-spec-list li{font-size:var(--da-fs-body) !important}
.dal-pcard .dal-text-link{font-size:var(--da-fs-body) !important}
.dal-ovr-stage .badge .s,.dal-phero .stage .badge .s{font-size:var(--da-fs-label) !important}
.dal-spx .dal-spx-lbl{font-size:var(--da-fs-body) !important}
.dal .dal-btn .wp-block-button__link, .dal .dal-btn-ghost .wp-block-button__link{font-size:var(--da-fs-lead) !important}
.dal-toc__summary{font-size:var(--da-fs-lead) !important}
.dal-toc__item a{font-size:var(--da-fs-body) !important}
.jwc-da-contact .dal-ci-k{font-size:var(--da-fs-label) !important}
.jwc-da-contact .dal-ci-v{font-size:var(--da-fs-lead) !important}
.jwc-da-contact .wpforms-form .wpforms-field-label{font-size:var(--da-fs-body) !important}
.jwc-da-contact .wpforms-form input[type=text], .jwc-da-contact .wpforms-form input[type=email], .jwc-da-contact .wpforms-form input[type=tel], .jwc-da-contact .wpforms-form input[type=url], .jwc-da-contact .wpforms-form select, .jwc-da-contact .wpforms-form textarea{font-size:var(--da-fs-body) !important}
.jwc-da-contact .wpforms-form .wpforms-submit{font-size:var(--da-fs-lead) !important}
/* contact form submit button — match dal-btn (JW 2026-06-03) */ .dal-contact .wpforms-submit, .jwc-da-contact .wpforms-submit, .dal .wpforms-submit-container button, .dal .wpforms-submit{font-size:var(--da-fs-lead) !important}
/* footer Where-to-find contact block (da-contact__*, not in design-air.css) */
.da-contact__eyebrow{font-size:var(--da-fs-label) !important}
.da-contact .tag,.da-contact__tag{font-size:var(--da-fs-body) !important}
.da-contact .lbl{font-size:var(--da-fs-label) !important}
.da-contact .val{font-size:var(--da-fs-lead) !important}
.da-contact .val a,.da-contact__info a{font-size:var(--da-fs-lead) !important}
.da-contact__dir{font-size:var(--da-fs-body) !important}
.da-contact__form-intro{font-size:var(--da-fs-body) !important}

/* 18. Button text uppercase site-wide (2026-07-09) */
.wp-block-button__link,.dal-btn,a.dal-btn,.jwc-da-btn,.jwc-da-btn-outline,.jwc-da-prec-btn a,.da-contact__dir{text-transform:uppercase !important;letter-spacing:.03em !important}

/* 19. Homepage full-bleed — kill the ~11px side padding on .jwc-da-prec-home wrapper that inset every full-width section (2026-07-09) */
.jwc-da-prec-home{padding-left:0 !important;padding-right:0 !important}

/* 20. Service package cards (compressor-service Service/Energy/Compliance) (2026-07-09) */
.jwc-da-svc-pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:6px}
@media(max-width:900px){.jwc-da-svc-pkgs{grid-template-columns:1fr}}
.jwc-da-svc-pkg{background:#fff;border:1px solid rgba(14,36,70,.12);border-radius:14px;padding:26px 24px;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(14,36,70,.05)}
.jwc-da-svc-pkg-tag{font-size:var(--da-fs-label) !important;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#2956a9;margin:0 0 8px}
.jwc-da-svc-pkg h3{font-size:20px !important;font-weight:700;color:#0e2446;margin:0 0 8px;line-height:1.2}
.jwc-da-svc-pkg-desc{font-size:var(--da-fs-body) !important;color:#526278;margin:0 0 16px;line-height:1.5}
.jwc-da-svc-pkg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.jwc-da-svc-pkg-list li{position:relative;padding-left:26px;font-size:var(--da-fs-body) !important;color:#0e2446;line-height:1.45}
.jwc-da-svc-pkg-list li::before{content:"\2713";position:absolute;left:0;top:0;color:#2956a9;font-weight:800}


/* 21. Service hero photo card (Murray feedback 2026-07-20; sized to a banner 2026-07-22 so the copy column balances the quote form and the section flows). */
.jwc-da-svc-hero-photo{margin:26px 0 0 !important}
.jwc-da-svc-hero-photo img{border-radius:14px;width:100%;height:300px;object-fit:cover;object-position:center;display:block;box-shadow:0 18px 40px rgba(0,0,0,.35)}
@media(max-width:820px){.jwc-da-svc-hero-photo img{height:240px}}


/* 22. Centre under-filled card grids - 2 cards in a 3-col grid sat left with a dead column (Murray feedback 2026-07-20) */
.dal-feat-grid:has(> :nth-child(2):last-child),
.dal-pc-grid:has(> :nth-child(2):last-child),
.dal-res-grid:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,420px)) !important;justify-content:center}
.dal-feat-grid:has(> :first-child:last-child),
.dal-pc-grid:has(> :first-child:last-child),
.dal-res-grid:has(> :first-child:last-child){grid-template-columns:minmax(0,520px) !important;justify-content:center}

/* 23. Hero stage images: fit to the image's OWN aspect ratio - no crop (cover cut tops/bottoms of renders) and no letterbox bars (contain left white bands around 3:2 photos in the fixed 4:3 box). Height follows the image. (2026-07-22) */
.dal-ovr-stage .wp-block-image img,.dal-phero .stage .wp-block-image img{aspect-ratio:auto !important;height:auto !important;object-fit:fill !important;background:transparent !important}

/* 24. Multi-column spec lists: keep each <li> whole so a column break never orphans a wrapped fragment e.g. "(above 25kW)" on the Written Scheme page. (2026-07-22) */
.dal-spec-list li,ul[style*="columns"] li,ol[style*="columns"] li{-webkit-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}

/* 25. Constrain oversized diagram images (e.g. energy-audit 10-year lifecycle pyramid) so a small diagram is not blown up full-width. (2026-07-22) */
.dal-diagram{max-width:520px;margin-left:auto;margin-right:auto}
.dal-diagram img{width:100%;height:auto;display:block}

/* 26. Pipework hero (v4) image: centre it in its column and pull in the offset "back" card so it does not read as odd side padding, esp. on mobile. (2026-07-22) */
.jwc-da-pipework-v4 .jwc-da-pl-hero-split figure{margin-left:auto;margin-right:auto;max-width:500px}
@media (max-width:820px){.jwc-da-pipework-v4 .jwc-da-pl-hero-split figure::before{inset:12px -12px -12px 12px}}

/* 27. Smooth-scroll for in-page contact CTAs (they now target the footer form) + clear the header when landing on it. (2026-07-22) */
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
#contact-form{scroll-margin-top:90px}



/* ===== 28. Contact page: suppress duplicate global contact block =====
   /contact-us/ (page-id-18909) has its own "Request a callback" form inside
   .dal-contact-grid using the same wpforms form id 18906 as the global footer
   block, so the page rendered two identical forms and a duplicate DOM id.
   Hide the footer block on that page only. No in-content #contact-form anchors
   exist on /contact-us/, so nothing here targets the hidden section.
   Rollback: delete this section. */
body.page-id-18909 .da-contact-sec { display: none !important; }
