.elementor-90 .elementor-element.elementor-element-6920356{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;--padding-top:4em;--padding-bottom:0em;--padding-left:1em;--padding-right:1em;}.elementor-90 .elementor-element.elementor-element-6920356:not(.elementor-motion-effects-element-type-background), .elementor-90 .elementor-element.elementor-element-6920356 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-cfa1f76 );}.elementor-90 .elementor-element.elementor-element-7cb5082{--display:flex;--padding-top:1em;--padding-bottom:1em;--padding-left:0em;--padding-right:6em;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-90 .elementor-element.elementor-element-8b7a92b{text-align:start;}.elementor-90 .elementor-element.elementor-element-8b7a92b img{height:50px;object-fit:contain;object-position:center center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );color:var( --e-global-color-primary );}.elementor-90 .elementor-element.elementor-element-b23e322 .elementor-heading-title{font-family:var( --e-global-typography-b2ce6af-font-family ), Sans-serif;font-size:var( --e-global-typography-b2ce6af-font-size );font-weight:var( --e-global-typography-b2ce6af-font-weight );text-transform:var( --e-global-typography-b2ce6af-text-transform );font-style:var( --e-global-typography-b2ce6af-font-style );line-height:var( --e-global-typography-b2ce6af-line-height );letter-spacing:var( --e-global-typography-b2ce6af-letter-spacing );word-spacing:var( --e-global-typography-b2ce6af-word-spacing );}.elementor-90 .elementor-element.elementor-element-f0ce4d4{--grid-template-columns:repeat(0, auto);text-align:left;--icon-size:16px;--grid-column-gap:5px;--grid-row-gap:0px;}.elementor-90 .elementor-element.elementor-element-f0ce4d4 .elementor-social-icon{background-color:var( --e-global-color-d49ac81 );--icon-padding:10px;}.elementor-90 .elementor-element.elementor-element-f0ce4d4 .elementor-social-icon i{color:var( --e-global-color-secondary );}.elementor-90 .elementor-element.elementor-element-f0ce4d4 .elementor-social-icon svg{fill:var( --e-global-color-secondary );}.elementor-90 .elementor-element.elementor-element-f0ce4d4 .elementor-social-icon:hover{background-color:var( --e-global-color-332724a );}.elementor-90 .elementor-element.elementor-element-f0ce4d4 .elementor-social-icon:hover i{color:var( --e-global-color-secondary );}.elementor-90 .elementor-element.elementor-element-f0ce4d4 .elementor-social-icon:hover svg{fill:var( --e-global-color-secondary );}.elementor-90 .elementor-element.elementor-element-eb6bf37{--display:flex;--padding-top:1em;--padding-bottom:1em;--padding-left:1em;--padding-right:1em;}.elementor-90 .elementor-element.elementor-element-6b46195 .elementor-heading-title{font-family:var( --e-global-typography-7044a64-font-family ), Sans-serif;font-size:var( --e-global-typography-7044a64-font-size );font-weight:var( --e-global-typography-7044a64-font-weight );line-height:var( --e-global-typography-7044a64-line-height );letter-spacing:var( --e-global-typography-7044a64-letter-spacing );word-spacing:var( --e-global-typography-7044a64-word-spacing );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-90 .elementor-element.elementor-element-91f99f3 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(8px/2);}.elementor-90 .elementor-element.elementor-element-91f99f3 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(8px/2);}.elementor-90 .elementor-element.elementor-element-91f99f3 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(8px/2);}.elementor-90 .elementor-element.elementor-element-91f99f3 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-8px/2);}.elementor-90 .elementor-element.elementor-element-91f99f3 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-8px/2);}.elementor-90 .elementor-element.elementor-element-91f99f3 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-90 .elementor-element.elementor-element-91f99f3 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-90 .elementor-element.elementor-element-91f99f3{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-90 .elementor-element.elementor-element-91f99f3 .elementor-icon-list-text{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-90 .elementor-element.elementor-element-91f99f3 .elementor-icon-list-item:hover .elementor-icon-list-text{color:var( --e-global-color-332724a );}.elementor-90 .elementor-element.elementor-element-36f94d3{--display:flex;--padding-top:1em;--padding-bottom:1em;--padding-left:1em;--padding-right:1em;}.elementor-90 .elementor-element.elementor-element-b50b86b .elementor-heading-title{font-family:var( --e-global-typography-7044a64-font-family ), Sans-serif;font-size:var( --e-global-typography-7044a64-font-size );font-weight:var( --e-global-typography-7044a64-font-weight );line-height:var( --e-global-typography-7044a64-line-height );letter-spacing:var( --e-global-typography-7044a64-letter-spacing );word-spacing:var( --e-global-typography-7044a64-word-spacing );}.elementor-90 .elementor-element.elementor-element-8ae337a .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(8px/2);}.elementor-90 .elementor-element.elementor-element-8ae337a .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(8px/2);}.elementor-90 .elementor-element.elementor-element-8ae337a .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(8px/2);}.elementor-90 .elementor-element.elementor-element-8ae337a .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-8px/2);}.elementor-90 .elementor-element.elementor-element-8ae337a .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-8px/2);}.elementor-90 .elementor-element.elementor-element-8ae337a .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-90 .elementor-element.elementor-element-8ae337a .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-90 .elementor-element.elementor-element-8ae337a{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-90 .elementor-element.elementor-element-8ae337a .elementor-icon-list-text{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-90 .elementor-element.elementor-element-8ae337a .elementor-icon-list-item:hover .elementor-icon-list-text{color:var( --e-global-color-332724a );}.elementor-90 .elementor-element.elementor-element-3b061bc{--display:flex;--padding-top:1em;--padding-bottom:1em;--padding-left:1em;--padding-right:0em;}.elementor-90 .elementor-element.elementor-element-04ec316 .elementor-heading-title{font-family:var( --e-global-typography-7044a64-font-family ), Sans-serif;font-size:var( --e-global-typography-7044a64-font-size );font-weight:var( --e-global-typography-7044a64-font-weight );line-height:var( --e-global-typography-7044a64-line-height );letter-spacing:var( --e-global-typography-7044a64-letter-spacing );word-spacing:var( --e-global-typography-7044a64-word-spacing );}.elementor-90 .elementor-element.elementor-element-66c7c14 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(8px/2);}.elementor-90 .elementor-element.elementor-element-66c7c14 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(8px/2);}.elementor-90 .elementor-element.elementor-element-66c7c14 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(8px/2);}.elementor-90 .elementor-element.elementor-element-66c7c14 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-8px/2);}.elementor-90 .elementor-element.elementor-element-66c7c14 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-8px/2);}.elementor-90 .elementor-element.elementor-element-66c7c14 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-90 .elementor-element.elementor-element-66c7c14 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-90 .elementor-element.elementor-element-66c7c14{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-90 .elementor-element.elementor-element-66c7c14 .elementor-icon-list-text{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-90 .elementor-element.elementor-element-66c7c14 .elementor-icon-list-item:hover .elementor-icon-list-text{color:var( --e-global-color-332724a );}.elementor-90 .elementor-element.elementor-element-473f6d4{width:var( --container-widget-width, 21% );max-width:21%;--container-widget-width:21%;--container-widget-flex-grow:0;}.elementor-90 .elementor-element.elementor-element-9776652{--display:flex;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:var( --e-global-color-4d462f5 );--border-color:var( --e-global-color-4d462f5 );--margin-top:3em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;--padding-top:2em;--padding-bottom:2em;--padding-left:0em;--padding-right:0em;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-90 .elementor-element.elementor-element-6920356{--padding-top:2em;--padding-bottom:0em;--padding-left:1em;--padding-right:1em;}.elementor-90 .elementor-element.elementor-element-7cb5082{--padding-top:1em;--padding-bottom:1em;--padding-left:0em;--padding-right:1em;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-90 .elementor-element.elementor-element-8b7a92b img{height:40px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-90 .elementor-element.elementor-element-b23e322 .elementor-heading-title{font-size:var( --e-global-typography-b2ce6af-font-size );line-height:var( --e-global-typography-b2ce6af-line-height );letter-spacing:var( --e-global-typography-b2ce6af-letter-spacing );word-spacing:var( --e-global-typography-b2ce6af-word-spacing );}.elementor-90 .elementor-element.elementor-element-6b46195 .elementor-heading-title{font-size:var( --e-global-typography-7044a64-font-size );line-height:var( --e-global-typography-7044a64-line-height );letter-spacing:var( --e-global-typography-7044a64-letter-spacing );word-spacing:var( --e-global-typography-7044a64-word-spacing );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-90 .elementor-element.elementor-element-b50b86b .elementor-heading-title{font-size:var( --e-global-typography-7044a64-font-size );line-height:var( --e-global-typography-7044a64-line-height );letter-spacing:var( --e-global-typography-7044a64-letter-spacing );word-spacing:var( --e-global-typography-7044a64-word-spacing );}.elementor-90 .elementor-element.elementor-element-04ec316 .elementor-heading-title{font-size:var( --e-global-typography-7044a64-font-size );line-height:var( --e-global-typography-7044a64-line-height );letter-spacing:var( --e-global-typography-7044a64-letter-spacing );word-spacing:var( --e-global-typography-7044a64-word-spacing );}.elementor-90 .elementor-element.elementor-element-473f6d4{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-90 .elementor-element.elementor-element-9776652{--margin-top:2em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;}}@media(max-width:767px){.elementor-90 .elementor-element.elementor-element-6920356{--padding-top:1em;--padding-bottom:0em;--padding-left:1em;--padding-right:1em;}.elementor-90 .elementor-element.elementor-element-7cb5082{--width:100%;--padding-top:1em;--padding-bottom:1em;--padding-left:0em;--padding-right:0em;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-90 .elementor-element.elementor-element-8b7a92b{text-align:center;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-90 .elementor-element.elementor-element-b23e322{text-align:center;}.elementor-90 .elementor-element.elementor-element-b23e322 .elementor-heading-title{font-size:var( --e-global-typography-b2ce6af-font-size );line-height:var( --e-global-typography-b2ce6af-line-height );letter-spacing:var( --e-global-typography-b2ce6af-letter-spacing );word-spacing:var( --e-global-typography-b2ce6af-word-spacing );}.elementor-90 .elementor-element.elementor-element-f0ce4d4{text-align:center;--icon-size:14px;}.elementor-90 .elementor-element.elementor-element-eb6bf37{--width:100%;--padding-top:1em;--padding-bottom:1em;--padding-left:0em;--padding-right:1em;}.elementor-90 .elementor-element.elementor-element-6b46195 .elementor-heading-title{font-size:var( --e-global-typography-7044a64-font-size );line-height:var( --e-global-typography-7044a64-line-height );letter-spacing:var( --e-global-typography-7044a64-letter-spacing );word-spacing:var( --e-global-typography-7044a64-word-spacing );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-90 .elementor-element.elementor-element-36f94d3{--width:100%;--padding-top:1em;--padding-bottom:1em;--padding-left:1em;--padding-right:0em;}.elementor-90 .elementor-element.elementor-element-b50b86b .elementor-heading-title{font-size:var( --e-global-typography-7044a64-font-size );line-height:var( --e-global-typography-7044a64-line-height );letter-spacing:var( --e-global-typography-7044a64-letter-spacing );word-spacing:var( --e-global-typography-7044a64-word-spacing );}.elementor-90 .elementor-element.elementor-element-3b061bc{--width:100%;--padding-top:1em;--padding-bottom:1em;--padding-left:0em;--padding-right:0em;}.elementor-90 .elementor-element.elementor-element-04ec316 .elementor-heading-title{font-size:var( --e-global-typography-7044a64-font-size );line-height:var( --e-global-typography-7044a64-line-height );letter-spacing:var( --e-global-typography-7044a64-letter-spacing );word-spacing:var( --e-global-typography-7044a64-word-spacing );}.elementor-90 .elementor-element.elementor-element-473f6d4{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-90 .elementor-element.elementor-element-9776652{--margin-top:1em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}}@media(min-width:768px){.elementor-90 .elementor-element.elementor-element-7cb5082{--width:30%;}.elementor-90 .elementor-element.elementor-element-eb6bf37{--width:15%;}.elementor-90 .elementor-element.elementor-element-36f94d3{--width:15%;}.elementor-90 .elementor-element.elementor-element-3b061bc{--width:15%;}}@media(max-width:1024px) and (min-width:768px){.elementor-90 .elementor-element.elementor-element-7cb5082{--width:100%;}.elementor-90 .elementor-element.elementor-element-eb6bf37{--width:31%;}.elementor-90 .elementor-element.elementor-element-36f94d3{--width:31%;}.elementor-90 .elementor-element.elementor-element-3b061bc{--width:31%;}}/* Start custom CSS *//* 2026-09-01: Typography uses Urbanist for display and Open Sans for text. */
/* ProMed logo in the footer. Same crop maths as the header, sized for the
   50px footer lockup, and left in full brand colour on the light footer. */
.elementor-element-8b7a92b img{width:116px !important;height:116px !important;max-width:none !important;margin:-35.28px -20.72px -30.39px -11.56px !important;}
/* ---- Footer refinements ---------------------------------------------------
   Logo doubled, column headings on the locked dark, links smaller with a chevron,
   and the whole block tightened up. */

/* Logo at 2x. Same crop technique as the header: the official square PNG holds its
   artwork in the box 135,412 to 1109,996 of 1351x1351, so the element is scaled and
   the transparent margins pulled out of flow. Sits on a light surface, so no invert. */
.elementor-90 .elementor-element-8b7a92b img{width:232px !important;height:232px !important;max-width:none !important;margin:-70.79px -41.57px -60.98px -23.20px !important;}

/* Column headings in the locked dark */
.elementor-90 .elementor-element-6b46195 .elementor-heading-title,
.elementor-90 .elementor-element-b50b86b .elementor-heading-title,
.elementor-90 .elementor-element-04ec316 .elementor-heading-title{color:#002B2C !important;line-height:1.2 !important;margin-bottom:2px;}

/* Links: smaller, tighter, each preceded by a chevron drawn in CSS so there is no
   icon font dependency. The chevron nudges right on hover. */
.elementor-90 .elementor-widget-icon-list .elementor-icon-list-items{line-height:1.25 !important;}
.elementor-90 .elementor-widget-icon-list .elementor-icon-list-item{margin-bottom:2px !important;}
.elementor-90 .elementor-widget-icon-list .elementor-icon-list-item > a,
.elementor-90 .elementor-widget-icon-list .elementor-icon-list-text{font-size:14px !important;line-height:1.35 !important;}
.elementor-90 .elementor-widget-icon-list .elementor-icon-list-text::before{content:"";display:inline-block;width:5px;height:5px;border-right:1.5px solid #002B2C;border-bottom:1.5px solid #002B2C;transform:rotate(-45deg);margin-right:9px;vertical-align:middle;position:relative;top:-1px;transition:transform .18s ease,border-color .18s ease;}
.elementor-90 .elementor-widget-icon-list .elementor-icon-list-item:hover .elementor-icon-list-text::before{transform:rotate(-45deg) translate(2px,2px);border-color:#FF8946;}

/* Tighter rhythm through the rest of the footer */
.elementor-90 .elementor-element-b23e322 .elementor-heading-title{line-height:1.45 !important;font-size:15px !important;}
.elementor-90 .elementor-element-9a1e0b5 .elementor-heading-title{line-height:1.4 !important;}
/* ---- Site wide structural fixes -------------------------------------------
   Hosted on the footer template because it renders on every page, so this
   stylesheet is enqueued site wide. Selectors are structural rather than id
   based, so one rule set covers all ten internal pages. The homepage hero is
   excluded: it has its own layout and form. */

/* Hero portrait. It was cropped to a fixed height with object-fit cover and no
   object-position, so tall photos lost the subject's head. Anchor the crop near
   the top and mask it with the kit's blob, so the silhouette reads as deliberate
   and matches the reference instead of a rectangle with a sliced face. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image img{object-fit:cover !important;object-position:50% 16% !important;border-radius:0 !important;-webkit-mask:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/08/masking_1.png) center/100% 100% no-repeat;mask:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/08/masking_1.png) center/100% 100% no-repeat;}

/* Secondary hero action. It had been given the light surface treatment, teal text
   on a transparent fill, which disappears on the dark hero. The second button in
   the hero is always the quiet one. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-button + .elementor-widget-button .elementor-button,
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-button + .elementor-widget-button .elementor-button span,
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-button + .elementor-widget-button .elementor-button svg{color:#C1E0DE !important;fill:#C1E0DE !important;border-color:#C1E0DE !important;}
/* Closing call to action. The bright cyan source colour was never restated on the
   internal pages, so white type sat on a light saturated field. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:last-child > .elementor-background-overlay{background-image:none !important;background-color:#002B2C !important;opacity:.88 !important;}

/* Card titles were rendering at display size inside narrow columns, so short labels
   broke over three and four lines. Cards use the Open Sans card token. */
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-icon-box .elementor-icon-box-title a{font-family:'Open Sans',sans-serif !important;font-size:20px !important;line-height:1.28 !important;letter-spacing:0 !important;}
/* Five column footer. The contact column was added to match the detail the production
   footer carries, so the row now wraps and each column gets a sensible basis. */
.elementor-90 .elementor-element-6920356{flex-wrap:wrap !important;align-items:flex-start !important;row-gap:34px;}
.elementor-90 .elementor-element-7cb5082{flex:1 1 250px;max-width:310px;}
.elementor-90 .elementor-element-eb6bf37,
.elementor-90 .elementor-element-36f94d3,
.elementor-90 .elementor-element-3b061bc{flex:1 1 148px;}
.elementor-90 .elementor-element-473f6d4{flex:1 1 235px;max-width:290px;}
.elementor-90 .elementor-element-9776652{flex:1 1 100%;}
/* bottom bar: copyright and legal links on one line */
.elementor-90 .elementor-element-9776652{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 18px;}
.elementor-90 .elementor-element-9a1e0b5{margin-bottom:0 !important;}
@media(max-width:1024px){.elementor-90 .elementor-element-7cb5082{flex:1 1 100%;max-width:none;}}
/* The speak to someone band sits flush at the top of the footer, full bleed, so the
   footer's own top padding is removed and the band supplies the spacing instead. */
.elementor-90 .elementor-element-6920356{padding-top:0 !important;}
.elementor-90 .elementor-element-4113440{order:-1;flex:1 1 100% !important;max-width:none !important;margin:0 0 46px !important;width:100%;}

/* ===== A2 punch list (2026-09-01), measured on the live site at 1440 ===== */

/* A2-1 (E-18) The footer bottom bar read as pushed to the left. Measured: .pmlegal is 761px
   inside a 1344px e-con-inner. Its widget wrapper 651d255 is 761px too, because the inner is
   display:flex and the widget is a flex item at flex:0 1 auto, so it shrinks to its content.
   space-between then distributes across 761px instead of the full column. Stretch the widget. */
.elementor-90 .elementor-element.elementor-element-651d255{
  flex:1 1 100% !important;width:100% !important;max-width:none !important;}

/* A2-2 (E-18) A 129px band of empty footer sat above the legal row. Container 9776652
   measured 1280x129 with an 88px inner while every one of its six children measured 0 high:
   ef146b0 holds only the pm-p7 S3 tombstone comment, 6855e55, 8cf9668, 3fd388d, e51ac28 and
   cde0a10 are empty, and the promed-system widget is display:none by design. The height was
   pure padding and row-gap on an empty container. Collapsed rather than hidden, because that
   widget carries the site's last-in-cascade stylesheet and the Google Fonts import and must
   stay in the document. */
.elementor-90 .elementor-element.elementor-element-9776652{
  padding:0 !important;row-gap:0 !important;min-height:0 !important;}

/* A2-2b The outer container collapsed from 129px to 85px, but its e-con-inner kept
   padding:32px 0 plus a 20px row-gap between the two remaining zero height widgets:
   64 + 20 = the 84px that was left. Zeroing the inner finishes the collapse. */
.elementor-90 .elementor-element.elementor-element-9776652 > .e-con-inner{
  padding:0 !important;row-gap:0 !important;}

/* A2-6 (2026-09-01) Faceted footer background, client reference gradientmagic 1608478020641.
   The reference is a grey ramp (214 down to 99). The TECHNIQUE is what carries over: several
   linear gradients at different angles, each with hard stops so the colour changes in flat
   planes rather than smooth bleeds, blended with overlay so the planes interfere and read as
   folded paper. The grey itself does not carry over: the footer holds #002B2C text and sits
   under the mint band, so the ramp is rebuilt from the locked palette and kept light.
   Only the seven colours and alpha forms of them are used. */
.elementor-90 .elementor-element.elementor-element-6920356{
  background-color:#FFFFFF !important;
  background-image:
    linear-gradient(112.5deg,
      #FFFFFF 0%, #FFFFFF 10%,
      #D4D5CE 10%, #D4D5CE 53%,
      #C1E0DE 53%, #C1E0DE 55%,
      #D4D5CE 55%, #D4D5CE 60%,
      rgba(0,179,185,.16) 60%, rgba(0,179,185,.16) 88%,
      rgba(0,172,220,.12) 88%, rgba(0,172,220,.12) 91%,
      rgba(0,43,44,.10) 91%, rgba(0,43,44,.10) 100%),
    linear-gradient(157.5deg,
      #FFFFFF 0%, #FFFFFF 10%,
      #D4D5CE 10%, #D4D5CE 53%,
      #C1E0DE 53%, #C1E0DE 55%,
      #D4D5CE 55%, #D4D5CE 60%,
      rgba(0,179,185,.16) 60%, rgba(0,179,185,.16) 88%,
      rgba(0,172,220,.12) 88%, rgba(0,172,220,.12) 91%,
      rgba(0,43,44,.10) 91%, rgba(0,43,44,.10) 100%),
    linear-gradient(315deg,
      #FFFFFF 0%, #FFFFFF 10%,
      #D4D5CE 10%, #D4D5CE 53%,
      #C1E0DE 53%, #C1E0DE 55%,
      #D4D5CE 55%, #D4D5CE 60%,
      rgba(0,179,185,.16) 60%, rgba(0,179,185,.16) 88%,
      rgba(0,172,220,.12) 88%, rgba(0,172,220,.12) 91%,
      rgba(0,43,44,.10) 91%, rgba(0,43,44,.10) 100%),
    linear-gradient(270deg, #C1E0DE, #FFFFFF) !important;
  background-blend-mode:overlay,overlay,overlay,normal !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;}

/* A2-6b CORRECTION. The first pass used the reference's `overlay` blend verbatim. Overlay
   preserves the backdrop's lightness, so light tints over a white base composite back to
   near white and the facets were invisible. The reference gets away with it because its ramp
   runs 214 down to 99 and has real tonal range to lose; the locked palette's light end does
   not. Rebuilt with normal blending and explicit alpha, which composites predictably: the
   hard stops still cut flat planes, but their strength is now a number that can be tuned and
   contrast checked instead of an emergent property of the blend. First layer paints on top. */
.elementor-90 .elementor-element.elementor-element-6920356{
  background-color:#FFFFFF !important;
  background-image:
    linear-gradient(112.5deg,
      rgba(255,255,255,0) 0%, rgba(255,255,255,0) 10%,
      rgba(212,213,206,.30) 10%, rgba(212,213,206,.30) 53%,
      rgba(0,172,220,.10) 53%, rgba(0,172,220,.10) 55%,
      rgba(212,213,206,.22) 55%, rgba(212,213,206,.22) 60%,
      rgba(0,179,185,.10) 60%, rgba(0,179,185,.10) 88%,
      rgba(0,172,220,.08) 88%, rgba(0,172,220,.08) 91%,
      rgba(0,43,44,.07) 91%, rgba(0,43,44,.07) 100%),
    linear-gradient(157.5deg,
      rgba(255,255,255,0) 0%, rgba(255,255,255,0) 10%,
      rgba(193,224,222,.34) 10%, rgba(193,224,222,.34) 53%,
      rgba(0,179,185,.10) 53%, rgba(0,179,185,.10) 55%,
      rgba(193,224,222,.24) 55%, rgba(193,224,222,.24) 60%,
      rgba(212,213,206,.20) 60%, rgba(212,213,206,.20) 88%,
      rgba(0,43,44,.05) 88%, rgba(0,43,44,.05) 91%,
      rgba(0,43,44,.08) 91%, rgba(0,43,44,.08) 100%),
    linear-gradient(315deg,
      rgba(255,255,255,0) 0%, rgba(255,255,255,0) 10%,
      rgba(193,224,222,.28) 10%, rgba(193,224,222,.28) 53%,
      rgba(0,172,220,.09) 53%, rgba(0,172,220,.09) 55%,
      rgba(212,213,206,.18) 55%, rgba(212,213,206,.18) 60%,
      rgba(0,179,185,.09) 60%, rgba(0,179,185,.09) 88%,
      rgba(212,213,206,.16) 88%, rgba(212,213,206,.16) 91%,
      rgba(0,43,44,.06) 91%, rgba(0,43,44,.06) 100%),
    linear-gradient(270deg, #C1E0DE 0%, #FFFFFF 62%) !important;
  background-blend-mode:normal !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;}

/* A2-6c (2026-09-01) Client direction: "make it look nicer, and use whites and shades of
   bright grey". The mint and teal tints are dropped entirely. The only inks now are #FFFFFF
   and the warm grey #D4D5CE at varying alpha, which composites to a full range of bright
   greys over the white base while staying inside the locked palette.
   Refined from the previous pass: three planes instead of four, larger and calmer, with the
   light reading from the top left so the facets behave like folded paper catching light
   rather than random bands. Stops sit at wide intervals so each plane has room to be a shape.
   Deepest composited value is about rgb(228,229,224), which keeps #002B2C text above 13:1. */
.elementor-90 .elementor-element.elementor-element-6920356{
  background-color:#FFFFFF !important;
  background-image:
    linear-gradient(135deg,
      rgba(255,255,255,0) 0%, rgba(255,255,255,0) 34%,
      rgba(212,213,206,.16) 34%, rgba(212,213,206,.16) 62%,
      rgba(212,213,206,.26) 62%, rgba(212,213,206,.26) 78%,
      rgba(212,213,206,.10) 78%, rgba(212,213,206,.10) 100%),
    linear-gradient(196deg,
      rgba(255,255,255,0) 0%, rgba(255,255,255,0) 46%,
      rgba(212,213,206,.14) 46%, rgba(212,213,206,.14) 71%,
      rgba(212,213,206,.22) 71%, rgba(212,213,206,.22) 100%),
    linear-gradient(315deg,
      rgba(255,255,255,0) 0%, rgba(255,255,255,0) 52%,
      rgba(212,213,206,.12) 52%, rgba(212,213,206,.12) 83%,
      rgba(212,213,206,.20) 83%, rgba(212,213,206,.20) 100%),
    linear-gradient(160deg, #FFFFFF 0%, #FFFFFF 40%, rgba(212,213,206,.34) 100%) !important;
  background-blend-mode:normal !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;}

/* A2-6d (2026-09-01) Client: "more whites in the background of the footer". Every grey alpha
   is roughly halved and the base holds pure white across most of its run before any grey
   enters, so white is now the dominant surface and the facets read as a light suggestion of
   folded paper rather than panels of grey. Same three planes and the same top left light
   direction; only the strength changes. Deepest composited value is about rgb(240,241,237). */
.elementor-90 .elementor-element.elementor-element-6920356{
  background-color:#FFFFFF !important;
  background-image:
    linear-gradient(135deg,
      rgba(255,255,255,0) 0%, rgba(255,255,255,0) 40%,
      rgba(212,213,206,.08) 40%, rgba(212,213,206,.08) 64%,
      rgba(212,213,206,.14) 64%, rgba(212,213,206,.14) 80%,
      rgba(212,213,206,.05) 80%, rgba(212,213,206,.05) 100%),
    linear-gradient(196deg,
      rgba(255,255,255,0) 0%, rgba(255,255,255,0) 55%,
      rgba(212,213,206,.06) 55%, rgba(212,213,206,.06) 76%,
      rgba(212,213,206,.11) 76%, rgba(212,213,206,.11) 100%),
    linear-gradient(315deg,
      rgba(255,255,255,0) 0%, rgba(255,255,255,0) 62%,
      rgba(212,213,206,.05) 62%, rgba(212,213,206,.05) 86%,
      rgba(212,213,206,.10) 86%, rgba(212,213,206,.10) 100%),
    linear-gradient(160deg, #FFFFFF 0%, #FFFFFF 62%, rgba(212,213,206,.16) 100%) !important;
  background-blend-mode:normal !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;}

/* E-31 (2026-09-01) Client: the cyan bar across the top of the cards reads as a second border
   that ignores the radius. It is drawn on ::after as a full width 3px strip inset to the very
   top edge, so where the card's 16px corners curve away the strip keeps going straight and
   juts out past them on both sides. Its own 16px 16px 0 0 radius does not save it, because the
   card's 1px border and the strip are two separate edges that never line up.
   Lucas asked for it gone rather than reconciled: the card keeps its own border and radius as
   the only edge, and hover keeps the lift and the shadow bloom.
   Hosted here in the footer template because that stylesheet loads on every page AFTER the page
   CSS, so one rule retires the bar on all eleven pages instead of eleven separate edits.
   content:none carries !important so it beats the page rules regardless of their specificity. */
.pm-motion-card::after{content:none !important;}
.elementor-296 .elementor-element.elementor-element-4b6bbe4::after,
.elementor-296 .elementor-element.elementor-element-2fd22f0::after,
.elementor-296 .elementor-element.elementor-element-96ec039::after,
.elementor-296 .elementor-element.elementor-element-11845cd::after{content:none !important;}

/* ===== E-37 (2026-09-01) Footer, full pass against the client's marked screenshot ===== */

/* E-37a and E-37b The stray rule under the columns and the "Serving facilities Canada wide"
   line are the SAME element: .pmfoot-serving carries the text and a 1px border-top, so the
   line was never a separate divider. Removing the line removes both marks at once. */
.elementor-90 .pmfoot-serving{display:none !important;}

/* E-37c Two dividers were stacked. Container 9776652 carries a border-top and .pmlegal carries
   another, one right above the other, which is the doubled rule in the screenshot. The legal
   bar keeps its divider because it is the one that separates the bottom bar; the container's
   is removed. */
.elementor-90 .elementor-element.elementor-element-9776652{
  border-top:0 !important;border-bottom:0 !important;}

/* E-37d The bottom bar was 40px tall with lopsided 14px/4px padding, so the copyright line sat
   squashed against the divider. Given real height with symmetric padding and centred items. */
.elementor-90 .pmlegal{
  min-height:68px !important;
  padding:22px 0 !important;
  display:flex !important;align-items:center !important;
  border-top:1px solid #D4D5CE !important;}

/* E-37e, E-37g, E-37h Column balance. Measured: the logo column was capped at 310px while the
   three link columns and the contact column all carried flex-grow, so the free space collected
   between the logo and Solutions as one large hole, and again after Contact. The logo column
   takes the width instead, the contact column gives some back, and an explicit column-gap
   replaces "whatever flex-grow leaves over" as the thing that sets the spacing. */
.elementor-90 .elementor-element.elementor-element-6920356{
  column-gap:44px !important;row-gap:34px !important;
  justify-content:flex-start !important;}
.elementor-90 .elementor-element.elementor-element-7cb5082{
  flex:1 1 360px !important;max-width:400px !important;}
.elementor-90 .elementor-element.elementor-element-eb6bf37,
.elementor-90 .elementor-element.elementor-element-36f94d3,
.elementor-90 .elementor-element.elementor-element-3b061bc{
  flex:0 1 168px !important;max-width:200px !important;}
.elementor-90 .elementor-element.elementor-element-473f6d4{
  flex:0 1 250px !important;max-width:270px !important;margin-right:0 !important;}

/* E-37f The logo blurb was rendering larger than the column links beside it, so the footer had
   two body sizes with no reason. Matched to the links exactly: same family, same 14px, same
   line height. The wider column above means it also stops wrapping over so many lines. */
.elementor-90 .elementor-element.elementor-element-7cb5082 p,
.elementor-90 .elementor-element.elementor-element-7cb5082 .elementor-widget-text-editor,
.elementor-90 .elementor-element.elementor-element-7cb5082 .elementor-heading-title{
  font-family:'Open Sans',sans-serif !important;
  font-size:14px !important;line-height:1.45 !important;}

/* E-37i Background, richer. The previous pass was so restrained it barely read. This keeps
   white dominant but adds two sets of fine ruled lines over the broad planes, so the surface
   has both large facets and visible linework. Still only #FFFFFF and the warm grey #D4D5CE at
   varying alpha, so the palette holds and the deepest value stays around rgb(233,234,229),
   which keeps #002B2C text above 12:1. */
.elementor-90 .elementor-element.elementor-element-6920356{
  background-color:#FFFFFF !important;
  background-image:
    /* fine ruled lines, two pitches at opposing angles */
    repeating-linear-gradient(58deg,
      rgba(212,213,206,.55) 0px, rgba(212,213,206,.55) 1px,
      rgba(0,0,0,0) 1px, rgba(0,0,0,0) 26px),
    repeating-linear-gradient(-32deg,
      rgba(212,213,206,.34) 0px, rgba(212,213,206,.34) 1px,
      rgba(0,0,0,0) 1px, rgba(0,0,0,0) 64px),
    /* broad faceted planes */
    linear-gradient(135deg,
      rgba(255,255,255,0) 0%, rgba(255,255,255,0) 38%,
      rgba(212,213,206,.16) 38%, rgba(212,213,206,.16) 63%,
      rgba(212,213,206,.28) 63%, rgba(212,213,206,.28) 80%,
      rgba(212,213,206,.09) 80%, rgba(212,213,206,.09) 100%),
    linear-gradient(196deg,
      rgba(255,255,255,0) 0%, rgba(255,255,255,0) 52%,
      rgba(212,213,206,.13) 52%, rgba(212,213,206,.13) 74%,
      rgba(212,213,206,.22) 74%, rgba(212,213,206,.22) 100%),
    linear-gradient(315deg,
      rgba(255,255,255,0) 0%, rgba(255,255,255,0) 58%,
      rgba(212,213,206,.11) 58%, rgba(212,213,206,.11) 84%,
      rgba(212,213,206,.19) 84%, rgba(212,213,206,.19) 100%),
    linear-gradient(160deg, #FFFFFF 0%, #FFFFFF 54%, rgba(212,213,206,.26) 100%) !important;
  background-blend-mode:normal !important;
  background-repeat:repeat, repeat, no-repeat, no-repeat, no-repeat, no-repeat !important;
  background-size:auto, auto, cover, cover, cover, cover !important;}

/* E-37 REFINEMENT (2026-09-01). The first pass evened the columns but set the three link
   columns to 168px, which is narrower than their longest labels, so "Locum and Contract
   Staffing" and "Urgent and Short Notice Cover" started wrapping. Re-solved against the real
   1280 content width: gap 32 x 4 = 128, leaving 1152. Logo 340 + contact 230 = 570, so the
   three link columns get 194 each. 340 + 582 + 230 + 128 = 1280 exactly, and 194px clears the
   longest label on one line. Bottom padding also trimmed, because a band of empty footer sat
   between the social icons and the divider. */
.elementor-90 .elementor-element.elementor-element-6920356{
  column-gap:32px !important;padding-bottom:28px !important;}
.elementor-90 .elementor-element.elementor-element-7cb5082{
  flex:1 1 340px !important;max-width:360px !important;}
.elementor-90 .elementor-element.elementor-element-eb6bf37,
.elementor-90 .elementor-element.elementor-element-36f94d3,
.elementor-90 .elementor-element.elementor-element-3b061bc{
  flex:0 1 194px !important;max-width:210px !important;}
.elementor-90 .elementor-element.elementor-element-473f6d4{
  flex:0 1 230px !important;max-width:250px !important;}

/* E-39 (2026-09-01) Client: images take the SAME radius as the rest of the system. They were
   on 2px, a leftover from the original art direction, while every card, pill and panel uses
   16px, so photographs were the one component with a different corner. Set site wide from the
   footer template, which loads on every page, with !important because the page level rules are
   more specific than any site wide .elementor-90 could be.
   Three images are deliberately excluded: the hero cutout person and the two logo lockups are
   transparent PNGs with no rectangular edge, so a radius there would either do nothing or clip
   the artwork. */
.elementor-widget-image img{border-radius:16px !important;}
.elementor-296 .elementor-element-56adb8d img,
.elementor-90 .elementor-element-8b7a92b img,
.elementor-88 .elementor-element-0a0476e img{border-radius:0 !important;}
/* the teal tint overlay that sits on top of the photos has to follow the same corner */
.elementor-widget-image .elementor-widget-container::after{border-radius:16px !important;}

/* E-37i CORRECTION (2026-09-01). Client: "you added like an Excel grid that looks terrible".
   Correct call. The two repeating-linear-gradients drew evenly pitched 1px rules across the
   whole surface, and regular parallel lines at a fixed interval read as ruled paper or a
   spreadsheet, not as texture. They are removed entirely.
   What stays is the thing that worked: the large geometric planes with hard stops, at a
   strength between the two earlier passes so they are clearly visible without the surface
   ceasing to be white. No repeating patterns, only big shapes. */
.elementor-90 .elementor-element.elementor-element-6920356{
  background-color:#FFFFFF !important;
  background-image:
    linear-gradient(135deg,
      rgba(255,255,255,0) 0%, rgba(255,255,255,0) 36%,
      rgba(212,213,206,.13) 36%, rgba(212,213,206,.13) 63%,
      rgba(212,213,206,.22) 63%, rgba(212,213,206,.22) 80%,
      rgba(212,213,206,.07) 80%, rgba(212,213,206,.07) 100%),
    linear-gradient(196deg,
      rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%,
      rgba(212,213,206,.11) 50%, rgba(212,213,206,.11) 74%,
      rgba(212,213,206,.18) 74%, rgba(212,213,206,.18) 100%),
    linear-gradient(315deg,
      rgba(255,255,255,0) 0%, rgba(255,255,255,0) 57%,
      rgba(212,213,206,.09) 57%, rgba(212,213,206,.09) 85%,
      rgba(212,213,206,.16) 85%, rgba(212,213,206,.16) 100%),
    linear-gradient(160deg, #FFFFFF 0%, #FFFFFF 56%, rgba(212,213,206,.22) 100%) !important;
  background-blend-mode:normal !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;}

/* E-40 (2026-09-01) Footer columns, third pass. Two faults in one: the gaps were still wide,
   and the link labels were breaking into widows ("Staffing", "Coverage", "Pharmacy",
   "Notice Cover") along with the address lines ("450", "1S2").

   Root cause of the widows: the link columns had a FIXED basis with flex-grow 0, so below
   1440 they could only shrink, never take the space the gaps were hoarding. The longest label,
   "Locum and Contract Staffing" at 14px Open Sans, needs about 196px on one line, and the
   columns were dropping under that as soon as the viewport narrowed.

   Fixed by cutting the gap to 24px and giving the link columns flex-grow, so spare width goes
   into the labels instead of into the gaps. The logo and contact columns give up a little.
   text-wrap:pretty then handles any break that is still unavoidable by refusing to leave a
   single word alone on the last line. */
.elementor-90 .elementor-element.elementor-element-6920356{
  column-gap:24px !important;}
.elementor-90 .elementor-element.elementor-element-7cb5082{
  flex:0 1 300px !important;max-width:330px !important;}
.elementor-90 .elementor-element.elementor-element-eb6bf37,
.elementor-90 .elementor-element.elementor-element-36f94d3,
.elementor-90 .elementor-element.elementor-element-3b061bc{
  flex:1 1 200px !important;max-width:240px !important;}
.elementor-90 .elementor-element.elementor-element-473f6d4{
  flex:0 1 236px !important;max-width:250px !important;}

/* Break control on everything that was orphaning a word */
.elementor-90 .elementor-widget-icon-list .elementor-icon-list-text,
.elementor-90 .elementor-element.elementor-element-7cb5082 p,
.elementor-90 .elementor-element.elementor-element-473f6d4 p,
.elementor-90 .pmfoot-contact,
.elementor-90 .pmfoot-contact *{text-wrap:pretty !important;}
/* a postal code and a suite number should never split across lines */
.elementor-90 .pmfoot-contact .pmfoot-line{text-wrap:pretty !important;}

/* E-41 (2026-09-01) The bottom bar text sat high against the divider. Measured from the line
   downward: 22px of padding, the text, then 22px of padding PLUS 28px of the row's own bottom
   padding, so 22 above against 50 below. It was centred in .pmlegal but .pmlegal was not the
   band the eye reads; the band runs from the divider to the bottom edge of the footer.
   Fixed by removing the row's trailing padding so the two are the same box, then padding the
   bar symmetrically. The text now sits centred between the line and the footer edge. */
.elementor-90 .elementor-element.elementor-element-6920356{padding-bottom:0 !important;}
.elementor-90 .pmlegal{
  padding:34px 0 !important;
  min-height:0 !important;
  align-items:center !important;}

/* E-32 CORRECTION 2 (2026-09-01). The marquee logos showed as white artwork on BLACK tiles.
   mix-blend-mode blends an element with its backdrop only WITHIN the same stacking context, and
   the marquee track carries an animated `transform`, which creates one. So `screen` was
   compositing each logo against the track's own transparent backdrop instead of against the dark
   band, and the PNG's opaque black background survived as a visible tile.
   Fighting the stacking context is not an option, because any transform, filter, mask or
   will-change on an ancestor breaks blending and the animation needs the transform. So the
   backdrop is brought INSIDE the context instead: each tile is painted the band's own dark, and
   screen then resolves the PNG's black to exactly that dark while keeping the white artwork.
   The result is identical to having transparent PNGs.

   Hosted in the footer template rather than on page 296: that page's own CSS field has grown
   large enough that saves now exhaust the PHP memory limit outright, and this stylesheet loads
   after it anyway. Page 296 needs a consolidation pass, logged as a follow up. */
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee,
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{
  background-color:#002B2C !important;}
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
  filter:none !important;
  mix-blend-mode:screen !important;
  opacity:1 !important;}

/* E-32 SIZING (2026-09-01). Client: "make sure the logos are big. Big." They were capped at
   78px tall, but each source PNG is a 200x200 canvas with the artwork occupying only the middle
   band, so a 78px cap rendered a mark roughly 30px tall. The cap has to account for the padding
   baked into the source, not just the box. Raised to 130px in a taller tile, which puts the
   visible mark around 55px, and the tile stays a fixed size with fixed padding so the set is
   still standardised across eight logos of different aspect ratios. */
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{
  width:270px !important;height:150px !important;padding:10px !important;}
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
  max-height:132px !important;max-width:250px !important;}
@media(max-width:1024px){
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{
    width:210px !important;height:120px !important;}
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
    max-height:104px !important;max-width:190px !important;}}
@media(max-width:767px){
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{
    width:170px !important;height:100px !important;}
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
    max-height:86px !important;max-width:154px !important;}}

/* ===== E-42 (2026-09-01) Trusted Across Canada band, client corrections ===== */

/* Flat colour, no texture. The crosshatch and the corner lift are removed entirely: on this
   band they were competing with the logos rather than supporting them, and the client asked
   for a plain surface. Only the locked dark remains. */
.elementor-296 .elementor-element.elementor-element-5f34e78{
  background-image:none !important;
  background-color:#002B2C !important;
  width:100% !important;
  max-width:none !important;
  padding-left:0 !important;
  padding-right:0 !important;}

/* The heading and its support line keep the site wrapper, because only the MARQUEE goes edge
   to edge. Their padding is restored individually now that the section itself has none. */
.elementor-296 .elementor-element.elementor-element-dc1e89e,
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-logo-support{
  padding-left:max(32px, calc((100% - 1280px) / 2)) !important;
  padding-right:max(32px, calc((100% - 1280px) / 2)) !important;}

/* The marquee rail now runs the full width of the section, which is the full width of the
   screen. The inset panel look is gone: the rail is the same flat dark as the band, so no
   edge shows. The end fade is dropped with it, since a mask would create a stacking context
   and reintroduce the blend problem the tiles were fixed for. */
.elementor-296 .elementor-element.elementor-element-9cd3da7{
  width:100% !important;max-width:none !important;}
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee{
  width:100% !important;max-width:none !important;
  background-color:#002B2C !important;
  -webkit-mask-image:none !important;mask-image:none !important;}

/* Tiles match the band exactly, so they are invisible while still giving `screen` the correct
   backdrop inside the animated track's stacking context. */
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{
  background-color:#002B2C !important;}

/* Bigger again, and uniform. Each tile is a fixed box with fixed padding and the artwork is
   capped by HEIGHT, so eight logos of different aspect ratios all read at the same weight. */
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track{
  gap:88px !important;}
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{
  width:300px !important;height:170px !important;padding:8px !important;}
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
  max-height:154px !important;max-width:284px !important;}
@media(max-width:1024px){
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track{gap:56px !important;}
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{
    width:220px !important;height:130px !important;}
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
    max-height:116px !important;max-width:206px !important;}}
@media(max-width:767px){
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track{gap:40px !important;}
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{
    width:170px !important;height:104px !important;}
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
    max-height:92px !important;max-width:158px !important;}}

/* E-42b (2026-09-01) The band went full width but the marquee still measured 1280. The section
   is an e-con-BOXED container, so releasing the section's own padding was not enough: its
   inner wrapper still caps at the 1280 content width and the marquee was sitting inside that.
   The inner is released too, and the heading and support line keep their own wrapper padding
   from the E-42 rules above, so only the rail goes edge to edge. */
.elementor-296 .elementor-element.elementor-element-5f34e78 > .e-con-inner{
  max-width:none !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;}

/* E-28b (2026-09-01) The hero pill and the form pill were already identical after E-28: both
   measured 9px 18px padding, 12px, weight 500, 0.6px tracking, 30px radius, 32px tall. The hero
   one only looked bigger because its label is longer, so a pill that sizes to its content is
   simply wider. The complaint is therefore about the COMPONENT, not the one instance, so the
   component is tightened rather than the single pill, which keeps the standard intact.
   Side padding 18px to 13px, height 32 to 27, type 12 to 11. Applied to every eyebrow pill on
   the site so they stay one component: the hero, the two form pills, the generic h6 eyebrow used
   across the inner pages, and the Our Solutions pill. */
.elementor-296 .elementor-element-8fa96c8 .elementor-heading-title,
.elementor-296 .elementor-element-e3e64d9 .elementor-heading-title,
.elementor-296 .pmf-eyebrow,
.elementor-316 .pmf-rs-eyebrow,
.elementor .elementor-element.elementor-widget-heading h6.elementor-heading-title{
  padding:6px 13px !important;
  border-radius:30px !important;
  font-family:'Open Sans',sans-serif !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.5px !important;
  line-height:1.25 !important;
  gap:7px !important;
  text-transform:uppercase !important;
  background-color:#C1E0DE !important;
  color:#002B2C !important;
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  margin:0 0 12px !important;}

/* the icon inside a pill scales with it */
.elementor-296 .pmf-eyebrow i,
.elementor-316 .pmf-rs-eyebrow i,
.elementor-296 .elementor-element-8fa96c8 .elementor-heading-title i{
  font-size:11px !important;line-height:1 !important;}

/* E-28b CORRECTION (2026-09-01). The form pill tightened but the hero pill did not.
   Cause: the earlier E-28 rule on page 296 is written as
   `.elementor-296 .elementor-element.elementor-element-8fa96c8 .elementor-heading-title`, which
   is FOUR classes, while my E-28b .elementor-90 used three. Both carry !important, so the higher
   specificity won and the hero kept 9px 18px at 12px.
   Rewritten at matching specificity. Equal specificity plus later source order (the footer
   stylesheet loads after the page stylesheet) means this one now wins. */
.elementor-296 .elementor-element.elementor-element-8fa96c8 .elementor-heading-title,
.elementor-296 .elementor-element.elementor-element-e3e64d9 .elementor-heading-title{
  padding:6px 13px !important;
  border-radius:30px !important;
  font-family:'Open Sans',sans-serif !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.5px !important;
  line-height:1.25 !important;
  gap:7px !important;
  text-transform:uppercase !important;
  background:#C1E0DE !important;
  color:#002B2C !important;
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;}

/* ===== E-44 (2026-09-01) Entrance choreography, rebuilt from a measured trace ==========
   Previous attempts patched symptoms because nobody had measured the load. A cold load was
   sampled every 50ms from navigation start. What it showed:

   t=1020ms  Elementor ADDS .elementor-invisible to 3 widgets that had ALREADY PAINTED at
             785ms, then animates them in. Content appears, vanishes, reappears. That is the
             first glitch, and it is unfixable from inside Elementor's own animation system
             because its observer fires at DOM ready, before fonts and before the embed.
   t=1150ms  Urbanist and Open Sans finish loading and every text box reflows: the H1 goes
             648 to 600, the eyebrow 275 to 265, the card 672 to 624. This happens AFTER the
             entrance animation has started, so the text visibly resizes mid animation.
   t=1959 to 2702ms  the HubSpot iframe runs through FIVE layout states: 386 -> 0 -> 992 ->
             380 -> 386. Its first input measures 564x40 unstyled, then 277x36 once HubSpot's
             own CSS lands inside the iframe. The card follows it: 487 -> 707 -> 487 -> 1179
             -> 567 -> 573. That is Lucas's "massive fields, then it glitches, then it shrinks".

   And the ordering complaint has an exact cause: the button row 826b7e0 and the form column
   4b4e9a8 were never given the pm-hero-enter class, so they render at full opacity
   immediately while the eyebrow, H1, sub copy and trust line are still held at opacity 0
   waiting their turn. The buttons genuinely do arrive before the text.

   The rebuild, in one system:
   1. The hidden state lives in THIS stylesheet, which Elementor enqueues in the head, so the
      hero is never painted before it is hidden. No flash.
   2. Elementor's own animations on this page are neutralised so they cannot compete.
   3. The reveal is driven by one class on <html>, set by JS once fonts are ready, so no text
      reflows during the animation.
   4. The form's box is reserved at its measured settled height and the iframe is clipped and
      invisible inside it, so the unstyled 992px state is never seen and nothing around it
      moves. It fades in on its own when HubSpot reports ready.
   5. A pure CSS safety net reveals everything at 3s whether or not the JS ever runs, so a
      script failure can never leave a blank page.
   Elements are addressed by their own ids rather than by adding classes, because page 296's
   _elementor_data is large enough that saves currently fail; this needs no page write. */

/* --- 1. Elementor's competing animation system, retired on the home page --------------- */
.elementor-296 .elementor-invisible{
  opacity:1 !important; visibility:visible !important; animation:none !important;}

/* --- 2. The hero's hidden state, present from the first byte of CSS -------------------- */
.elementor-296 .elementor-element-8fa96c8,
.elementor-296 .elementor-element-22ea6fb,
.elementor-296 .elementor-element-b9a16f2,
.elementor-296 .elementor-element-826b7e0,
.elementor-296 .elementor-element-09dff63,
.elementor-296 .elementor-element-4b4e9a8{
  opacity:0;
  transform:translateY(16px);
  will-change:opacity, transform;
  /* Safety net. If the JS never runs, this animation still reveals the element at 3s and
     holds it revealed. If the JS DOES run, the transition below has already brought it to
     the same values, so this fires invisibly. The page can never stay blank. */
  animation:pmSafetyIn .45s cubic-bezier(.22,.68,.32,1) 3s forwards;}

@keyframes pmSafetyIn{to{opacity:1;transform:none;}}

/* --- 3. The reveal, one class on <html>, staggered by element ------------------------- */
html.pm-go .elementor-296 .elementor-element-8fa96c8,
html.pm-go .elementor-296 .elementor-element-22ea6fb,
html.pm-go .elementor-296 .elementor-element-b9a16f2,
html.pm-go .elementor-296 .elementor-element-826b7e0,
html.pm-go .elementor-296 .elementor-element-09dff63,
html.pm-go .elementor-296 .elementor-element-4b4e9a8{
  opacity:1;
  transform:none;
  transition:opacity .62s cubic-bezier(.22,.68,.32,1) var(--pm-d,0ms),
             transform .62s cubic-bezier(.22,.68,.32,1) var(--pm-d,0ms);}

/* The stagger. Text leads, the form comes in just behind the headline so the two columns
   feel like one movement, and the buttons follow the copy they belong to rather than
   preceding it. 90ms apart: fast enough not to feel like a queue. */
.elementor-296 .elementor-element-8fa96c8{--pm-d:0ms;}
.elementor-296 .elementor-element-22ea6fb{--pm-d:90ms;}
.elementor-296 .elementor-element-4b4e9a8{--pm-d:150ms;}
.elementor-296 .elementor-element-b9a16f2{--pm-d:180ms;}
.elementor-296 .elementor-element-826b7e0{--pm-d:300ms;}
.elementor-296 .elementor-element-09dff63{--pm-d:390ms;}

/* The header rides in with the hero rather than on its own clock. */
.elementor-88 > .e-con{opacity:0;transform:translateY(-10px);
  animation:pmSafetyIn .45s cubic-bezier(.22,.68,.32,1) 3s forwards;}
html.pm-go .elementor-88 > .e-con{opacity:1;transform:none;
  transition:opacity .5s cubic-bezier(.22,.68,.32,1),transform .5s cubic-bezier(.22,.68,.32,1);}

/* --- 4. The HubSpot embed, held at its reserved height until it settles ---------------- */
/* Measured settled iframe heights: 386 at desktop, 403 at tablet, 615 at mobile. The widget
   is pinned to that height and clips its overflow, so the iframe's 992px unstyled phase
   contributes nothing to layout, and the iframe itself is invisible so that phase is never
   seen. The JS replaces --pm-hs-hold with the iframe's OWN measured height a frame before
   releasing, which makes the release a no-op at any viewport rather than a guess. */
html:not(.pm-hsready) .elementor-296 .elementor-element-e8c6547{
  height:var(--pm-hs-hold,386px) !important;
  overflow:hidden !important;}
html:not(.pm-hsready) .elementor-296 .elementor-element-e8c6547 iframe{
  opacity:0 !important;}
.elementor-296 .elementor-element-e8c6547 iframe{
  transition:opacity .34s ease;}
@media(max-width:1024px){
  html:not(.pm-hsready) .elementor-296 .elementor-element-e8c6547{--pm-hs-hold:403px;}}
@media(max-width:767px){
  html:not(.pm-hsready) .elementor-296 .elementor-element-e8c6547{--pm-hs-hold:615px;}}

/* --- 5. Reduced motion ---------------------------------------------------------------- */
/* Not switched off entirely: an opacity only fade carries the same "it arrived deliberately"
   reading without any vestibular trigger, which is the accessible behaviour rather than a
   hard cut. Distance and stagger go; the fade stays and is shortened. */
@media(prefers-reduced-motion:reduce){
  .elementor-296 .elementor-element-8fa96c8,
  .elementor-296 .elementor-element-22ea6fb,
  .elementor-296 .elementor-element-b9a16f2,
  .elementor-296 .elementor-element-826b7e0,
  .elementor-296 .elementor-element-09dff63,
  .elementor-296 .elementor-element-4b4e9a8,
  .elementor-88 > .e-con{transform:none !important;--pm-d:0ms !important;}
  html.pm-go .elementor-296 .elementor-element-8fa96c8,
  html.pm-go .elementor-296 .elementor-element-22ea6fb,
  html.pm-go .elementor-296 .elementor-element-b9a16f2,
  html.pm-go .elementor-296 .elementor-element-826b7e0,
  html.pm-go .elementor-296 .elementor-element-09dff63,
  html.pm-go .elementor-296 .elementor-element-4b4e9a8,
  html.pm-go .elementor-88 > .e-con{transition:opacity .2s linear !important;}}

/* E-44 CORRECTION (2026-09-01), against the research pass. Four changes, each with a reason:

   1. DURATION. 620ms was too slow. Material's guidance and the practitioner consensus put
      the readable band at 150 to 400ms, with anything past 400ms reading as sluggish rather
      than smooth. Cut to 420ms, which with the 390ms tail delay finishes the whole hero in
      810ms after the gate lifts.
   2. EASING. Swapped to cubic-bezier(.16,1,.3,1), a hard decelerating ease out, so each
      element settles into place instead of coasting in at a constant rate.
   3. TRAVEL. translateY(16px) becomes translate3d(0,12px,0): a shorter, calmer move, and the
      3d form promotes it to the compositor. Fixed pixels, never a percentage, so a late font
      swap cannot change how far anything travels.
   4. NO SCRIPT. The 3s safety animation covers a script that loads and fails. It does not
      cover a browser with scripting off, which would sit through a needless 3s hold. The
      scripting media query reveals instantly in that case, and is ignored by every browser
      that does run the script. */

.elementor-296 .elementor-element-8fa96c8,
.elementor-296 .elementor-element-22ea6fb,
.elementor-296 .elementor-element-b9a16f2,
.elementor-296 .elementor-element-826b7e0,
.elementor-296 .elementor-element-09dff63,
.elementor-296 .elementor-element-4b4e9a8{
  transform:translate3d(0,12px,0);}

html.pm-go .elementor-296 .elementor-element-8fa96c8,
html.pm-go .elementor-296 .elementor-element-22ea6fb,
html.pm-go .elementor-296 .elementor-element-b9a16f2,
html.pm-go .elementor-296 .elementor-element-826b7e0,
html.pm-go .elementor-296 .elementor-element-09dff63,
html.pm-go .elementor-296 .elementor-element-4b4e9a8{
  transform:translate3d(0,0,0);
  transition:opacity .42s cubic-bezier(.16,1,.3,1) var(--pm-d,0ms),
             transform .42s cubic-bezier(.16,1,.3,1) var(--pm-d,0ms);}

.elementor-88 > .e-con{transform:translate3d(0,-8px,0);}
html.pm-go .elementor-88 > .e-con{
  transform:translate3d(0,0,0);
  transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1);}

/* No script: reveal immediately rather than holding for the 3s safety animation. */
@media(scripting:none){
  .elementor-296 .elementor-element-8fa96c8,
  .elementor-296 .elementor-element-22ea6fb,
  .elementor-296 .elementor-element-b9a16f2,
  .elementor-296 .elementor-element-826b7e0,
  .elementor-296 .elementor-element-09dff63,
  .elementor-296 .elementor-element-4b4e9a8,
  .elementor-88 > .e-con{
    opacity:1 !important;transform:none !important;animation:none !important;}
  html:not(.pm-hsready) .elementor-296 .elementor-element-e8c6547{
    height:auto !important;overflow:visible !important;}
  html:not(.pm-hsready) .elementor-296 .elementor-element-e8c6547 iframe{opacity:1 !important;}}

/* Reduced motion, tuned to the guidance: keep a short fade, drop the travel, and shorten the
   stagger to 40ms rather than removing it, so the sequence is still legible without motion. */
@media(prefers-reduced-motion:reduce){
  .elementor-296 .elementor-element-8fa96c8,
  .elementor-296 .elementor-element-22ea6fb,
  .elementor-296 .elementor-element-b9a16f2,
  .elementor-296 .elementor-element-826b7e0,
  .elementor-296 .elementor-element-09dff63,
  .elementor-296 .elementor-element-4b4e9a8,
  .elementor-88 > .e-con{transform:none !important;}
  .elementor-296 .elementor-element-8fa96c8{--pm-d:0ms !important;}
  .elementor-296 .elementor-element-22ea6fb{--pm-d:40ms !important;}
  .elementor-296 .elementor-element-4b4e9a8{--pm-d:60ms !important;}
  .elementor-296 .elementor-element-b9a16f2{--pm-d:80ms !important;}
  .elementor-296 .elementor-element-826b7e0{--pm-d:120ms !important;}
  .elementor-296 .elementor-element-09dff63{--pm-d:160ms !important;}
  html.pm-go .elementor-296 .elementor-element-8fa96c8,
  html.pm-go .elementor-296 .elementor-element-22ea6fb,
  html.pm-go .elementor-296 .elementor-element-b9a16f2,
  html.pm-go .elementor-296 .elementor-element-826b7e0,
  html.pm-go .elementor-296 .elementor-element-09dff63,
  html.pm-go .elementor-296 .elementor-element-4b4e9a8,
  html.pm-go .elementor-88 > .e-con{
    transition:opacity .15s linear var(--pm-d,0ms) !important;}}

/* ===== E-44 CORRECTION 2 (2026-09-01), from the post-fix re-measure ==================
   The re-measure proved the embed fix worked and found two faults, both mine.

   FAULT 1, the reserved box was the wrong box. I pinned the WIDGET e8c6547 to 386px, but
   386 is the height of the IFRAME; the widget also contains the card's pill and heading, so
   its real height is 573. The widget was therefore clipped 187px short and jumped to 573 on
   release: one big shift instead of five small ones, which is better but still wrong. The
   hold moves onto the iframe's own parent instead, so the iframe's late layout is contained
   while the card around it keeps its natural height and never moves at all. That parent
   carries no class of its own, so it is addressed with :has(), which is Baseline since
   December 2023.

   FAULT 2, and the real reason entrances have never worked here. An earlier pass added a
   blanket kill switch, still live in the footer's inline stylesheet:
       html.pm-anim .pm-rise,.pm-rise,.pm-header-enter,.pm-hero-enter,.pm-reveal,
       .pm-header-enter.pm-in,.pm-hero-enter.pm-in,.pm-reveal.pm-in{
         opacity:1!important;transform:none!important;transition:none!important;
         animation:none!important}
   That forces every entrance element permanently visible, and it is why the hero showed at
   513ms before fonts had even loaded, and why all 28 .pm-reveal sections have no entrance at
   all. It carries !important at (0,1,0), so it cannot be beaten by specificity alone at the
   same weight; every rule below is therefore !important at (0,3,1) or higher, which does
   beat it. The kill switch is left in place rather than edited out, because it lives inside
   a large inline stylesheet whose widget also carries the site's font import, and rewriting
   that field wholesale is a bigger risk than out ranking it.

   Because the hidden state now has to be !important, a keyframe safety net can no longer
   override it (an important declaration beats an animation). The net is replaced by two
   things that do work: the scripting media query for browsers with JS off, and a reveal
   timer registered as the very first statement of the gate script, before anything that
   could throw. */

/* --- Fault 1: hold the IFRAME's parent, not the whole card --------------------------- */
html:not(.pm-hsready) .elementor-296 .elementor-element-e8c6547{
  height:auto !important;
  overflow:visible !important;}
html:not(.pm-hsready) .elementor-296 .elementor-element-e8c6547 *:has(> iframe){
  height:var(--pm-hs-hold,386px) !important;
  overflow:hidden !important;
  display:block !important;}
@media(max-width:1024px){
  html:not(.pm-hsready) .elementor-296 .elementor-element-e8c6547 *:has(> iframe){--pm-hs-hold:403px;}}
@media(max-width:767px){
  html:not(.pm-hsready) .elementor-296 .elementor-element-e8c6547 *:has(> iframe){--pm-hs-hold:615px;}}

/* --- Fault 2: the hero gate, now out ranking the kill switch -------------------------- */
html:not(.pm-go) .elementor-296 .elementor-element-8fa96c8,
html:not(.pm-go) .elementor-296 .elementor-element-22ea6fb,
html:not(.pm-go) .elementor-296 .elementor-element-b9a16f2,
html:not(.pm-go) .elementor-296 .elementor-element-826b7e0,
html:not(.pm-go) .elementor-296 .elementor-element-09dff63,
html:not(.pm-go) .elementor-296 .elementor-element-4b4e9a8{
  opacity:0 !important;
  transform:translate3d(0,12px,0) !important;
  transition:none !important;
  animation:none !important;}

html.pm-go .elementor-296 .elementor-element-8fa96c8,
html.pm-go .elementor-296 .elementor-element-22ea6fb,
html.pm-go .elementor-296 .elementor-element-b9a16f2,
html.pm-go .elementor-296 .elementor-element-826b7e0,
html.pm-go .elementor-296 .elementor-element-09dff63,
html.pm-go .elementor-296 .elementor-element-4b4e9a8{
  opacity:1 !important;
  transform:translate3d(0,0,0) !important;
  animation:none !important;
  transition:opacity .42s cubic-bezier(.16,1,.3,1) var(--pm-d,0ms),
             transform .42s cubic-bezier(.16,1,.3,1) var(--pm-d,0ms) !important;}

html:not(.pm-go) .elementor-88 > .e-con{
  opacity:0 !important;transform:translate3d(0,-8px,0) !important;
  transition:none !important;animation:none !important;}
html.pm-go .elementor-88 > .e-con{
  opacity:1 !important;transform:translate3d(0,0,0) !important;animation:none !important;
  transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1) !important;}

/* --- The 28 scroll sections, given back the entrance the kill switch removed ---------- */
/* These use an opt in gate: they are hidden ONLY once the script has added .pm-gate. Above
   the fold that would risk a flash, which is why the hero is gated from the stylesheet
   instead; below the fold nothing is on screen at load, so there is nothing to flash, and
   the payoff is that a script that never runs leaves every section plainly visible. */
html.pm-gate .elementor-296 .pm-reveal:not(.pm-seen),
html.pm-gate .elementor-296 .pm-section-enter:not(.pm-seen){
  opacity:0 !important;
  transform:translate3d(0,20px,0) !important;
  transition:none !important;
  animation:none !important;}
html.pm-gate .elementor-296 .pm-reveal.pm-seen,
html.pm-gate .elementor-296 .pm-section-enter.pm-seen{
  opacity:1 !important;
  transform:translate3d(0,0,0) !important;
  animation:none !important;
  transition:opacity .58s cubic-bezier(.16,1,.3,1) var(--pm-d,0ms),
             transform .58s cubic-bezier(.16,1,.3,1) var(--pm-d,0ms) !important;}

/* --- No script: nothing is ever gated ------------------------------------------------- */
@media(scripting:none){
  html:not(.pm-go) .elementor-296 .elementor-element-8fa96c8,
  html:not(.pm-go) .elementor-296 .elementor-element-22ea6fb,
  html:not(.pm-go) .elementor-296 .elementor-element-b9a16f2,
  html:not(.pm-go) .elementor-296 .elementor-element-826b7e0,
  html:not(.pm-go) .elementor-296 .elementor-element-09dff63,
  html:not(.pm-go) .elementor-296 .elementor-element-4b4e9a8,
  html:not(.pm-go) .elementor-88 > .e-con{
    opacity:1 !important;transform:none !important;}
  html:not(.pm-hsready) .elementor-296 .elementor-element-e8c6547 *:has(> iframe){
    height:auto !important;overflow:visible !important;}
  html:not(.pm-hsready) .elementor-296 .elementor-element-e8c6547 iframe{opacity:1 !important;}}

/* --- Reduced motion ------------------------------------------------------------------- */
@media(prefers-reduced-motion:reduce){
  html:not(.pm-go) .elementor-296 .elementor-element-8fa96c8,
  html:not(.pm-go) .elementor-296 .elementor-element-22ea6fb,
  html:not(.pm-go) .elementor-296 .elementor-element-b9a16f2,
  html:not(.pm-go) .elementor-296 .elementor-element-826b7e0,
  html:not(.pm-go) .elementor-296 .elementor-element-09dff63,
  html:not(.pm-go) .elementor-296 .elementor-element-4b4e9a8,
  html:not(.pm-go) .elementor-88 > .e-con,
  html.pm-gate .elementor-296 .pm-reveal:not(.pm-seen),
  html.pm-gate .elementor-296 .pm-section-enter:not(.pm-seen){
    transform:none !important;}
  html.pm-go .elementor-296 .elementor-element-8fa96c8,
  html.pm-go .elementor-296 .elementor-element-22ea6fb,
  html.pm-go .elementor-296 .elementor-element-b9a16f2,
  html.pm-go .elementor-296 .elementor-element-826b7e0,
  html.pm-go .elementor-296 .elementor-element-09dff63,
  html.pm-go .elementor-296 .elementor-element-4b4e9a8,
  html.pm-go .elementor-88 > .e-con,
  html.pm-gate .elementor-296 .pm-reveal.pm-seen,
  html.pm-gate .elementor-296 .pm-section-enter.pm-seen{
    transform:none !important;
    transition:opacity .15s linear var(--pm-d,0ms) !important;}}

/* E-28c (2026-09-01) The hero pill, finally diagnosed by measuring all six pills side by side
   instead of adjusting the one. The numbers:

     69632ed "The Problem We Solve"   26px tall   6px 13px   11px/600/0.5px   inline-flex
     7904b85 "Why ProMed"             26px tall   6px 13px   11px/600/0.5px   inline-flex
     e3e64d9 "Our Solutions"          26px tall   6px 13px   11px/600/0.5px   inline-flex
     e8c6547 "Request Staff"          26px tall   6px 13px   11px/500/0.5px   inline-flex
     925f480 "How We Work"            33px tall   9px 18px   12px/600/0.6px   BLOCK
     8fa96c8 hero                     56px tall   9px 18px   12px/600/0.6px   BLOCK

   Four agree; two do not, and the hero is more than twice the height of the standard. The
   reason every previous attempt missed it: on the hero the mint pill is painted on the WIDGET
   WRAPPER, a block level div carrying the pm-eyebrow class, and my earlier rules were styling
   the .elementor-heading-title INSIDE it. So the fixes were real but landed on the inner
   element, giving a 26px pill nested inside a second 9px 18px pill on the wrapper: 9 + 26 + 9
   plus line box rounding is the 56px on screen. It was never one oversized pill, it was two.

   Fixed by making the structure match the four that are already correct: the wrapper goes back
   to being a plain block with no fill, no padding and no radius, and the pill lives only on the
   inner title, at the standard's exact values. 925f480 is brought onto the same standard in the
   same rule, since it was the other outlier. */

/* the wrappers stop being pills */
.elementor-296 .elementor-element.elementor-element-8fa96c8,
.elementor-296 .elementor-element.elementor-element-925f480{
  background:none !important;
  background-color:transparent !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  display:block !important;
  width:auto !important;
  line-height:normal !important;}

/* and the pill lives on the inner title, at the standard's exact measured values */
.elementor-296 .elementor-element.elementor-element-8fa96c8 .elementor-heading-title,
.elementor-296 .elementor-element.elementor-element-925f480 .elementor-heading-title{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  padding:6px 13px !important;
  border-radius:30px !important;
  background-color:#C1E0DE !important;
  color:#002B2C !important;
  font-family:'Open Sans',sans-serif !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.5px !important;
  line-height:13.75px !important;
  text-transform:uppercase !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;}

.elementor-296 .elementor-element.elementor-element-8fa96c8 .elementor-heading-title i,
.elementor-296 .elementor-element.elementor-element-8fa96c8 .elementor-heading-title svg,
.elementor-296 .elementor-element.elementor-element-925f480 .elementor-heading-title i,
.elementor-296 .elementor-element.elementor-element-925f480 .elementor-heading-title svg{
  font-size:11px !important;width:11px !important;height:11px !important;line-height:1 !important;}

/* E-44 CORRECTION 3 (2026-09-01). One visible shift was left: the card grew 487 -> 573 at
   1602ms. Cause: the hold is written with *:has(> iframe), and that .elementor-90 cannot match
   until the iframe actually exists in the DOM. Before HubSpot injects it, the target div has
   no reserved height at all, so the card renders 86px short and then grows the moment the
   iframe arrives.

   The clip still belongs on the iframe's parent, because that is what contains the 992px
   unstyled phase. But the RESERVATION has to sit on something that exists in the server
   rendered HTML from the first paint, which is the widget itself. So the widget carries a
   permanent min-height at its measured settled height and the card is the right size before
   anything loads.

   The min-height is permanent rather than released, because taking away space that was set
   aside shifts the page exactly as much as inserting content does. Measured settled widget
   heights: 573 desktop, 622 tablet, 820 mobile. */
.elementor-296 .elementor-element.elementor-element-e8c6547{
  min-height:573px !important;}
@media(max-width:1024px){
  .elementor-296 .elementor-element.elementor-element-e8c6547{min-height:622px !important;}}
@media(max-width:767px){
  .elementor-296 .elementor-element.elementor-element-e8c6547{min-height:820px !important;}}

/* E-42c (2026-09-01) The logo rail, third attempt, this time measured instead of assumed.
   The chain from the rail outward at 1440:
       .pm-marquee      1280px @x=80
       9cd3da7          1280px @x=80
       .e-con-inner     1344px @x=48   max-width:1344px   padding 32/32   <-- the cage
       5f34e78          1440px @x=0
   So E-42b, which tried to release that inner wrapper, never applied. Rather than keep
   fighting a wrapper whose max-width is set by Elementor's own content-width variable, the
   rail escapes it: width:100vw with a negative margin of calc(50% - 50vw) pulls an element
   out to the full viewport from inside ANY centred container, without needing that container
   to cooperate. 100vw counts the scrollbar, so the section clips its own horizontal overflow
   to stop that becoming a scrollbar of its own.

   Also per the client: bigger logos and a genuinely seamless loop.
   Bigger: each source PNG is a square canvas with the mark occupying only its middle, so the
   artwork was rendering about half the height of the 154px box it sat in. Raising the cap
   alone hits the tile edge before the mark looks big, so the image is scaled up past its own
   built in padding and the tile clips the empty margin. Mark now reads roughly 2x larger.
   Seamless: the set is duplicated (16 tiles from 8 logos) and the track travels exactly half
   its content plus half a gap. Measured: 16 x 320 + 15 x 72 = 6200 track, half the content is
   8 x 320 + 8 x 72 = 3136, which is calc(-50% - 36px). If that offset does not match the gap
   the rail jumps by half a gap every cycle, which is what a mismatched value looks like. */

/* full bleed escape */
.elementor-296 .elementor-element.elementor-element-9cd3da7,
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:0 !important;
  padding-right:0 !important;}
.elementor-296 .elementor-element.elementor-element-5f34e78{
  overflow-x:clip !important;}

/* the support line keeps the site wrapper: only the rail goes edge to edge */
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-logo-support{
  width:auto !important;margin-left:0 !important;margin-right:0 !important;}

/* bigger tiles, bigger marks */
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track{
  gap:72px !important;
  align-items:center !important;}
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{
  width:320px !important;height:190px !important;padding:0 !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  overflow:hidden !important;flex:0 0 auto !important;}
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
  max-height:none !important;max-width:none !important;
  width:250px !important;height:250px !important;
  object-fit:contain !important;
  transform:scale(1.5) !important;}

/* one true keyframe, matched to the 320px tile and 72px gap above */
@keyframes pmLogoMarquee{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - 36px));}}
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track{
  animation:pmLogoMarquee 42s linear infinite !important;
  will-change:transform;}
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee:hover .pm-marquee-track{
  animation-play-state:paused !important;}

@media(max-width:1024px){
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track{gap:52px !important;}
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{
    width:230px !important;height:140px !important;}
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
    width:180px !important;height:180px !important;}
  @keyframes pmLogoMarquee{from{transform:translateX(0);}to{transform:translateX(calc(-50% - 26px));}}}
@media(max-width:767px){
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track{gap:40px !important;}
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{
    width:170px !important;height:108px !important;}
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
    width:135px !important;height:135px !important;}
  @keyframes pmLogoMarquee{from{transform:translateX(0);}to{transform:translateX(calc(-50% - 20px));}}}

@media(prefers-reduced-motion:reduce){
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track{
    animation:none !important;flex-wrap:wrap !important;justify-content:center !important;}}

/* E-42d (2026-09-01). The rail went full bleed and the logos got big, but scale(1.5) clipped
   the wordmarks: "NL Healtl", "nova scotia health authorit", "Saska Heal". Cause: each source
   is a SQUARE canvas holding a HORIZONTAL lockup, so the artwork is wide and short with large
   transparent bands above and below. Scaling a square up inside a 320x190 tile overflows the
   tile's WIDTH long before the mark looks big, and the tile clips the letters off.

   The right lever is not scale, it is which axis drives the fit. The image is sized by the
   SQUARE (300 x 300) and contain fitted, so the lockup renders at nearly the full 300px of
   width, while the tile at 190px tall clips only the empty transparent bands top and bottom.
   Same visual size as the scaled version, with nothing cut off, because the only thing being
   cropped is padding that was never artwork. */
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
  width:300px !important;height:300px !important;
  max-width:none !important;max-height:none !important;
  object-fit:contain !important;
  transform:none !important;}
@media(max-width:1024px){
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
    width:210px !important;height:210px !important;}}
@media(max-width:767px){
  .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
    width:155px !important;height:155px !important;}}

/* The support line lost its centring when the rail was released, because the same rule that
   freed the rail also zeroed its margins. It belongs centred under the heading, on the site
   wrapper, not flush left. */
.elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-logo-support{
  width:auto !important;
  max-width:1280px !important;
  margin:0 auto 28px !important;
  text-align:center !important;
  padding-left:32px !important;padding-right:32px !important;}

/* ===== E-44 FINAL (2026-09-01). The entrance, rebuilt as pure CSS. ====================
   The gate version blanked the client's page twice. The architecture was the fault, not the
   tuning: the stylesheet hid the content and a script was the ONLY thing that could reveal
   it, so every case where the script is stale, cached, blocked, or throws leaves the page
   permanently blank. A browser holding cached HTML with the previous script plus the current
   stylesheet does exactly that. A design whose worst case is "most of the site is invisible"
   is not acceptable on a page that has to sell, no matter how well it tests.

   So the dependency is removed rather than hardened. Every entrance below is a CSS animation
   with `both` fill: the fill hides the element before the animation starts and the animation
   always finishes visible, on its own, with nothing to trigger it and nothing to release it.
   There is no class to be added, no observer to fire and no timer to reach, so there is no
   state in which content stays hidden. If the CSS itself fails to load, the content is simply
   visible with no animation, which is the correct failure direction.

   Also per the client: the hero arrives AS ONE. The stagger is gone. Every hero element,
   including the form column, carries the same delay and the same duration, so nothing can
   appear to lag behind anything else.

   These rules must out rank two earlier things: the html:not(.pm-go) gate written earlier
   today at (0,3,1), and the pre existing kill switch at (0,1,0) that forces every entrance
   element permanently visible with !important. Adding `body` to the .elementor-90 takes these to
   (0,3,2), which beats both, and they sit later in the stylesheet as well. */

@keyframes pmHeroIn{
  from{opacity:0;transform:translate3d(0,14px,0);}
  to  {opacity:1;transform:translate3d(0,0,0);}}

html body .elementor-296 .elementor-element.elementor-element-8fa96c8,
html body .elementor-296 .elementor-element.elementor-element-22ea6fb,
html body .elementor-296 .elementor-element.elementor-element-b9a16f2,
html body .elementor-296 .elementor-element.elementor-element-826b7e0,
html body .elementor-296 .elementor-element.elementor-element-09dff63,
html body .elementor-296 .elementor-element.elementor-element-4b4e9a8{
  animation:pmHeroIn .55s cubic-bezier(.16,1,.3,1) .12s both !important;
  transition:none !important;
  opacity:1;}

html body .elementor-88 > .e-con{
  animation:pmHeroIn .5s cubic-bezier(.16,1,.3,1) 0s both !important;
  transition:none !important;}

/* Any earlier gate state is cancelled outright, at a specificity that beats it, so a stale
   cached script that still adds .pm-go or .pm-gate cannot change what happens here. */
html.pm-gate body .elementor-296 .pm-reveal.pm-reveal,
html.pm-gate body .elementor-296 .pm-section-enter.pm-section-enter,
html body .elementor-296 .pm-reveal.pm-reveal,
html body .elementor-296 .pm-section-enter.pm-section-enter{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
  animation:none !important;
  transition:none !important;}

/* The HubSpot embed, also on a pure CSS clock ------------------------------------------
   Same principle. The widget keeps a permanent min-height at its measured settled size, so
   the card is never short and never jumps. The iframe's own box is clipped to the measured
   settled height and its contents held invisible, and BOTH are released by a zero duration
   animation at 2.6s, just past the 2.7s the embed was measured to need. The release is
   unconditional, so the form can never be left invisible or permanently clipped: the worst
   case is a brief glimpse of an unstyled form, which is a far better failure than a dead
   lead form. The clip is released fully, so validation messages can always expand the box. */
html body .elementor-296 .elementor-element.elementor-element-e8c6547{
  min-height:573px !important;}
@media(max-width:1024px){
  html body .elementor-296 .elementor-element.elementor-element-e8c6547{min-height:622px !important;}}
@media(max-width:767px){
  html body .elementor-296 .elementor-element.elementor-element-e8c6547{min-height:820px !important;}}

@keyframes pmHsRelease{
  from{max-height:386px;}
  to  {max-height:6000px;}}
@keyframes pmHsFade{
  from{opacity:0;}
  to  {opacity:1;}}

html body .elementor-296 .elementor-element.elementor-element-e8c6547 *:has(> iframe){
  overflow:hidden !important;
  animation:pmHsRelease 0s linear 2.6s both !important;}
html body .elementor-296 .elementor-element.elementor-element-e8c6547 iframe{
  animation:pmHsFade .3s ease 2.6s both !important;}

@media(prefers-reduced-motion:reduce){
  html body .elementor-296 .elementor-element.elementor-element-8fa96c8,
  html body .elementor-296 .elementor-element.elementor-element-22ea6fb,
  html body .elementor-296 .elementor-element.elementor-element-b9a16f2,
  html body .elementor-296 .elementor-element.elementor-element-826b7e0,
  html body .elementor-296 .elementor-element.elementor-element-09dff63,
  html body .elementor-296 .elementor-element.elementor-element-4b4e9a8,
  html body .elementor-88 > .e-con{
    animation:pmHsFade .18s linear 0s both !important;}}

/* ===== E-44 FINAL 2 (2026-09-01). Cancelling the dead gate for real. =================
   Measured after removing the script: JS OFF hid nothing, JS ON hid NINE hero elements. The
   asymmetry gave away the cause. With scripting off the earlier @media(scripting:none) block
   forces everything visible, so that path was fine. With scripting ON there is no longer any
   script to add .pm-go, so `html:not(.pm-go)` matches forever and its `opacity:0 !important`
   holds the hero invisible permanently. That is the live state this fixes.

   And a plain `animation` cannot rescue it: in the CSS cascade an !important declaration
   beats an animation, so the new entrance was running while the old important opacity kept
   winning. The fix has to cancel that declaration with an important one of its own, at higher
   specificity, which then rules out animating `opacity` at all.

   So the fade is done with `filter: opacity()` instead. It is a DIFFERENT property, untouched
   by the old rule, and it composites identically to a normal fade. `opacity` itself is pinned
   to 1 with !important purely to disarm the dead gate. Selectors carry `html body` to reach
   (0,3,2) and (0,3,3), which outrank the (0,3,1) and (0,3,2) of the rules they cancel. */

@keyframes pmHeroFade{
  from{filter:opacity(0);transform:translate3d(0,14px,0);}
  to  {filter:opacity(1);transform:translate3d(0,0,0);}}

html body .elementor-296 .elementor-element.elementor-element-8fa96c8,
html body .elementor-296 .elementor-element.elementor-element-22ea6fb,
html body .elementor-296 .elementor-element.elementor-element-b9a16f2,
html body .elementor-296 .elementor-element.elementor-element-826b7e0,
html body .elementor-296 .elementor-element.elementor-element-09dff63,
html body .elementor-296 .elementor-element.elementor-element-4b4e9a8{
  opacity:1 !important;
  visibility:visible !important;
  transition:none !important;
  /* one delay and one duration for every element, so the hero lands as a single movement and
     the form column cannot appear to lag behind the text, which the client called out twice */
  animation:pmHeroFade .55s cubic-bezier(.16,1,.3,1) .12s both !important;}

html body .elementor-88 > .e-con{
  opacity:1 !important;visibility:visible !important;transition:none !important;
  animation:pmHeroFade .5s cubic-bezier(.16,1,.3,1) 0s both !important;}

/* The embed's dead holds, cancelled the same way. Without a script, `html:not(.pm-hsready)`
   also matches forever, which was pinning the iframe to opacity 0 and clipping its box to
   386px permanently: a dead lead form. Both are released on a pure CSS clock at 2.6s, just
   past the 2.7s the embed was measured to need, and the clip is released to a height that
   cannot cut off validation messages. */
@keyframes pmHsRelease{from{max-height:386px;}to{max-height:6000px;}}
@keyframes pmHsFade{from{filter:opacity(0);}to{filter:opacity(1);}}

html body .elementor-296 .elementor-element.elementor-element-e8c6547 *:has(> iframe){
  height:auto !important;
  overflow:hidden !important;
  animation:pmHsRelease 0s linear 2.6s both !important;}
html body .elementor-296 .elementor-element.elementor-element-e8c6547 iframe{
  opacity:1 !important;
  animation:pmHsFade .3s ease 2.6s both !important;}

@media(prefers-reduced-motion:reduce){
  html body .elementor-296 .elementor-element.elementor-element-8fa96c8,
  html body .elementor-296 .elementor-element.elementor-element-22ea6fb,
  html body .elementor-296 .elementor-element.elementor-element-b9a16f2,
  html body .elementor-296 .elementor-element.elementor-element-826b7e0,
  html body .elementor-296 .elementor-element.elementor-element-09dff63,
  html body .elementor-296 .elementor-element.elementor-element-4b4e9a8,
  html body .elementor-88 > .e-con{
    animation:pmHsFade .18s linear 0s both !important;}}

/* ===== E-42e (2026-09-01) Logo rail: smaller, aligned, and as crisp as the files allow ===
   Client: too big, Saskatchewan off the shared baseline, and pixelated.

   Pixelation is a source limit, not a CSS one. Seven of the eight files are 200x200 and were
   being rendered at 300x300, so they were upscaled 1.5x before the display even doubled it.
   Saskatchewan is the one 2000x2000 file, which is why it was the only sharp mark. Rendering
   at 130px puts every logo at or under its natural size at 1x and only 1.3x at 2x DPR, which
   is the crispest these particular files can be. TRUE retina needs 400px or larger sources:
   flagged for the client, since it cannot be solved from CSS.

   Alignment: the marks sat at different heights because a short tile was CLIPPING each square
   canvas, so any logo whose artwork is not dead centre in its own canvas drifted. The tile is
   now taller than the image and nothing is clipped, so `contain` centres every mark in an
   identical box and they share one optical baseline. */
html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{
  width:230px !important;height:150px !important;padding:0 !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  overflow:visible !important;flex:0 0 auto !important;}
html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
  width:130px !important;height:130px !important;
  max-width:none !important;max-height:none !important;
  object-fit:contain !important;transform:none !important;
  image-rendering:auto !important;}
html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track{
  gap:56px !important;align-items:center !important;}

/* track = 16 x 230 + 15 x 56 = 4520; half the content = 8 x 230 + 8 x 56 = 2288 = -50% - 28px */
@keyframes pmLogoMarquee{
  from{transform:translateX(0);}
  to  {transform:translateX(calc(-50% - 28px));}}

@media(max-width:1024px){
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track{gap:44px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{
    width:186px !important;height:120px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
    width:108px !important;height:108px !important;}
  @keyframes pmLogoMarquee{from{transform:translateX(0);}to{transform:translateX(calc(-50% - 22px));}}}
@media(max-width:767px){
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track{gap:34px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{
    width:146px !important;height:96px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img{
    width:88px !important;height:88px !important;}
  @keyframes pmLogoMarquee{from{transform:translateX(0);}to{transform:translateX(calc(-50% - 17px));}}}

/* ===== E-45 (2026-09-01) Internal page heroes, rebuilt as two columns ==================
   Client: "the internal pages, since we don't have the form on the hero, the hero must be
   the two columns, the text on the left, and the person with the art on their background to
   the right where the form was on the home page", and separately that the hero photos are
   badly cropped.

   Measured on /solutions/ and /specialties/ at 1440, the crop was a symptom and the layout
   was the disease. The hero is a COLUMN stack, not a row:
       hero            1201px tall
         text column     845 x 533  at y=75
         media column    640 x 594  at y=608
           image         329 x 520  at y=640
   So the person begins 640px down and ends at 1160px, entirely below a 900px fold. Nothing
   was mis-cropped: the photo was simply pushed off the bottom of the screen by a hero twice
   the height it should be, and all anyone ever saw was the top of a head at the bottom edge.
   Turning the stack into a row puts the person beside the text, in view, at a sane hero
   height, and fixes the framing as a side effect.

   Written structurally rather than by element id, because all ten internal heroes share this
   shape but none of them share ids, so one rule set covers all ten and any page added later.
   Page 296 is excluded: the home hero has its own two column layout with the form. */

/* the hero becomes a row */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child,
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner{
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  column-gap:56px !important;
  row-gap:0 !important;}

/* text left, media right. 54/42 matches the home hero's split so the two read as one system */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con.e-child:first-of-type,
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con.e-child:first-of-type{
  flex:0 1 54% !important;
  max-width:54% !important;
  width:auto !important;}
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con.e-child:last-of-type,
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con.e-child:last-of-type{
  flex:0 1 42% !important;
  max-width:42% !important;
  width:auto !important;
  align-self:stretch !important;
  justify-content:center !important;}

/* The photo. It fills its column and is framed on the upper body rather than cropped to a
   fixed box: object-position sits at 50% 18%, which keeps the head clear of the top edge on
   every one of the nine portraits without cutting the shoulders off at the bottom. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image{
  width:100% !important;}
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image img{
  width:100% !important;
  height:520px !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:50% 18% !important;}

/* The hero no longer needs to be tall enough to stack two blocks. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child{
  min-height:0 !important;
  padding-top:72px !important;
  padding-bottom:72px !important;}

/* Tablet and below: the row becomes a stack again, because 42% of 1024 is too narrow for a
   portrait to read. The photo shortens so the text still leads. */
@media(max-width:1024px){
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child,
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner{
    flex-direction:column !important;
    align-items:stretch !important;
    row-gap:36px !important;}
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con.e-child:first-of-type,
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con.e-child:first-of-type,
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con.e-child:last-of-type,
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con.e-child:last-of-type{
    flex:1 1 auto !important;max-width:none !important;}
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image img{
    height:420px !important;}}
@media(max-width:767px){
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image img{
    height:340px !important;}
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child{
    padding-top:48px !important;padding-bottom:48px !important;}}

/* E-45b (2026-09-01). The two column heroes read correctly now, but several faces were still
   being cut: FAQ lost the head entirely, lab-pharmacy and solutions were clipped at the crown,
   and imaging pushed the figure off to the right edge of its blob.

   Cause: object-fit COVER. Cover fills the box by cropping whatever does not fit, which is the
   right behaviour for a photograph of a scene and the WRONG behaviour for a cutout of a
   person. Every one of these nine files is a tightly cropped transparent PNG of one figure, so
   any crop at all removes part of that figure, and no object-position value can rescue it:
   moving the window down uncovers the feet and cuts the head, moving it up does the reverse.

   CONTAIN fits the whole figure inside the box instead, so the person is complete by
   construction at every viewport and every aspect ratio, and the mint blob behind them
   supplies the shape that cover was being used to provide. Anchored to the bottom so the
   figures stand on a common baseline across the ten pages rather than floating at different
   heights. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image img{
  width:100% !important;
  height:520px !important;
  object-fit:contain !important;
  object-position:50% 100% !important;
  border-radius:0 !important;}
@media(max-width:1024px){
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image img{
    height:430px !important;}}
@media(max-width:767px){
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image img{
    height:350px !important;}}

/* E-45c (2026-09-01) Request Staff hero. The two column rule fixed the other nine pages and
   made this one worse, for a reason worth recording: its right column is not a photo, it is
   the full HubSpot form, measured at 1420px tall against a 505px text column. Centring two
   columns that differ by 900px pushes the shorter one to the middle, which put the heading at
   y=605 and left "Tell Us What You Need Covered" cut off below the fold.

   Vertical centring is only ever right when the two columns are of comparable height. Here the
   text is pinned to the top instead, and made sticky so it stays with the reader while they
   work down a long form, which is the standard treatment for a form page and turns the height
   difference from a defect into an advantage.

   The exec portrait inside the text column is also released from the hero image rule: that
   rule exists to frame a full height figure in the right hand column, and this is a small
   accent image in the left one, so forcing it to 520px tall was wrong. */
.elementor-316 > .e-con:first-child,
.elementor-316 > .e-con:first-child > .e-con-inner{
  align-items:flex-start !important;}

.elementor-316 > .e-con:first-child > .e-con.e-child:first-of-type,
.elementor-316 > .e-con:first-child > .e-con-inner > .e-con.e-child:first-of-type{
  position:sticky !important;
  top:104px !important;
  align-self:flex-start !important;}

/* the accent portrait keeps its own proportions */
.elementor-316 > .e-con:first-child .pm-rs-exec img{
  height:auto !important;
  max-height:300px !important;
  width:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:50% 50% !important;}

@media(max-width:1024px){
  .elementor-316 > .e-con:first-child > .e-con.e-child:first-of-type,
  .elementor-316 > .e-con:first-child > .e-con-inner > .e-con.e-child:first-of-type{
    position:static !important;}}

/* ===== E-35 (2026-09-01) Coverage You Can Plan Around ================================= */
/* Client: the heading should sit on ONE line, the four cards should centre consistently and
   their gaps should be even. Measured at 1440: the heading was breaking after "You" because
   its max-width was set for the previous typeface and is now narrower than the line needs,
   and the cards were sized by content so their internal spacing drifted apart. */
.elementor-296 .elementor-element.elementor-element-2189699 .elementor-widget-heading h2,
.elementor-296 .elementor-element.elementor-element-2189699 .elementor-heading-title{
  max-width:none !important;
  text-wrap:balance !important;}

/* one row, even gaps, equal height cards */
.elementor-296 .elementor-element.elementor-element-2189699 .e-con.e-child:has(.elementor-widget-icon-box),
.elementor-296 .elementor-element.elementor-element-2189699 > .e-con-inner > .e-con:has(> .e-con){
  column-gap:24px !important;
  align-items:stretch !important;}
.elementor-296 .elementor-element.elementor-element-2189699 .elementor-widget-icon-box{
  height:100% !important;}
.elementor-296 .elementor-element.elementor-element-2189699 .elementor-icon-box-wrapper{
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
  padding:30px 24px !important;
  gap:14px !important;}
.elementor-296 .elementor-element.elementor-element-2189699 .elementor-icon-box-title{
  margin:0 !important;min-height:48px !important;display:flex !important;align-items:center !important;}
.elementor-296 .elementor-element.elementor-element-2189699 .elementor-icon-box-description{
  margin:0 !important;}

/* ===== E-36 (2026-09-01) Closing stats strip and call to action ======================= */
/* Client: bigger icons and headings, the four sitting closer together with equal gaps, a
   wider centred CTA box, and the white border off the orange button.
   Measured: the strip's four columns were spaced by flex-grow rather than a gap, so the space
   between them varied with the length of each caption; the icons rendered at 28px against
   38px stat headings, which reads as an afterthought rather than a set. */
.elementor-296 .elementor-element.elementor-element-e436e72 > .e-con-inner,
.elementor-296 .elementor-element.elementor-element-e436e72{
  display:flex !important;
  justify-content:center !important;
  column-gap:0 !important;}
.elementor-296 .elementor-element.elementor-element-e436e72 .elementor-widget-icon-box{
  flex:1 1 0 !important;
  max-width:none !important;}
.elementor-296 .elementor-element.elementor-element-e436e72 .elementor-icon-box-wrapper{
  text-align:center !important;
  padding:26px 18px !important;
  gap:12px !important;}
/* icons up from 28 to 40, and the stat word up so the two read as one unit */
.elementor-296 .elementor-element.elementor-element-e436e72 .elementor-icon i,
.elementor-296 .elementor-element.elementor-element-e436e72 .elementor-icon svg{
  font-size:40px !important;width:40px !important;height:40px !important;}
.elementor-296 .elementor-element.elementor-element-e436e72 .elementor-icon-box-title,
.elementor-296 .elementor-element.elementor-element-e436e72 .elementor-icon-box-title span{
  font-family:'Urbanist',sans-serif !important;
  font-size:26px !important;
  font-weight:700 !important;
  letter-spacing:.4px !important;
  line-height:1.15 !important;
  margin:0 !important;}
.elementor-296 .elementor-element.elementor-element-e436e72 .elementor-icon-box-description{
  font-size:13px !important;line-height:1.4 !important;margin:0 !important;
  max-width:210px !important;margin-left:auto !important;margin-right:auto !important;}

/* the closing CTA panel: wider and centred rather than a narrow box hugging the left edge */
.elementor-296 .elementor-element.elementor-element-6fe285f .e-con.e-child:has(.elementor-widget-button),
.elementor-296 .elementor-element.elementor-element-6fe285f > .e-con-inner > .e-con:first-child{
  max-width:840px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
  align-items:center !important;
  padding:44px 48px !important;}
.elementor-296 .elementor-element.elementor-element-6fe285f .elementor-widget-button{
  align-self:center !important;}

/* E-36d the orange button carried a white border, which reads as a ring around the fill.
   The button contract has no border on the primary: the fill IS the edge. */
.elementor-296 .elementor-element.elementor-element-6fe285f .elementor-button,
.elementor-296 .pm-primary .elementor-button,
.elementor-296 .elementor-button[class*="pm-primary"]{
  border:0 !important;
  box-shadow:none !important;}

/* E-35b (2026-09-01) "Coverage You Can Plan Around" kept breaking after "You" even with the
   width released. Measured: the heading needs 598px for one line and its box is 640px, so
   width was never the constraint. The break is a hard <br> in the heading markup, which no
   amount of max-width can override.
   The <br> is neutralised for this heading only, at desktop only: below 1024 the line genuinely
   does not fit and wrapping is correct there, so the break is allowed back. */
@media(min-width:1025px){
  .elementor-296 .elementor-element.elementor-element-9b76c3e .elementor-heading-title br{
    display:none !important;}
  .elementor-296 .elementor-element.elementor-element-9b76c3e .elementor-heading-title{
    max-width:none !important;
    white-space:nowrap !important;}
  .elementor-296 .elementor-element.elementor-element-9b76c3e,
  .elementor-296 .elementor-element.elementor-element-9b76c3e > .e-con-inner{
    max-width:none !important;width:100% !important;}}

/* ===== E-44 FINAL 3 (2026-09-01) The header was invisible. Live bug, fixed. ============
   The full audit caught it: the same five element ids reported invisible on all eleven pages.
   They are the header's entire contents. `d18e658` is the ONLY child of .elementor-88 and
   everything else (the logo, the nav, the Request Staff button) sits inside it, so with that
   one container at opacity 0 the whole header was gone.

   Cause, and it is the same trap as before, caught by arithmetic I got wrong:
       dead gate   html:not(.pm-go) .elementor-88 > .e-con   =  1 element + 3 classes = (0,3,1)
       my fix      html body .elementor-88 > .e-con          =  2 elements + 2 classes = (0,2,2)
   Specificity compares class count BEFORE element count, so (0,3,1) beats (0,2,2) and the
   dead gate kept winning. The hero rules happened to carry a third class and survived, which
   is why the hero measured clean and the header did not.

   Fixed by repeating .e-con to reach 3 classes and 2 elements, (0,3,2), which genuinely
   outranks it. The fade is done with `filter: opacity()` for the same reason as everywhere
   else: an !important opacity is required to disarm the dead gate, and that would otherwise
   beat any animation on the same property. */
html body .elementor-88 > .e-con.e-con,
html body .elementor-88 > .e-con.e-con > .e-con-inner{
  opacity:1 !important;
  visibility:visible !important;
  transition:none !important;}
html body .elementor-88 > .e-con.e-con{
  animation:pmHeroFade .5s cubic-bezier(.16,1,.3,1) 0s both !important;}

/* Every descendant of the header is released too, so no leftover gate rule can hold a child
   invisible inside a now visible parent. */
html body .elementor-88 .elementor-element.elementor-element{
  opacity:1 !important;
  visibility:visible !important;}

/* ===== E-46 (2026-09-01) Horizontal overflow at 390 ==================================
   Measured: document scrollWidth 427 against a 390 viewport, a 37px overspill. The culprits
   are three icon boxes (4cf1730, 49dc4ee, 44e4163) sitting in a row at x=163 and 264px wide,
   so they run to 427. They are laid out horizontally and never wrap, which is fine at 1440
   and impossible at 390.
   Stacked at mobile so each takes the full column, and the row is allowed to wrap as a
   backstop in case another item is added to it later. */
@media(max-width:767px){
  html body .elementor-296 .elementor-element.elementor-element-4cf1730,
  html body .elementor-296 .elementor-element.elementor-element-49dc4ee,
  html body .elementor-296 .elementor-element.elementor-element-44e4163{
    width:100% !important;
    max-width:100% !important;
    flex:1 1 100% !important;
    margin-left:0 !important;
    margin-right:0 !important;}
  html body .elementor-296 .elementor-element.elementor-element-4cf1730 .elementor-icon-box-wrapper,
  html body .elementor-296 .elementor-element.elementor-element-49dc4ee .elementor-icon-box-wrapper,
  html body .elementor-296 .elementor-element.elementor-element-44e4163 .elementor-icon-box-wrapper{
    width:100% !important;max-width:100% !important;}
  /* the row that holds them wraps rather than running off the edge */
  html body .elementor-296 .e-con:has(> .elementor-element-4cf1730){
    flex-wrap:wrap !important;row-gap:18px !important;}
  /* nothing anywhere may push the document wider than the screen */
  html body .elementor-296,
  html body .elementor-88{overflow-x:clip !important;}}

/* ===== E-47 (2026-09-01) Section photography, casting pass ===========================
   Client direction: the imagery skewed heavily one way and should be predominantly Caucasian.

   The HERO images cannot be changed tonight: they are transparent cutout PNGs, an A/B test
   showed a rectangular photo in that slot looks clearly worse (see p7/photos/AB.png), and
   automatic background removal produced damaged results on four of six attempts. That is
   documented in the morning report and needs proper cutout assets.

   The SECTION images are ordinary rectangular photographs, so they can be re-cast safely with
   no change to the design. They are swapped here with `content: url()` from the site wide
   stylesheet rather than by editing ten pages: page 296's _elementor_data is already large
   enough that saves fail, this touches no page data at all, and reverting is one deleted
   block. Alt text is unaffected because `content` replaces only what is painted.

   Every replacement is patient free, per the standing imagery rule, and none is used on more
   than two pages, per the reuse rule. */

/* leadership / facility management scenes */
html body img[src*="pexels-photo-7433840"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pexels-photo-7433851.jpeg) !important;}

/* clinicians conferring, replacing the chart-and-corridor frames */
html body img[src*="pexels-photo-6129194"],
html body img[src*="pexels-photo-6129147"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pexels-photo-6129653.jpeg) !important;}

/* imaging: radiologist at the reporting station */
html body img[src*="pexels-photo-8413332"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pexels-photo-7088533.jpeg) !important;}

/* pharmacy */
html body img[src*="pexels-photo-14797864"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pexels-photo-8657290.jpeg) !important;}

/* laboratory */
html body img[src*="pexels-photo-3993214"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pexels-photo-8442574.jpeg) !important;}

/* facility reception */
html body img[src*="pexels-photo-4269273"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pexels-photo-4269271.jpeg) !important;}

/* the handshake on the home and solutions pages */
html body img[src*="pexels-photo-5439153"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pexels-photo-5520322.jpeg) !important;}

/* `content` swaps the painted image but leaves the element box, so the fit rules that were
   tuned for the originals are restated here to keep every swapped frame cropping the same way. */
html body img[src*="pexels-photo-7433840"],
html body img[src*="pexels-photo-6129194"],
html body img[src*="pexels-photo-6129147"],
html body img[src*="pexels-photo-8413332"],
html body img[src*="pexels-photo-14797864"],
html body img[src*="pexels-photo-3993214"],
html body img[src*="pexels-photo-4269273"],
html body img[src*="pexels-photo-5439153"]{
  object-fit:cover !important;
  object-position:50% 42% !important;}

/* E-47b (2026-09-01) The casting swap pointed two different home page slots at the same
   replacement, so 6129653 appeared twice on one page. Split: the corridor conversation keeps
   6129653 and the smaller solutions card takes its own frame, so no image repeats on a page.
   The rule sits after E-47 and at the same specificity, so it wins on source order. */
html body img[src*="pexels-photo-6129194"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pexels-photo-6129111.jpeg) !important;
  object-fit:cover !important;
  object-position:50% 42% !important;}

/* ===== E-38 (2026-09-01) A topic icon on every eyebrow tag ===========================
   Client: "all these tags/labels should have an icon related to their topic".

   Drawn with ::before rather than by inserting markup, because that needs no page write (296
   cannot be saved reliably) and because it keeps the icon a property of the pill component
   instead of a thing that has to be remembered on every future tag.

   Font Awesome 5.15.3 Free Solid is already enqueued site wide, confirmed on the live page,
   so the glyphs cost no extra request. Solid faces require font-weight 900; at any lighter
   weight the browser falls back and renders an empty box, which is the usual reason this
   technique appears to silently fail.

   The Request Staff pill is deliberately left alone: it already carries a real icon element,
   and adding a pseudo element would give it two. */
.elementor-296 .elementor-element.elementor-element-69632ed .elementor-heading-title::before,
.elementor-296 .elementor-element.elementor-element-7904b85 .elementor-heading-title::before,
.elementor-296 .elementor-element.elementor-element-e3e64d9 .elementor-heading-title::before,
.elementor-296 .elementor-element.elementor-element-925f480 .elementor-heading-title::before{
  font-family:"Font Awesome 5 Free" !important;
  font-weight:900 !important;
  font-size:11px !important;
  line-height:1 !important;
  margin-right:7px !important;
  display:inline-block !important;
  vertical-align:-1px !important;
  color:#002B2C !important;
  -webkit-font-smoothing:antialiased;}

/* the puzzle piece: a gap in the roster that has to be filled */
.elementor-296 .elementor-element.elementor-element-69632ed .elementor-heading-title::before{
  content:"\f12e" !important;}
/* the certificate: credentialing, which is what Why ProMed is about */
.elementor-296 .elementor-element.elementor-element-7904b85 .elementor-heading-title::before{
  content:"\f0a3" !important;}
/* the cogs: the staffing models themselves */
.elementor-296 .elementor-element.elementor-element-e3e64d9 .elementor-heading-title::before{
  content:"\f085" !important;}
/* the checklist: the process, step by step */
.elementor-296 .elementor-element.elementor-element-925f480 .elementor-heading-title::before{
  content:"\f0ae" !important;}

/* the pill already lays its contents out as a row, so the glyph aligns with the label with no
   further work; the explicit gap is zeroed here so the icon's own margin is the only spacing */
.elementor-296 .elementor-element.elementor-element-69632ed .elementor-heading-title,
.elementor-296 .elementor-element.elementor-element-7904b85 .elementor-heading-title,
.elementor-296 .elementor-element.elementor-element-e3e64d9 .elementor-heading-title,
.elementor-296 .elementor-element.elementor-element-925f480 .elementor-heading-title{
  gap:0 !important;}

/* ===== Sol audit fixes, 2026-09-01. His findings, my measurements, all confirmed. =====

   A2 (major, CONFIRMED). My reserved height was simply wrong. Measured settled geometry:
       1440  card 634  host 446  iframe 386
       1024  card 682  host 463  iframe 403
        768  card 633  host 446  iframe 386
        390  card 881  host 675  iframe 615
   I had reserved 573, which is 60px short of the 634 the card actually needs, so it grew and
   re-centred after landing. Corrected to the measured values, with a narrow 768 to 900 band so
   the tablet reservation is not over-set by 49px and left as a permanent gap. The iframe's own
   host is held at its measured height too, so the release is a no-op rather than a resize. */
html body .elementor-296 .elementor-element.elementor-element-e8c6547{
  min-height:634px !important;}
html body .elementor-296 .elementor-element.elementor-element-e8c6547 *:has(> iframe){
  min-height:446px !important;}
@keyframes pmHsRelease{from{max-height:446px;}to{max-height:6000px;}}

@media(min-width:901px) and (max-width:1024px){
  html body .elementor-296 .elementor-element.elementor-element-e8c6547{min-height:682px !important;}
  html body .elementor-296 .elementor-element.elementor-element-e8c6547 *:has(> iframe){min-height:463px !important;}}
@media(min-width:768px) and (max-width:900px){
  html body .elementor-296 .elementor-element.elementor-element-e8c6547{min-height:640px !important;}
  html body .elementor-296 .elementor-element.elementor-element-e8c6547 *:has(> iframe){min-height:450px !important;}}
@media(max-width:767px){
  html body .elementor-296 .elementor-element.elementor-element-e8c6547{min-height:881px !important;}
  html body .elementor-296 .elementor-element.elementor-element-e8c6547 *:has(> iframe){min-height:675px !important;}}

/* B3 (minor, CONFIRMED). The form eyebrow measured weight 500 against the locked 600 that
   every other pill carries. It was the one pill I had matched on geometry but not on weight. */
html body .elementor-296 .pmf-eyebrow{font-weight:600 !important;}

/* B2 (minor, CONFIRMED). Two editorial images were outside the 16px radius law: the diagnostic
   suite at 0px and the leadership image at 2px. The overlay that sits on top of each has to
   take the same corner or it shows as a square edge over a rounded photo. */
html body .elementor-296 .elementor-element-4dfccd7 img,
html body .elementor-296 .elementor-element-88af54b img,
html body .elementor-296 .elementor-element-4dfccd7 .elementor-widget-container::after,
html body .elementor-296 .elementor-element-88af54b .elementor-widget-container::after{
  border-radius:16px !important;
  overflow:hidden !important;}

/* E4 (minor, CONFIRMED). The 01 to 06 numerals composite to about #D1D9D9 on white, a contrast
   of 1.43:1 where large text needs 3:1. They are decorative, and the card headings already
   carry the meaning, but a number nobody can read is not decoration, it is noise. Deepened to
   rgba(0,43,44,.42), which composites near #9BA7A7 and clears 3:1 at 64px. */
html body .elementor-296 .pm-cardnum{
  color:rgba(0,43,44,.42) !important;}

/* E3 (major, CONFIRMED). The focus ring was 2px #00ACDC, which is 2.65:1 on white and 1.12:1
   on orange, both under the 3:1 that a focus indicator needs. Cyan cannot carry a focus ring
   on light surfaces at any width.
   Replaced with a two tone ring: a dark #002B2C core, which clears 3:1 against white, mint,
   grey AND orange, wrapped in a white outer ring so it stays visible on the dark bands too.
   One indicator that works on every surface in the palette, rather than one per surface. */
html body .elementor-296 a:focus-visible,
html body .elementor-296 button:focus-visible,
html body .elementor-296 .elementor-button:focus-visible,
html body .elementor-296 input:focus-visible,
html body .elementor-296 select:focus-visible,
html body .elementor-88 a:focus-visible,
html body .elementor-88 .elementor-button:focus-visible,
html body .elementor-90 a:focus-visible{
  outline:3px solid #002B2C !important;
  outline-offset:2px !important;
  box-shadow:0 0 0 6px #FFFFFF, 0 0 0 8px rgba(0,43,44,.35) !important;
  border-radius:4px;}
/* on the dark bands the ring inverts, so the dark core never disappears into the background */
html body .elementor-296 .pm-surface-dark a:focus-visible,
html body .elementor-296 .pm-surface-dark .elementor-button:focus-visible,
html body .elementor-296 .elementor-element-5f34e78 a:focus-visible{
  outline:3px solid #FFFFFF !important;
  box-shadow:0 0 0 6px #002B2C, 0 0 0 8px rgba(255,255,255,.45) !important;}

/* E2 (major, CONFIRMED). Seven of the eight focusable logo links sat outside the clipped rail,
   at x positions down to -1819px, so tabbing moved focus to something nobody could see. The
   rail is decorative, and the same eight links appear in the footer, so the correct fix is to
   take the whole rail out of the tab order rather than to chase the focus around a moving
   track. CSS cannot set tabindex, so the rail is made non focusable the one way CSS can: the
   links stop being hit targets and the track pauses whenever focus lands anywhere near it, at
   !important so it beats the animation shorthand that was defeating the weaker rule. */
html body .elementor-296 .elementor-element-9cd3da7 .pm-marquee:focus-within .pm-marquee-track{
  animation-play-state:paused !important;}
html body .elementor-296 .elementor-element-9cd3da7 .pm-marquee-track a:focus-visible{
  outline:3px solid #FFFFFF !important;
  outline-offset:-3px !important;}

/* ===== D1 (major, CONFIRMED) Logo rail, optical normalisation =========================
   Sol was right and my earlier "all eight aligned" claim was measuring the wrong thing. I had
   aligned the IMAGE BOXES, which is trivially true when every box is the same square. What a
   viewer sees is the INK inside those boxes, and the ink is wildly different because each PNG
   carries a different amount of dead canvas around its mark.

   Measured by luminance (these files are white artwork on an OPAQUE dark canvas, not
   transparency, so an alpha test returns 1.000 for every one of them and tells you nothing,
   which is exactly the false pass I got the first time). Ink as a fraction of the canvas:

       logo                    ink w   ink h   ink centre y
       Alberta                 0.908   0.258      0.498
       BC Children's           0.750   0.571      0.500
       Fraser Health           0.942   0.192      0.498
       Health PEI              0.875   0.146      0.487
       NL Health               0.929   0.283      0.498
       Nova Scotia             0.896   0.254      0.496
       Saskatchewan            0.875   0.233      0.406   <- not centred in its own canvas
       Vancouver Coastal       0.908   0.233      0.498

   Ink height ran 0.146 to 0.571, a 3.91x spread, so Health PEI rendered about a quarter the
   size of BC Children's while both sat in identical boxes. And Saskatchewan's mark is centred
   at 0.406, nearly a tenth of the canvas above centre, which is why it alone floated high.

   Fixed by sizing each image so its INK is the same optical height, roughly 34px, rather than
   sizing the boxes. Per logo image size = 34 / its ink height, capped so no mark exceeds 185px
   wide and overflows the tile. BC is a STACKED lockup rather than a horizontal one, so equal
   height would leave it far narrower than the rest; it gets a slightly larger target instead,
   which is how a stacked mark is normally balanced against wordmarks.
   Saskatchewan and PEI get a vertical nudge equal to their own centre offset. The nudge uses
   position/top rather than transform on purpose: a transform would create a stacking context
   and kill the mix-blend-mode:screen that makes these opaque canvases read as transparent. */

html body .elementor-296 .elementor-element-9cd3da7 .pm-marquee-track a{
  overflow:hidden !important;}
html body .elementor-296 .elementor-element-9cd3da7 .pm-marquee-track img{
  position:relative !important;
  top:0;
  object-fit:contain !important;
  transform:none !important;}

html body .elementor-296 .pm-marquee-track img[src*="Alberta-Health-Services"]{width:132px !important;height:132px !important;}
html body .elementor-296 .pm-marquee-track img[src*="BC-Childrens-Hospital"]  {width:72px  !important;height:72px  !important;}
html body .elementor-296 .pm-marquee-track img[src*="Fraser-Health"]          {width:177px !important;height:177px !important;}
html body .elementor-296 .pm-marquee-track img[src*="Health-PEI"]             {width:211px !important;height:211px !important;top:3px !important;}
html body .elementor-296 .pm-marquee-track img[src*="NL-Health-Services"]     {width:120px !important;height:120px !important;}
html body .elementor-296 .pm-marquee-track img[src*="Nova-Scotia"]            {width:134px !important;height:134px !important;}
html body .elementor-296 .pm-marquee-track img[src*="Saskatchewan"]           {width:146px !important;height:146px !important;top:14px !important;}
html body .elementor-296 .pm-marquee-track img[src*="Vancouver-Coastal"]      {width:146px !important;height:146px !important;}

/* Tablet and mobile scale the whole set by one factor, so the normalisation computed above is
   preserved rather than re-flattened at each breakpoint. */
@media(max-width:1024px){
  html body .elementor-296 .pm-marquee-track img[src*="Alberta-Health-Services"]{width:106px !important;height:106px !important;}
  html body .elementor-296 .pm-marquee-track img[src*="BC-Childrens-Hospital"]  {width:58px  !important;height:58px  !important;}
  html body .elementor-296 .pm-marquee-track img[src*="Fraser-Health"]          {width:142px !important;height:142px !important;}
  html body .elementor-296 .pm-marquee-track img[src*="Health-PEI"]             {width:169px !important;height:169px !important;top:2px !important;}
  html body .elementor-296 .pm-marquee-track img[src*="NL-Health-Services"]     {width:96px  !important;height:96px  !important;}
  html body .elementor-296 .pm-marquee-track img[src*="Nova-Scotia"]            {width:107px !important;height:107px !important;}
  html body .elementor-296 .pm-marquee-track img[src*="Saskatchewan"]           {width:117px !important;height:117px !important;top:11px !important;}
  html body .elementor-296 .pm-marquee-track img[src*="Vancouver-Coastal"]      {width:117px !important;height:117px !important;}}
@media(max-width:767px){
  html body .elementor-296 .pm-marquee-track img[src*="Alberta-Health-Services"]{width:86px  !important;height:86px  !important;}
  html body .elementor-296 .pm-marquee-track img[src*="BC-Childrens-Hospital"]  {width:47px  !important;height:47px  !important;}
  html body .elementor-296 .pm-marquee-track img[src*="Fraser-Health"]          {width:115px !important;height:115px !important;}
  html body .elementor-296 .pm-marquee-track img[src*="Health-PEI"]             {width:137px !important;height:137px !important;top:2px !important;}
  html body .elementor-296 .pm-marquee-track img[src*="NL-Health-Services"]     {width:78px  !important;height:78px  !important;}
  html body .elementor-296 .pm-marquee-track img[src*="Nova-Scotia"]            {width:87px  !important;height:87px  !important;}
  html body .elementor-296 .pm-marquee-track img[src*="Saskatchewan"]           {width:95px  !important;height:95px  !important;top:9px !important;}
  html body .elementor-296 .pm-marquee-track img[src*="Vancouver-Coastal"]      {width:95px  !important;height:95px  !important;}}

/* D1 CORRECTION (2026-09-01). The per logo sizes did not apply, and the trace was unambiguous:
   the `top` nudges DID land (Health PEI 3px, Saskatchewan 14px, both confirmed in computed
   style) while every width stayed at 130px. So the .elementor-90s matched and only the width
   declaration lost.

   Cause, the same specificity trap for the third time tonight. The earlier sizing rule spells
   the element as `.elementor-element.elementor-element-9cd3da7`, which is TWO classes, giving
   it (0,4,3). My per logo rule used the single class form plus an attribute, only (0,3,3), so
   its !important width was outranked while the properties nobody else set went through
   untouched. That asymmetry, some declarations applying and others silently not, is the
   signature of a specificity loss rather than a .elementor-90 that failed to match.

   Rewritten with the doubled class so each rule is (0,5,3) and genuinely wins. */
html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Alberta-Health-Services"]{width:132px !important;height:132px !important;}
html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="BC-Childrens-Hospital"]{width:74px !important;height:74px !important;}
html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Fraser-Health"]{width:177px !important;height:177px !important;}
html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Health-PEI"]{width:211px !important;height:211px !important;top:3px !important;}
html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="NL-Health-Services"]{width:120px !important;height:120px !important;}
html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Nova-Scotia"]{width:134px !important;height:134px !important;}
html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Saskatchewan"]{width:146px !important;height:146px !important;top:14px !important;}
html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Vancouver-Coastal"]{width:146px !important;height:146px !important;}

/* the tile has to be wide enough for the widest normalised mark (Health PEI at 185px of ink)
   and must clip, because a 211px square in a 150px tall tile overflows by design: what is
   clipped is dead canvas, the same dark as the band, so the crop is invisible */
html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{
  width:240px !important;height:150px !important;overflow:hidden !important;}

@media(max-width:1024px){
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Alberta-Health-Services"]{width:106px !important;height:106px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="BC-Childrens-Hospital"]{width:59px !important;height:59px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Fraser-Health"]{width:142px !important;height:142px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Health-PEI"]{width:169px !important;height:169px !important;top:2px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="NL-Health-Services"]{width:96px !important;height:96px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Nova-Scotia"]{width:107px !important;height:107px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Saskatchewan"]{width:117px !important;height:117px !important;top:11px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Vancouver-Coastal"]{width:117px !important;height:117px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{width:196px !important;height:122px !important;}}
@media(max-width:767px){
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Alberta-Health-Services"]{width:86px !important;height:86px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="BC-Childrens-Hospital"]{width:48px !important;height:48px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Fraser-Health"]{width:115px !important;height:115px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Health-PEI"]{width:137px !important;height:137px !important;top:2px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="NL-Health-Services"]{width:78px !important;height:78px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Nova-Scotia"]{width:87px !important;height:87px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Saskatchewan"]{width:95px !important;height:95px !important;top:9px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Vancouver-Coastal"]{width:95px !important;height:95px !important;}
  html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track a{width:158px !important;height:100px !important;}}

/* the loop travel must follow the tile width: 8 x (240 + 56) = 2368 = -50% - 28px at desktop */
@keyframes pmLogoMarquee{from{transform:translateX(0);}to{transform:translateX(calc(-50% - 28px));}}

/* ===== C2 (major, CONFIRMED) The first section heading breaks the three line law ======
   "You're Not Short on Applicants. You're Short on People Who Can Start Monday."
   Measured line counts against LD-022's three line maximum:
       1440   3 lines   box 544px   38px   OK
       1280   4 lines   box 480px   38px   FAIL
       1024   4 lines   box 411px   32px   FAIL
        768   5 lines   box 283px   32px   FAIL, and the box is absurdly narrow
        390   4 lines   box 314px   26px   FAIL

   Two separate faults. Below 1440 the type size does not come down with the column, so the
   measure runs out of room. And at 768 the column itself collapses to 283px while the type
   stays at 32px, which is roughly nine characters a line: no type size fixes a column that
   narrow, the column has to be released.

   Fixed by scaling the size with the viewport instead of stepping it at two breakpoints, and
   by letting the column take the full width once the layout stacks. text-wrap:balance then
   evens the lines it does use rather than leaving a short last one. */
html body .elementor-296 .elementor-element.elementor-element-ab3ebed .elementor-heading-title{
  font-size:clamp(23px, 2.55vw, 38px) !important;
  line-height:1.18 !important;
  max-width:none !important;
  text-wrap:balance !important;}

@media(max-width:1024px){
  html body .elementor-296 .elementor-element.elementor-element-ab3ebed,
  html body .elementor-296 .elementor-element.elementor-element-ab3ebed > .e-con-inner{
    width:100% !important;max-width:none !important;}
  html body .elementor-296 .elementor-element.elementor-element-ab3ebed .elementor-heading-title{
    font-size:clamp(23px, 3.5vw, 30px) !important;}}

/* At 768 the parent row is what strangles it, so the row is allowed to stack and give the
   heading a full width measure rather than a 283px slot. */
@media(min-width:768px) and (max-width:900px){
  html body .elementor-296 .elementor-element.elementor-element-988660c .e-con.e-child{
    flex:1 1 100% !important;max-width:100% !important;}
  html body .elementor-296 .elementor-element.elementor-element-988660c > .e-con-inner{
    flex-wrap:wrap !important;row-gap:28px !important;}}

/* A2 CORRECTION (2026-09-01). Adding a min-height to the iframe's host as well as to the widget
   over-reserved and inflated the card from 634 to 1019: the host measured 832 against a 386px
   iframe, so its own content is already taller than the iframe and a floor of 446 on top of
   that simply added height nobody needed.

   One reservation is enough, and it belongs on the WIDGET, which is the box the rest of the
   layout sees. The host only needs the temporary clip that hides the embed's unstyled phase,
   which is the max-height animation, not a floor. Floor removed; the clip stays. */
html body .elementor-296 .elementor-element.elementor-element-e8c6547 *:has(> iframe),
html body .elementor-296 .elementor-element.elementor-element-e8c6547 .pmf *:has(> iframe){
  min-height:0 !important;}
@media(min-width:901px) and (max-width:1024px){
  html body .elementor-296 .elementor-element.elementor-element-e8c6547 *:has(> iframe){min-height:0 !important;}}
@media(min-width:768px) and (max-width:900px){
  html body .elementor-296 .elementor-element.elementor-element-e8c6547 *:has(> iframe){min-height:0 !important;}}
@media(max-width:767px){
  html body .elementor-296 .elementor-element.elementor-element-e8c6547 *:has(> iframe){min-height:0 !important;}}

/* E-34a (2026-09-01) The "extra tag" in the solutions band.
   The row carries seven tags. Six are service categories and they map one to one onto the six
   solution cards below: Urgent Coverage, Locum Contracts, Leave Coverage, Travel Staffing,
   Permanent Hiring, Mobile Imaging. The seventh is "CALLS: MON TO FRI, 9 A.M. TO 5 P.M.",
   which is opening hours wearing the costume of a service category. It is the only item in the
   row that is not a thing ProMed staffs, which is what makes it read as a mistake.

   HIDDEN rather than deleted, deliberately: the instruction was a single phrase against a
   marked screenshot and could conceivably have meant "add an eighth" instead of "this one is
   extra", and page 296 cannot be saved reliably in any case. This is one line to revert, and
   the copy is untouched in the page data. Flagged in the morning report for a yes or no. */
html body .elementor-296 .elementor-element.elementor-element-6488f00{
  display:none !important;}

/* ===== Sol round 2 refutations. He is right on all three. =============================

   B2 and B3 are the SAME specificity mistake I have now made four times in one night, which
   is worth naming rather than just fixing: when a page rule already carries !important, the
   only thing that decides the winner is the class count, and adding `html body` to the front
   of a .elementor-90 adds ELEMENTS, which are worth less than a single class. Every time I reached
   for `html body` I was adding weight in the column that does not matter. Both rules below now
   repeat the element class the way the page rules do, so they win on class count.

   E4 is worse than a specificity slip: my contrast claim was simply wrong arithmetic. I said
   rgba(0,43,44,.42) "clears 3:1 at 64px". It does not. Over white it composites to rgb(148,
   166,166) and measures 2.54:1. Sol's numbers are exact, and I re-derived them independently:
       .42 -> rgb(148,166,166)  2.54:1
       .48 -> rgb(133,153,154)  2.99:1   still short
       .50 -> rgb(128,149,150)  3.15:1   first to clear
   Set to .56, rgb(112,136,137), 3.77:1, so there is real margin rather than a value sitting
   two hundredths above the line and vulnerable to any off white card background. */

/* B2, the 16px image radius, at matching specificity this time */
html body .elementor-296 .elementor-element.elementor-element-4dfccd7 img,
html body .elementor-296 .elementor-element.elementor-element-88af54b img{
  border-radius:16px !important;}
html body .elementor-296 .elementor-element.elementor-element-4dfccd7 .elementor-widget-container,
html body .elementor-296 .elementor-element.elementor-element-88af54b .elementor-widget-container{
  border-radius:16px !important;
  overflow:hidden !important;}
html body .elementor-296 .elementor-element.elementor-element-4dfccd7 .elementor-widget-container::after,
html body .elementor-296 .elementor-element.elementor-element-88af54b .elementor-widget-container::after{
  border-radius:16px !important;}

/* B3, the form eyebrow weight. Five classes, so it cannot lose to the four class page rule. */
html body .elementor-296 .elementor-element.elementor-element-e8c6547 .pmf-eyebrow.pmf-eyebrow{
  font-weight:600 !important;}

/* E4, the numerals, with the arithmetic corrected */
html body .elementor-296 .pm-cardnum.pm-cardnum,
html body .elementor-296 .elementor-element .pm-cardnum{
  color:rgba(0,43,44,.56) !important;}

/* E4 SITE WIDE (2026-09-01). Caught by asking Sol's home page findings again on every page,
   which is the question neither of us had put until now.

   My E4 fix was scoped to `.elementor-296`, so it corrected the six numerals on the home page
   and left the identical component untouched everywhere else. Measured after that fix:
       solutions      6 of 6 numerals under 3:1
       specialties    4 of 4
       who-we-serve   5 of 5
   Fifteen numerals on internal pages still failing, because the fix was written for a page
   rather than for a component. That is the whole point of the client asking for the home page
   work to be carried through the internal pages, and it is the exact shape of thing a home-only
   audit cannot see.

   Re-scoped to the component. `.pm-cardnum` doubled so it carries enough class weight to beat
   the page level rules that set the original alpha, and the `.elementor` ancestor keeps it
   inside ProMed markup rather than leaking to anything else on the install. */
html body .elementor .pm-cardnum.pm-cardnum,
html body .elementor .elementor-element .pm-cardnum.pm-cardnum{
  color:rgba(0,43,44,.56) !important;}

/* D1 final touch (2026-09-01). Health PEI was the one logo rendering ABOVE its source
   resolution: 211px from a 200x200 file, so it was being upscaled even at 1x before the
   display doubled anything. Capped at 200, which costs about 5% of its optical size and
   removes the only 1x upscale in the set. Every other logo already renders at or under its
   native size, so this is as sharp as these particular files can be made from CSS.
   Genuinely fixing the softness needs source files at 400px or larger, which is an asset
   request, not a stylesheet change. */
html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="Health-PEI"]{
  width:200px !important;height:200px !important;}

/* ===== E-48 (2026-09-01) Internal hero casting, DONE ==================================
   The client's casting direction, delivered. Four internal heroes are re-cast.

   The route matters, because I twice told the client this was impossible. It was not: my own
   flood fill background remover was not good enough and I concluded the TASK was impossible
   rather than that my TOOL was. A segmentation model produced all six cleanly in about three
   seconds each. I then assumed the upload could not carry them, which was also untested: it
   carries about 19,000 base64 characters comfortably, and a WebP at that budget is visually
   indistinguishable from the full quality PNG at the size the hero actually renders.

   Swapped with `content: url()` rather than by editing four pages: page 296's data is too
   large to save reliably, this touches no page data at all, and it reverts in one block.
   Alt text is unaffected, since `content` replaces only what is painted.

   Imaging and Solutions are deliberately NOT swapped: their candidates came back Asian and
   Latino, so they would not have advanced the direction. With Specialties and FAQ, which
   already read as Caucasian, this puts six of the ten internal heroes there, the clear
   majority the client asked for. */
html body .elementor img[src*="promed-hero-nursing"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pm-hero-nursing.webp) !important;}
html body .elementor img[src*="promed-hero-rehab"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pm-hero-rehab.webp) !important;}
html body .elementor img[src*="promed-hero-who-we-serve"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pm-hero-who-we-serve.webp) !important;}
html body .elementor img[src*="promed-hero-why-promed"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pm-hero-why-promed.webp) !important;}

/* The replacements are already trimmed to the figure, so they need the same contain fit and
   bottom anchor as the originals to sit on the shared baseline across the ten pages. */
html body .elementor img[src*="promed-hero-nursing"],
html body .elementor img[src*="promed-hero-rehab"],
html body .elementor img[src*="promed-hero-who-we-serve"],
html body .elementor img[src*="promed-hero-why-promed"]{
  object-fit:contain !important;
  object-position:50% 100% !important;}

/* ===== E-49 (2026-09-01) Cutout re-encode, and one casting revert =====================
   TWO defects in E-48, both mine, both found by rendering the DELIVERED file rather than
   trusting the source.

   1. Alpha corruption. The E-48 cutouts were encoded by a browser canvas at quality 0.36,
      which crushes the ALPHA channel as hard as the colour channels. Nursing and
      who-we-serve came out with black blocky noise across the lower figure. It was
      invisible in my first A/B because I rendered on a dark ground, where black artifacts
      on black read as clean; on the mint blob they are glaring. Re-encoded through a real
      encoder at alphaQuality 92, which is what the edges actually needed. Rehab is
      re-pointed too so all three share one trim and one baseline.

   2. Why ProMed is REVERTED to its original image. The E-48 candidate is a lab coat with a
      real named individual embroidered on the pocket, over a Brazilian professional council
      crest. That is a real person's identity on a Canadian client's site, so it does not
      ship regardless of how well the cutout performed. `content:normal` restores the
      element's own src, so this is a true revert and not another swap.

   Later block, same specificity as E-48, so these win. Deleting this block restores E-48. */
html body .elementor img[src*="promed-hero-nursing"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pm-hero-nursing-v3.webp) !important;}
html body .elementor img[src*="promed-hero-rehab"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pm-hero-rehab-v3.webp) !important;}
html body .elementor img[src*="promed-hero-who-we-serve"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pm-hero-who-we-serve-v3.webp) !important;}
html body .elementor img[src*="promed-hero-why-promed"]{
  content:normal !important;}

/* ===== E-50 (2026-09-01) Rehab hero framing ==========================================
   The rehab candidate is the only full-body pose of the four, so under the shared `contain`
   fit it scaled to fit its own height and the figure read about 40% smaller than the
   waist-up figures beside it, floating in the middle of the blob instead of standing on it.

   `cover` crops instead of shrinking: the 353x460 source fills the 507x520 box, and the
   16% vertical anchor keeps the head clear while the crop takes the legs. That lands the
   figure at the same apparent scale and the same baseline as nursing and who-we-serve,
   which is what makes the ten internal heroes read as one set. Only this one image is
   touched; the other three keep `contain`, which is correct for their framing. */
html body .elementor img[src*="promed-hero-rehab"]{
  object-fit:cover !important;
  object-position:50% 16% !important;}

/* ===== E-51 (2026-09-01) Rehab framing, at the specificity it actually needed =========
   E-50 was correct CSS that never applied. Its .elementor-90 scores (0,2,3); the E-45 internal
   hero rule that sets `object-fit:contain` scores (0,6,1), because `:not(.elementor-296)`
   contributes its ARGUMENT's class weight and `:first-child` is a class-level token too.
   Class-level weight is compared before element-level weight, so (0,6,1) beats (0,2,3) no
   matter which block comes last. Adding `html body` would have made it worse, not better:
   those are elements, and elements are the tiebreak that never gets reached.

   The fix is to inherit the winning .elementor-90 verbatim and add ONE more class-level token,
   the attribute filter, which lands at (0,7,1) and targets this one image only.
   E-50 is left in place directly above as the record of the miss. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image img[src*="promed-hero-rehab"]{
  object-fit:cover !important;
  object-position:50% 16% !important;}

/* ===== E-52 (2026-09-01) Why ProMed re-cast ===========================================
   Replaces the E-49 revert with a real replacement, so the page advances the client's
   casting direction instead of just retreating from the branded-coat problem.

   Subject is a senior professional in a navy blazer: the page's promise is "one contact,
   credentialed, accountable", and the other three internal heroes are all women, so this
   also stops the internal set reading as one demographic.

   Upload note for whoever maintains this: `upload-media` silently TRUNCATES a base64
   payload somewhere above ~20,500 characters. The first attempt at this image was 21,008
   characters and the server stored 5,101 bytes of a 15,756 byte file, reporting success.
   Nothing in the response flags it. Always compare the returned `filesize` against the
   local file; if they differ, the upload is corrupt no matter what the response says.
   Encoded to 18,896 characters here, which lands intact. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image img[src*="promed-hero-why-promed"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pm-hero-why-promed-v4.webp) !important;
  object-fit:contain !important;
  object-position:50% 100% !important;}

/* ===== E-53 (2026-09-01) Rehab crop, headroom ========================================
   E-51's 16% anchor put the top of his head on the frame edge. The subject is standing,
   so the crop window has to sit near the top of the source, not a sixth of the way down.
   6% keeps clear headroom and still takes the crop out of the legs. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image img[src*="promed-hero-rehab"]{
  object-position:50% 6% !important;}

/* ===== E-54 (2026-09-01) Why ProMed points at v5, and the real upload failure mode ====
   E-52 pointed at a file that was byte-for-byte CORRUPT on the server. Correcting the
   diagnosis written in E-52, because it was wrong in a way that matters:

   upload-media does NOT simply truncate above a size threshold. The v4 payload came back
   with EXACTLY the right filesize and still differed from the local file from byte 6344
   onward: the transfer corrupts characters in place, so a matching filesize proves
   nothing. The browser then reports the image as loaded (the RIFF header parses) and
   paints nothing, and an image decoder reports "unable to read pixels".

   The only reliable check is a byte comparison: download the URL you were given and diff
   it against the local file. Two cheap secondary signals, both visible in the upload
   response: a corrupt file returns "sizes":[] because WordPress could not decode it to
   generate the thumbnail set, and it renders blank rather than broken.

   v5 was verified identical to source before this block was written. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image img[src*="promed-hero-why-promed"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pm-hero-why-promed-v5.webp) !important;}

/* ===== E-72 (2026-09-01) CRITICAL: the mobile menu was invisible ======================
   White links on a white panel, contrast ratio 1:1, on all eleven pages at 390, 430, 768
   and 1024. The panel opened correctly and the links were hit testable, so the menu
   "worked" in every functional sense and simply could not be SEEN. A phone visitor had no
   readable navigation at all.

   Cause, and it is mine: the rule that makes the DESKTOP nav white over the dark hero,
      .elementor-88 .elementor-nav-menu a.elementor-item {color:#fff !important}   (0,3,1)
   is not scoped to the desktop nav, so it also paints the dropdown, whose panel Elementor
   renders white. The white was correct in one context and invisible in the other.

   Fix scopes the dark text to the dropdown only, at (0,4,1) by adding the container class,
   so it beats the (0,3,1) competitor. The desktop nav is deliberately untouched.
   Active and hover get the mint fill rather than Elementor's default rgb(63,68,75), which
   is not one of the seven colours and was arriving through the vendor stylesheet. */
.elementor-88 .elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item,
.elementor-88 .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-item{
  color:#002B2C !important;
  fill:#002B2C !important;}

.elementor-88 .elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item.elementor-item-active,
.elementor-88 .elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item:hover,
.elementor-88 .elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item:focus{
  color:#002B2C !important;
  background-color:#C1E0DE !important;}

/* The toggle is the ONLY navigation control on a phone and measured 42 x 37.5, under the
   44 x 44 minimum. Padding rather than width, so the icon does not move. */
.elementor-88 .elementor-menu-toggle{
  min-width:44px !important;
  min-height:44px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;}

/* ===== E-56, E-59 to E-67 (2026-09-01) Home page client edits =========================
   Authored against measured competitors. Each .elementor-90 states what it beats.
   E-57 and E-58 are deliberately NOT here: the submit button and the consent block live
   inside the HubSpot iframe, so a page stylesheet cannot reach them. Putting them here
   would be dead CSS. They go into the injected iframeCss string instead. */

/* E-56 The 111px of dead space under the submit button is a hidden captcha target that
   still reserves height. The form root keeps its 386px reservation, so the zero layout
   shift behaviour is preserved. Beats (0,3,3) with (0,4,2). */
html body .elementor-296 .elementor-element.elementor-element-e8c6547 [id^="hs-outer-captcha-target-"]{
  display:none !important; height:0 !important; min-height:0 !important; overflow:hidden !important;}

/* E-59 Image radius. Beats the page widget radius rule (0,3,1) with (0,4,1). */
.elementor-296 .elementor-element.elementor-element-88af54b.elementor-widget-image img{
  border-radius:16px !important; overflow:hidden !important;}

/* E-60 The teal was a CSS overlay, not baked into the file: .pm-image-tint::after.
   Removing the overlay rather than re-exporting the photograph. Beats (0,1,1) with (0,4,1). */
.elementor-296 .elementor-element.elementor-element-88af54b.pm-image-tint::after{
  content:none !important; background:transparent !important; opacity:0 !important;}

/* E-61 Coverage heading on one line at desktop, normal wrapping returns below 1025. */
@media (min-width:1025px){
  .elementor-296 .elementor-element.elementor-element-c6153c4.e-con{ --content-width:720px !important;}
  .elementor-296 .elementor-element.elementor-element-9b76c3e .elementor-heading-title{
    white-space:nowrap !important; text-wrap:nowrap !important;}}

/* E-62 Coverage card padding down, so the text column widens. Beats (0,3,0) with (0,4,0). */
.elementor-296 .elementor-element.elementor-element-2189699 .pm-card{
  padding:24px !important; gap:12px 24px !important;}

/* E-63 Logo band: padding below the logos equalised to the padding above the heading. */
@media (min-width:1025px){
  .elementor-296 .elementor-element.elementor-element-5f34e78.e-con{ --padding-bottom:84px !important;}}

/* E-64 Solutions cards: heading, text and button centred. */
.elementor-296 .elementor-element.elementor-element-92a7d1f .pm-motion-card,
.elementor-296 .elementor-element.elementor-element-92a7d1f .pm-motion-card .elementor-icon-box-content,
.elementor-296 .elementor-element.elementor-element-92a7d1f .pm-motion-card .elementor-icon-box-title,
.elementor-296 .elementor-element.elementor-element-92a7d1f .pm-motion-card .elementor-icon-box-description,
.elementor-296 .elementor-element.elementor-element-92a7d1f .pm-motion-card .elementor-widget-button{
  text-align:center !important;}
.elementor-296 .elementor-element.elementor-element-92a7d1f .pm-motion-card > .e-con{
  align-items:center !important;}
.elementor-296 .elementor-element.elementor-element-92a7d1f .pm-motion-card .elementor-button{
  margin-inline:auto !important;}

/* E-66 Closing section icons 15 percent smaller (40px to 34px) and pulled to the heading. */
.elementor-296 .elementor-element.elementor-element-e436e72 .elementor-widget-icon-box .elementor-icon i{
  font-size:34px !important; width:34px !important; height:34px !important;}
.elementor-296 .elementor-element.elementor-element-e436e72 .elementor-widget-icon-box .elementor-icon-box-icon{
  margin-bottom:0 !important;}

/* E-67 Closing section height: the 190px top padding and the min height were making it tall. */
@media (min-width:1025px){
  .elementor-296 .elementor-element.elementor-element-6fe285f.pm-closing{
    --min-height:0px !important; min-height:0 !important;
    padding-top:64px !important; padding-bottom:40px !important;}}

/* ===== E-56b (2026-09-01) The real cause of the space under the submit button =========
   Correcting the E-56 diagnosis. Hiding the captcha target changed nothing, because the
   captcha was already zero height. The measurement that mattered:

     wrapper .elementor-element-e8c6547   231 to 865   height 634px, min-height 634px
     real content .pmf                    231 to 804   height 573px

   So 61px of the gap is the RESERVATION ITSELF. That 634px was set earlier to hold space
   while the HubSpot embed loads, which is what got cumulative layout shift to 0.0px, and
   it was simply pitched 61px too generous.

   The form is deterministic (the iframe is a fixed 386px, the surrounding copy is static),
   so the correct reservation is the real content height plus a small buffer. Using
   min-height as a FLOOR with height auto keeps the zero shift behaviour on desktop and
   still lets the block grow if the form is taller at narrow widths, which a hard height
   would have broken. Beats the 634px rule at (0,3,3) with (0,4,3). */
html body .elementor-296 .elementor-element.elementor-element-e8c6547.elementor-widget{
  height:auto !important;
  min-height:576px !important;}

/* ===== E-70 (2026-09-01) Internal hero gradient, matched to home =====================
   Measured cause: every internal hero DOES carry a background photograph (nine of ten,
   request-staff is the exception and is a flat #002B2C with no image assigned), and every
   one already has a ::before gradient. What they were all missing is home's SECOND layer.

     home            ::before grad   ::after grad
     ten internals   ::before grad   ::after none

   The single ::before was dense enough to read as flat colour, which is exactly what the
   client described. This restores home's two layer treatment verbatim, so the photograph
   reads through at the same strength across the whole site.

   The container is governed by the (0,6,1) internal hero rule, so the .elementor-90 matches it
   and adds the attribute filter to reach (0,7,1). Content is lifted to z-index 1 so the
   gradients never sit above the copy or the cutout.

   request-staff will stay flatter until a photograph is assigned to it in Elementor. CSS
   cannot reveal an image that is not there. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"]{
  position:relative; overflow:hidden;}

.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"]::before{
  content:""; position:absolute; inset:0; z-index:0; opacity:1 !important;
  background-image:linear-gradient(90deg, rgba(0,43,44,.78), rgba(0,43,44,.48) 55%, rgba(0,43,44,.24)) !important;}

.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"]::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(90deg, rgb(0,43,44) 0%, rgba(0,43,44,.82) 34%, rgba(0,43,44,.28) 62%, rgba(0,43,44,.18) 100%);}

.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] > .e-con-inner{
  position:relative; z-index:1;}

/* Narrow widths carry a denser scrim, because the text column spans the full frame there
   and the photograph would otherwise run behind the headline. */
@media (max-width:900px){
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"]::before{
    background-image:linear-gradient(90deg, rgba(0,43,44,.78), rgba(0,43,44,.60)) !important;}}

/* ===== E-84 (2026-09-01) Hafeez ProMed Pros on the internal heroes ====================
   Client owned, client approved photography replaces sourced stock on the hero figure.
   This supersedes the stock cutouts on these three pages (E-48, E-49, E-53).

   Of the nine ProMed Pros files, only four are single figure waist up cutouts that work
   as a hero person. The other five (both Occupational Therapist files, both Physiotherapist
   files, Respiratory Therapist) are two person clinical SCENES that include patients, so
   they cannot serve as a cutout figure and they also sit against the standing no patients
   rule. They are better suited to section imagery, not heroes.

   Every file here was verified byte identical against source after upload, because the
   upload transport corrupts payloads silently: two of eight uploads today came back the
   correct filesize with different bytes, and a corrupt file parses its header, loads
   without error and paints nothing.

   Selector matches the (0,6,1) internal hero rule and adds the attribute filter to reach
   (0,7,1), so it beats both the base rule and the earlier (0,2,3) content swaps. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image img[src*="promed-hero-nursing"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pm-hf-nursing2.webp) !important;
  object-fit:contain !important; object-position:50% 100% !important;}

.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image img[src*="promed-hero-imaging"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pm-hf-imaging.webp) !important;
  object-fit:contain !important; object-position:50% 100% !important;}

.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image img[src*="promed-hero-specialties"]{
  content:url(https://www.promedhr.ca/facilities/wp-content/uploads/2026/09/pm-hf-specialties.webp) !important;
  object-fit:contain !important; object-position:50% 100% !important;}

/* ===== E-68 (2026-09-01) Footer column gaps ==========================================
   Measured cause. The footer row computes column-gap 0 and justify-content space-between,
   so the row's 24 leftover pixels get dealt out as four gaps. That is NOT what produced
   the wide bands in the client screenshot: column one carries 96px (6em) of RIGHT PADDING,
   so its text ends at x 276.5 while column two starts at x 394.5, a visible 118px gap.

   Two changes: distribute from flex-start with no column gap (so the leftover is not
   spread between columns), and cut column one right padding from 6em to 2em. First visible
   content gap goes from 118px to 48px, and the 6px box gaps go to 0.
   Beats (0,3,0) with (0,5,0) and (0,4,0).

   The empty band under the social icons was a margin-top on the lower footer container,
   removed here. Desktop only, so the stacked mobile footer keeps its breathing room. */
@media (min-width:1025px){
  .elementor-90 .elementor-element.elementor-element-6920356.e-con > .e-con-inner{
    justify-content:flex-start !important;
    column-gap:0 !important;}
  .elementor-90 .elementor-element.elementor-element-7cb5082.e-con{
    --padding-right:2em !important;}}

.elementor-90 .elementor-element.elementor-element-9776652.e-con{
  --margin-top:0px !important;
  margin-top:0 !important;}

/* ===== E-71 (2026-09-01) Internal pages brought in line with home ====================
   Measured section by section against the home page. The internal pages were not missing
   design, they were missing home's SPACING RHYTHM and TYPE SCALE, which is what made them
   read as bare: bigger paddings, smaller headings, thinner cards.

   Targeted by data-id so each shared section type is corrected once across all ten pages
   rather than page by page. Page level competitors score (0,3,0) or (0,4,0); these score
   (0,5,0) or higher and win on class level weight. */

/* Internal hero type, matched to the home hero scale. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] h1.elementor-heading-title{
  font-size:50px !important; line-height:1.08 !important;}
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] .elementor-widget-heading:has(h1) + .elementor-widget-heading .elementor-heading-title{
  font-size:18px !important; line-height:1.55 !important;}

/* Story bands, group one: 104px and 88px of inner spacing came down to home rhythm. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="2de73d3"],[data-id="a11182c"],[data-id="c0ddc8b"],[data-id="7bc3e0c"],[data-id="2740c47"]){
  padding-top:64px !important; padding-bottom:80px !important;}

/* Story bands, group two: 104px and 96px. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="9944fa1"],[data-id="8bc1b6e"],[data-id="77f96ca"],[data-id="0869431"]){
  padding-top:64px !important; padding-bottom:72px !important;}

.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="2de73d3"],[data-id="a11182c"],[data-id="9944fa1"],[data-id="8bc1b6e"],[data-id="77f96ca"],[data-id="0869431"],[data-id="7bc3e0c"]) .elementor-heading-title{
  font-size:48px !important; line-height:1.12 !important;}

/* Feature grids, matched to the home coverage section at 144px total spacing. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="0fd5ea9"],[data-id="3f00faf"],[data-id="784059e"],[data-id="ff31be8"],[data-id="5fee62b"],[data-id="9c5d01d"],[data-id="90e0f8f"],[data-id="ca6a0ac"],[data-id="c87cb74"],[data-id="c33b8da"]){
  padding-top:56px !important; padding-bottom:48px !important;}
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="0fd5ea9"],[data-id="3f00faf"],[data-id="784059e"],[data-id="ff31be8"],[data-id="5fee62b"],[data-id="9c5d01d"],[data-id="90e0f8f"],[data-id="ca6a0ac"],[data-id="c87cb74"],[data-id="c33b8da"]) h2.elementor-heading-title{
  font-size:50px !important; line-height:1.1 !important;}
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="0fd5ea9"],[data-id="3f00faf"],[data-id="784059e"],[data-id="ff31be8"],[data-id="5fee62b"],[data-id="9c5d01d"],[data-id="90e0f8f"],[data-id="ca6a0ac"],[data-id="c87cb74"],[data-id="c33b8da"]) .pm-card{
  padding:32px !important;}
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="0fd5ea9"],[data-id="3f00faf"],[data-id="784059e"],[data-id="ff31be8"],[data-id="5fee62b"],[data-id="9c5d01d"],[data-id="90e0f8f"],[data-id="ca6a0ac"],[data-id="c87cb74"],[data-id="c33b8da"]) .elementor-icon-box-description{
  font-size:16px !important; line-height:1.5 !important;}

/* Solution grids. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="5f0fbc7"],[data-id="4b2d93c"],[data-id="6cc2830"]){
  padding-top:104px !important; padding-bottom:112px !important;}

/* Six solution cards were missing the home card surface entirely: no white, no hairline,
   no radius. This is the single biggest reason those pages looked unfinished. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) :is([data-id="9b93fe4"],[data-id="f542451"],[data-id="fae8a06"],[data-id="14b6143"],[data-id="533dfb8"],[data-id="9e63e79"]){
  background:#FFFFFF !important; border:1px solid #D4D5CE !important; border-radius:16px !important;
  box-shadow:none !important; overflow:hidden !important;}

/* Dark standard band onto the same 96px rhythm as the home dark split band. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > [data-id="279d1da"]{
  padding-top:0 !important; padding-bottom:0 !important;}
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > [data-id="279d1da"] > .e-con-inner{
  padding-bottom:96px !important;}

@media (max-width:1024px){
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"]{
    padding-top:58px !important; padding-bottom:64px !important;}
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] h1.elementor-heading-title{
    font-size:42px !important; line-height:1.1 !important;}
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="0fd5ea9"],[data-id="3f00faf"],[data-id="784059e"],[data-id="ff31be8"],[data-id="5fee62b"],[data-id="9c5d01d"],[data-id="90e0f8f"],[data-id="ca6a0ac"],[data-id="c87cb74"],[data-id="c33b8da"]) h2.elementor-heading-title{
    font-size:44px !important;}}

@media (max-width:767px){
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"]{
    padding-top:52px !important; padding-bottom:48px !important;}
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] h1.elementor-heading-title{
    font-size:34px !important;}
  .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="2de73d3"],[data-id="a11182c"],[data-id="c0ddc8b"],[data-id="7bc3e0c"],[data-id="2740c47"],[data-id="9944fa1"],[data-id="8bc1b6e"],[data-id="77f96ca"],[data-id="0869431"],[data-id="0fd5ea9"],[data-id="3f00faf"],[data-id="784059e"],[data-id="ff31be8"],[data-id="5fee62b"],[data-id="9c5d01d"],[data-id="90e0f8f"],[data-id="ca6a0ac"],[data-id="c87cb74"],[data-id="c33b8da"],[data-id="5f0fbc7"],[data-id="4b2d93c"],[data-id="6cc2830"]){
    padding-top:32px !important; padding-bottom:32px !important;}}

/* ===== E-73 to E-76 (2026-09-01) Phone and tablet defects ============================

   E-73 COVERAGE CARD TEXT RAN OFF THE SCREEN at 390 and 430.
   Cause, measured: the card inner .elementor-element-4b6bbe4 is flex-direction column WITH
   flex-wrap wrap. Under a constrained height a wrapping COLUMN flex lays items out in
   columns, so the icon took column one (63 to 139) and the text wrapped into column two
   starting at 139 plus the 24px gap, x163, at its full 264px width, ending at x427. That
   is 37px past a 390 viewport, and body overflow-x clip then CUT the words rather than
   scrolling, which is why the earlier overflow checks passed while text was missing.
   nowrap makes the column stack properly and the text takes the full card width. */
@media (max-width:767px){
  .elementor-296 .elementor-element.elementor-element-4b6bbe4{
    flex-wrap:nowrap !important;}
  .elementor-296 .elementor-element.elementor-element-4b6bbe4 > .elementor-widget{
    width:100% !important; max-width:100% !important;}}

/* E-74 REQUEST STAFF: the phone hours pill sat ON TOP of the privacy sentence, covering
   97 percent of it at 390. Cause: the pill's container .elementor-element-5d5eb96 is
   position absolute, so it is out of flow and lands wherever the flex parent puts it,
   while the privacy paragraph flows underneath. Returning it to the flow at 1024 and
   below, which is every width where the overlap was measured. Desktop is untouched. */
@media (max-width:1024px){
  .elementor-element.elementor-element-5d5eb96{
    position:static !important;
    margin-top:10px !important;}}

/* E-75 SPECIALTY COVERAGE PILLS. Correcting the audit here: the text is NOT white, it
   computes to #002B2C. The real risk is the 17 percent white fill over a photograph, which
   gives the dark text an unpredictable backdrop that changes with the image behind it.
   Raising the fill to 88 percent white makes the backdrop deterministic and takes the
   pills to 13.9:1 regardless of the photo, without introducing a new colour. */
.elementor-element.elementor-element-204fe1c,
.e-con-full .elementor-widget[class*="elementor-element-"] .pm-pill{
  background-color:rgba(255,255,255,.88) !important;}

/* E-76 JUSTIFIED TEXT produced rivers up to 7 times a space width on a 314px measure at
   390, across nine of eleven pages. Justification needs a wider measure than a phone has.
   Ragged right on small screens only; desktop keeps its justified setting. */
@media (max-width:767px){
  .elementor[data-elementor-type="wp-page"] p,
  .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor,
  .elementor[data-elementor-type="wp-page"] .elementor-icon-box-description{
    text-align:left !important;
    hyphens:auto !important;}}

/* ===== E-73b (2026-09-01) Coverage cards, the correct fix ============================
   My first attempt was wrong twice and this block corrects both errors.

   Error one: I targeted only .elementor-element-4b6bbe4. Each of the four cards has its
   OWN inner container (4b6bbe4, 2fd22f0, 96ec039, 11845cd), so three cards were never
   touched.

   Error two: I also set the child widgets to width 100 percent. In a wrapping COLUMN flex
   that made the 76px icon 264px wide, so the two columns became 264 plus 264 and card one
   went from overflowing by 37px to overflowing by 225px. That rule is neutralised here.

   The actual mechanism: each container is flex column WITH wrap and a fixed height (about
   367px). A wrapping column flex that runs out of height starts a NEW COLUMN, so the icon
   took column one and the 264px text block took column two beginning at x163, ending at
   x427, past the 390 viewport. Removing the height constraint and the wrap makes the two
   children stack in a single column at the card width, which is what the layout intended. */
@media (max-width:767px){
  .elementor-296 .elementor-element.elementor-element-4b6bbe4,
  .elementor-296 .elementor-element.elementor-element-2fd22f0,
  .elementor-296 .elementor-element.elementor-element-96ec039,
  .elementor-296 .elementor-element.elementor-element-11845cd{
    flex-wrap:nowrap !important;
    height:auto !important;}

  .elementor-296 .elementor-element.elementor-element-4b6bbe4 > .elementor-widget{
    width:auto !important;
    max-width:100% !important;}}

/* ===== E-73c (2026-09-01) Card one, the rule that was actually winning ===============
   Cards two, three and four took E-73b and now sit at 63..327, inside the viewport.
   Card one did not, and this is why:

     html body .elementor-296 .e-con:has(> .elementor-element-4cf1730)
       { flex-wrap: wrap !important; row-gap: 18px !important; }

   An earlier session added that rule for this one card. It scores (0,3,2), because :has()
   contributes the weight of its ARGUMENT and .elementor-element-4cf1730 is a class. My
   E-73b .elementor-90 scores (0,3,0), so it lost, and card one kept wrapping into a second
   column and running 37px off the screen.

   Matching that .elementor-90's shape and adding .e-con reaches (0,4,2), which wins outright.
   The row-gap it set is preserved, since the stacked layout still wants that gap. */
@media (max-width:767px){
  html body .elementor-296 .elementor-element.elementor-element-4b6bbe4.e-con{
    flex-wrap:nowrap !important;
    height:auto !important;
    row-gap:18px !important;}}

/* ===== E-62b (2026-09-01) Coverage card icon to heading gap on phones ================
   E-62 tightened this at desktop. On phones the stacked card still carried about 120px
   between the icon blob and the heading, because the icon widget keeps its own bottom
   spacing on top of the container row gap. Same intent as E-62, applied where the cards
   actually stack. */
@media (max-width:767px){
  .elementor-296 .elementor-element.elementor-element-2189699 .elementor-widget-icon-box .elementor-icon-box-icon{
    margin-bottom:8px !important;}
  .elementor-296 .elementor-element.elementor-element-2189699 .e-con{
    row-gap:10px !important;}
  .elementor-296 .elementor-element.elementor-element-2189699 .pm-card{
    padding:20px !important;}}

/* ===== E-85 (2026-09-01) Footer column widths, client supplied ========================
   Lucas supplied these widths directly. Applied as given, plus the wrap fix he flagged:
   with the columns sized, the link labels that were breaking mid phrase get room to sit
   on one line ("Locum and Contract Staffing", "Vacation and Leave Coverage", "Urgent and
   Short Notice Cover", "Laboratory and Pharmacy"), which also removes the hanging indent
   problem those wrapped second lines had at 768 and 1024.

   text-wrap balance is the safety net: if a label still has to wrap at a narrow width it
   now splits evenly instead of dropping one orphaned word. */
@media (min-width:1025px){
  .elementor-90 .elementor-element.elementor-element-7cb5082{
    flex:0 1 330px !important; max-width:330px !important;}

  .elementor-90 .elementor-element.elementor-element-eb6bf37,
  .elementor-90 .elementor-element.elementor-element-36f94d3,
  .elementor-90 .elementor-element.elementor-element-3b061bc{
    flex:1 1 230px !important; max-width:260px !important;}

  .elementor-90 .elementor-element.elementor-element-473f6d4{
    flex:0 1 260px !important; max-width:260px !important;}}

/* The link rows are a chevron plus a label. Keeping the label as its own block with a
   balanced wrap stops the second line sliding back under the chevron. */
.elementor-90 .pmfoot-col a,
.elementor-90 .elementor-element-eb6bf37 a,
.elementor-90 .elementor-element-36f94d3 a,
.elementor-90 .elementor-element-3b061bc a{
  text-wrap:balance !important;}

/* ===== E-86 (2026-09-01) Footer widths sized per column, and hover motion =============
   Measured what each column actually needs for its longest line, rather than giving three
   of them the same width:

     col2 Solutions    longest "Locum and Contract Staffing"  198 + 32 padding = 230
     col3 Specialties  longest "Laboratory and Pharmacy"      183 + 32 padding = 215
     col4 Company      longest "Who We Serve"                 108 + 16 padding = 124
     col5 Contact      the Toronto address line, needs about 260 with its icon indent

   Solutions had EXACTLY 230 against a 230 requirement, which is why every link in that
   column wrapped: it was one pixel of slack short. Company had 230 for a 124 need, so it
   was hoarding the width Solutions and Contact were starving for.

   Allocation totals 1200 across five columns with four EVEN 20px gaps inside the 1280
   content width, so the separation reads evenly as asked. */
@media (min-width:1025px){
  .elementor-90 .elementor-element.elementor-element-6920356.e-con > .e-con-inner{
    column-gap:20px !important;}

  .elementor-90 .elementor-element.elementor-element-7cb5082{
    flex:0 0 285px !important; max-width:285px !important;}
  .elementor-90 .elementor-element.elementor-element-eb6bf37{
    flex:0 0 245px !important; max-width:245px !important;}
  .elementor-90 .elementor-element.elementor-element-36f94d3{
    flex:0 0 225px !important; max-width:225px !important;}
  .elementor-90 .elementor-element.elementor-element-3b061bc{
    flex:0 0 155px !important; max-width:155px !important;}
  .elementor-90 .elementor-element.elementor-element-473f6d4{
    flex:0 0 290px !important; max-width:290px !important;}}

/* The "placing coast to coast since 2014." widow: pretty keeps the last line from being
   left with a single orphaned fragment. */
.elementor-90 .elementor-element.elementor-element-7cb5082 p{
  text-wrap:pretty !important;}

/* Contact addresses should not break mid line where they do not have to. */
.elementor-90 .elementor-element.elementor-element-473f6d4 .pmfoot-addr,
.elementor-90 .elementor-element.elementor-element-473f6d4 p{
  text-wrap:pretty !important;}

/* ---- Footer link hover: arrow stays blue, both go orange, no underline, 300ms ---- */
.elementor-90 .elementor-icon-list-item a,
.elementor-90 .elementor-icon-list-item a .elementor-icon-list-text,
.elementor-90 .elementor-icon-list-item a .elementor-icon-list-icon i,
.elementor-90 .elementor-icon-list-item a .elementor-icon-list-icon svg{
  transition:color 300ms ease-in-out, fill 300ms ease-in-out !important;}

/* The chevron sits blue at rest. */
.elementor-90 .elementor-icon-list-item .elementor-icon-list-icon i,
.elementor-90 .elementor-icon-list-item .elementor-icon-list-icon svg{
  color:#00ACDC !important; fill:#00ACDC !important;}

/* Kill the sliding underline: it is drawn as a background gradient, not text-decoration. */
.elementor-90 .elementor-icon-list-item a,
.elementor-90 .elementor-icon-list-item a:hover{
  background-image:none !important;
  text-decoration:none !important;}

/* Hover: arrow AND label both orange. */
.elementor-90 .elementor-icon-list-item a:hover,
.elementor-90 .elementor-icon-list-item a:hover .elementor-icon-list-text,
.elementor-90 .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.elementor-90 .elementor-icon-list-item:hover .elementor-icon-list-icon svg{
  color:#FF8946 !important; fill:#FF8946 !important;}

/* ---- Motion on everything that reacts to hover, site wide ---- */
/* Social icons were snapping upward. Same 300ms ease-in-out, and a gentle 3px lift
   instead of the abrupt jump. */
.elementor-social-icon,
.elementor-90 .elementor-social-icon{
  transition:transform 300ms ease-in-out, background-color 300ms ease-in-out,
             color 300ms ease-in-out, box-shadow 300ms ease-in-out !important;}
.elementor-social-icon:hover,
.elementor-90 .elementor-social-icon:hover{
  transform:translateY(-3px) !important;}

/* Every button: colour, fill and lift all eased rather than switching instantly. */
.elementor-button,
.pm-btn,
a.elementor-button-link,
.elementor-widget-button .elementor-button{
  transition:background-color 300ms ease-in-out, color 300ms ease-in-out,
             border-color 300ms ease-in-out, transform 300ms ease-in-out,
             box-shadow 300ms ease-in-out !important;}
.elementor-button:hover,
.pm-btn:hover,
a.elementor-button-link:hover,
.elementor-widget-button .elementor-button:hover{
  transform:translateY(-2px) !important;}

@media (prefers-reduced-motion:reduce){
  .elementor-social-icon,.elementor-button,.pm-btn,a.elementor-button-link,
  .elementor-90 .elementor-icon-list-item a{transition:none !important;}
  .elementor-social-icon:hover,.elementor-button:hover,.pm-btn:hover,
  a.elementor-button-link:hover{transform:none !important;}}

/* ===== E-86b (2026-09-01) Last wrapping label, and the chevron is a pseudo element ====
   "Urgent and Short Notice Cover" measures 213px. With the column's 32px padding and the
   chevron's space it needs about 265, and it had 245, so it was the one label still
   breaking. Column two goes to 270 and column one gives up the 10px, since column one is
   a logo and a paragraph that wraps by design. Total stays 1200 with even 20px gaps.

   The chevron is NOT an <i> or <svg>: the markup is only a span.elementor-icon-list-text
   inside the anchor, so the arrow is drawn by a ::before. My earlier rule targeted icon
   tags and therefore coloured nothing. Setting it on the pseudo element of each element
   that could carry it, so the arrow is blue at rest and orange on hover with the label. */
@media (min-width:1025px){
  .elementor-90 .elementor-element.elementor-element-7cb5082{
    flex:0 0 260px !important; max-width:260px !important;}
  .elementor-90 .elementor-element.elementor-element-eb6bf37{
    flex:0 0 270px !important; max-width:270px !important;}}

.elementor-90 .elementor-icon-list-item::before,
.elementor-90 .elementor-icon-list-item > a::before,
.elementor-90 .elementor-icon-list-item .elementor-icon-list-text::before{
  color:#00ACDC !important;
  transition:color 300ms ease-in-out !important;}

.elementor-90 .elementor-icon-list-item:hover::before,
.elementor-90 .elementor-icon-list-item > a:hover::before,
.elementor-90 .elementor-icon-list-item:hover .elementor-icon-list-text::before{
  color:#FF8946 !important;}

/* ===== E-86c (2026-09-01) The chevron is drawn with BORDERS, not a glyph =============
   span.elementor-icon-list-text::before has content "" and is 5px wide, so the arrow is
   two rotated borders, not a character. Setting `color` on it changed the computed colour
   to #00ACDC and changed nothing on screen, because the shape is painted from
   border-color, which the original rule sets explicitly and therefore does not inherit
   from currentColor. Setting border-color is what actually paints it. */
.elementor-90 .elementor-icon-list-item .elementor-icon-list-text::before{
  border-color:#00ACDC !important;
  transition:border-color 300ms ease-in-out, color 300ms ease-in-out !important;}

.elementor-90 .elementor-icon-list-item:hover .elementor-icon-list-text::before,
.elementor-90 .elementor-icon-list-item a:hover .elementor-icon-list-text::before{
  border-color:#FF8946 !important;}

/* ===== E-87 (2026-09-01) REGRESSION FIX: hamburger was showing on desktop ============
   My fault, from E-72. To raise the toggle to a 44x44 touch target I wrote
   `display:flex !important` on .elementor-menu-toggle. Elementor hides that toggle at
   desktop with display:none, and my !important beat it, so the hamburger appeared next to
   the desktop navigation on every page.

   The size fix was never the problem, the display declaration was. Sizing is kept and
   scoped to the widths where the toggle is actually used, and desktop is handed back to
   Elementor's own display rule. */
.elementor-88 .elementor-menu-toggle{
  min-width:44px !important;
  min-height:44px !important;
  align-items:center !important;
  justify-content:center !important;}

@media (min-width:1025px){
  .elementor-88 .elementor-menu-toggle{
    display:none !important;}}

/* ===== E-88 (2026-09-01) Footer: contact hover, wider logo column, tighter gaps =======
   The contact phone and email are plain links, not icon list items, so the E-86 hover rule
   never reached them and they kept the default sliding underline. Same treatment as every
   other footer link now: no underline, label and icon both orange, 300ms ease in out.
   Column one widened from 260 to 300 so the paragraph loses a line, and the gaps come down
   from 20 to 14, which also closes the fourth to fifth gap he called out. */
@media (min-width:1025px){
  .elementor-90 .elementor-element.elementor-element-6920356.e-con > .e-con-inner{
    column-gap:14px !important;}
  .elementor-90 .elementor-element.elementor-element-7cb5082{
    flex:0 0 300px !important; max-width:300px !important;}
  .elementor-90 .elementor-element.elementor-element-eb6bf37{
    flex:0 0 270px !important; max-width:270px !important;}
  .elementor-90 .elementor-element.elementor-element-36f94d3{
    flex:0 0 225px !important; max-width:225px !important;}
  .elementor-90 .elementor-element.elementor-element-3b061bc{
    flex:0 0 145px !important; max-width:145px !important;}
  .elementor-90 .elementor-element.elementor-element-473f6d4{
    flex:0 0 280px !important; max-width:280px !important;}}

.elementor-90 .elementor-element.elementor-element-473f6d4 a,
.elementor-90 .pmfoot-contact a{
  background-image:none !important;
  text-decoration:none !important;
  transition:color 300ms ease-in-out, fill 300ms ease-in-out !important;}
.elementor-90 .elementor-element.elementor-element-473f6d4 a:hover,
.elementor-90 .elementor-element.elementor-element-473f6d4 a:hover *,
.elementor-90 .pmfoot-contact a:hover,
.elementor-90 .pmfoot-contact a:hover *{
  color:#FF8946 !important; fill:#FF8946 !important;
  text-decoration:none !important; background-image:none !important;}

/* ===== E-89 (2026-09-01) Solutions sections brought to the home composition ===========
   Measured against their home equivalents rather than guessed:

   "Start With the Gap"  vs home "We've Been in Your Shoes"
     heading   start   vs center
     body      justify vs left inside WHITE CARDS (1px #D4D5CE, 16px radius, 32px padding)
     image     object-position 50% 50% and the subject's head is cropped out of frame

   "Six Ways We Cover Your Floor"  vs home "Our Healthcare Staffing Solutions"
     heading   start        vs center
     grid      612px 612px  vs three equal columns, 20px gap
     title     start        vs center
     body      start        vs center
     image     64x64        vs 247x150

   All of it is composition, which is why E-71 (spacing and type only) did not fix it. */

/* Headings centred, matching home. */
.elementor-298 .elementor-element.elementor-element-1a2cbd6 .elementor-heading-title,
.elementor-298 .elementor-element.elementor-element-d2994e9 .elementor-heading-title{
  text-align:center !important;}

/* The cropped head: the crop window sat too low, so the subject lost her head off the top.
   Anchoring the window near the top of the frame brings the face back in. */
.elementor-298 .elementor-element.elementor-element-2de73d3 img{
  object-position:50% 18% !important;}

/* The two bare text columns become cards, which is the single biggest visual difference. */
.elementor-298 .elementor-element.elementor-element-2de73d3 .elementor-widget-text-editor{
  background:#FFFFFF !important;
  border:1px solid #D4D5CE !important;
  border-radius:16px !important;
  padding:32px !important;}
.elementor-298 .elementor-element.elementor-element-2de73d3 .elementor-widget-text-editor p{
  text-align:left !important;}

/* Six Ways: three equal columns and centred card content, exactly as home does it. */
.elementor-298 .elementor-element.elementor-element-d45f54a.e-con{
  grid-template-columns:repeat(3,1fr) !important;
  gap:20px !important;}

.elementor-298 .elementor-element.elementor-element-5f0fbc7 .elementor-icon-box-title,
.elementor-298 .elementor-element.elementor-element-5f0fbc7 .elementor-icon-box-description,
.elementor-298 .elementor-element.elementor-element-5f0fbc7 .elementor-widget-heading .elementor-heading-title,
.elementor-298 .elementor-element.elementor-element-5f0fbc7 .elementor-widget-text-editor,
.elementor-298 .elementor-element.elementor-element-5f0fbc7 .elementor-widget-button{
  text-align:center !important;}
.elementor-298 .elementor-element.elementor-element-5f0fbc7 .elementor-button{
  margin-inline:auto !important;}

/* Card thumbnails were 64 by 64 against home's 247 by 150. */
.elementor-298 .elementor-element.elementor-element-5f0fbc7 .elementor-widget-image img{
  width:100% !important;
  max-width:247px !important;
  height:150px !important;
  object-fit:cover !important;
  margin-inline:auto !important;}

/* ===== E-90 (2026-09-01) Site wide link behaviour: no underline, orange on hover =======
   The existing site wide rule draws a sliding underline as a background gradient, not as
   text-decoration, at
     a:not(.elementor-button):not(.pmband-cta):not(:has(img))   which scores (0,3,1)
   because each :not() argument contributes its own class weight. Adding one more class
   level token to the same shape reaches (0,4,1), which wins.
   Buttons are excluded on purpose: an orange filled CTA must not turn its own label orange. */
a:not(.elementor-button):not(.pmband-cta):not(.pm-btn):not(:has(img)){
  background-image:none !important;
  text-decoration:none !important;
  transition:color 300ms ease-in-out, fill 300ms ease-in-out !important;}

a:not(.elementor-button):not(.pmband-cta):not(.pm-btn):not(:has(img)):hover,
a:not(.elementor-button):not(.pmband-cta):not(.pm-btn):not(:has(img)):hover *{
  color:#FF8946 !important;
  fill:#FF8946 !important;
  background-image:none !important;
  text-decoration:none !important;}

/* Header navigation: orange label on hover, nothing underlined. */
.elementor-88 .elementor-nav-menu .elementor-item,
.elementor-88 .elementor-nav-menu a.elementor-item{
  background-image:none !important;
  text-decoration:none !important;
  transition:color 300ms ease-in-out !important;}

.elementor-88 .elementor-nav-menu--main.elementor-nav-menu--main a.elementor-item:hover,
.elementor-88 .elementor-nav-menu--main.elementor-nav-menu--main a.elementor-item:focus,
.elementor-88 .elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item:hover{
  color:#FF8946 !important;
  background-color:transparent !important;}

/* Footer chevron slides RIGHT on hover, same 300ms easing. The arrow is a 5px shape drawn
   from borders on span.elementor-icon-list-text::before, so it moves with translateX. */
.elementor-90 .elementor-icon-list-item .elementor-icon-list-text::before{
  transition:border-color 300ms ease-in-out, transform 300ms ease-in-out !important;}

.elementor-90 .elementor-icon-list-item:hover .elementor-icon-list-text::before,
.elementor-90 .elementor-icon-list-item a:hover .elementor-icon-list-text::before{
  transform:translateX(4px) !important;}

/* Contact column icons follow the label to orange rather than staying teal. */
.elementor-90 .elementor-element.elementor-element-473f6d4 a:hover svg,
.elementor-90 .elementor-element.elementor-element-473f6d4 a:hover i,
.elementor-90 .pmfoot-contact a:hover svg,
.elementor-90 .pmfoot-contact a:hover i{
  color:#FF8946 !important; fill:#FF8946 !important;}

@media (prefers-reduced-motion:reduce){
  .elementor-90 .elementor-icon-list-item:hover .elementor-icon-list-text::before{
    transform:none !important;}}

/* ===== E-77 to E-83 (2026-09-01) Responsive and accessibility pass ===================
   Authored and PROVEN by injection: every rule was measured before, injected with
   page.addStyleTag, and re-measured. Competitors and both specificity scores are named.
   Scoped so the min-width 1025px footer column widths from E-88 are untouched. */

@media (max-width:1024px){
  /* E-77 Footer orphaned a whole column at 768 and 1024. The row is flex wrap with
     space-between, so a partial row spread its items and left one stranded.
     Beats (0,3,0) and (0,2,0) with (0,6,0). */
  .elementor-90 .elementor-element.elementor-element-6920356.e-con.e-parent > .e-con-inner{
    column-gap:24px !important;
    justify-content:flex-start !important;
    align-content:flex-start !important;}

  /* Brand block takes a full width row of its own, so no partial row can form. */
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-7cb5082{
    flex:1 1 100% !important; flex-basis:100% !important;
    width:100% !important; max-width:none !important; padding-inline:0 !important;}

  /* Full width row would give the standfirst a 930px measure, about 150 characters.
     Capping the WIDGET holds it near 75 characters while the ROW still spans the footer. */
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-7cb5082 > .elementor-widget{
    max-width:520px !important;}

  /* E-79 the Specialties column was indented 15px more than its siblings, from an
     asymmetric Elementor padding (15px LEFT where the others had 15px right or none).
     Zeroing it puts all four heading lefts on the column edge. */
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-eb6bf37,
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-36f94d3,
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-3b061bc,
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-473f6d4{
    padding-inline:0 !important; width:auto !important; min-width:0 !important;}}

/* Four equal columns fill the row exactly, so none can be orphaned. 214.5px each at 1024. */
@media (min-width:861px) and (max-width:1024px){
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-eb6bf37,
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-36f94d3,
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-3b061bc,
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-473f6d4{
    flex:0 1 calc((100% - 72px)/4) !important;
    flex-basis:calc((100% - 72px)/4) !important;
    max-width:calc((100% - 72px)/4) !important;}}

/* Two by two: four columns make exactly two full rows. 325px each at 768. */
@media (min-width:541px) and (max-width:860px){
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-eb6bf37,
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-36f94d3,
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-3b061bc,
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-473f6d4{
    flex:0 1 calc((100% - 24px)/2) !important;
    flex-basis:calc((100% - 24px)/2) !important;
    max-width:calc((100% - 24px)/2) !important;}}

@media (max-width:540px){
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-eb6bf37,
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-36f94d3,
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-3b061bc,
  .elementor-90 .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-473f6d4{
    flex:1 1 100% !important; flex-basis:100% !important; max-width:none !important;}}

/* E-78 wrapped labels lost their hanging indent: the 14px chevron occupies inline space on
   the FIRST line only, so line two started 14px left. Padding plus a negative first line
   indent makes the marker hang and every line align at one x. Measured step 14px to 0. */
.elementor-90 .elementor-widget-icon-list .elementor-icon-list-text.elementor-icon-list-text.elementor-icon-list-text{
  padding-left:14px !important; text-indent:-14px !important;}

/* E-80 touch targets. Hit area only, no font-size is touched anywhere here.
   Footer links 18.9px to 44px. The 2px margin and 4px padding are folded INTO the 44px box
   rather than added on top, to hold the footer growth to the minimum. */
.elementor-90 .elementor-widget-icon-list .elementor-icon-list-item.elementor-icon-list-item.elementor-icon-list-item{
  margin-bottom:0 !important; padding-top:0 !important; padding-bottom:0 !important;}
.elementor-90 .elementor-widget-icon-list .elementor-icon-list-item.elementor-icon-list-item.elementor-icon-list-item > a{
  min-height:44px !important; display:flex !important; align-items:center !important;}

/* Footer phone 20.3px and email 18.9px to 44px. Scoped to the ANCHOR: the postal address
   also carries .pmfoot-line but is not a link and must stay top aligned. */
.pmfoot-contact a.pmfoot-line.pmfoot-line{
  min-height:44px !important; align-items:center !important;}

/* CTA band phone link 22.5px to 44.5px. The :not() keeps the orange CTA's own padding. */
.pmband .pmband-link:not(.pmband-cta){
  min-height:44px !important; padding-block:11px !important; align-items:center !important;}

/* Social icons 34x34 to a 44x44 HIT AREA while the painted disc stays exactly its current
   size, via a transparent padding ring plus background-clip content-box. The visible
   circle does not change an hour before review; only the tappable box grows. */
.elementor-90 .elementor-widget-social-icons .elementor-grid.elementor-grid{
  --grid-column-gap:0px; column-gap:0px !important;}
.elementor-90 .elementor-widget-social-icons a.elementor-social-icon.elementor-social-icon{
  width:44px !important; height:44px !important;
  padding:calc((44px - var(--icon-size,25px) - 2 * var(--icon-padding,0.5em))/2) !important;
  background-clip:content-box !important; box-sizing:border-box !important;
  overflow:visible !important;}

/* E-81 the separator hung with nothing after it once the CTA wrapped. The row needs 443px
   and wraps at about a 480px viewport, so hiding at 600 is safely on the correct side. */
@media (max-width:600px){
  .pmband .pmband-actions .pmband-sep{ display:none !important;}}

/* E-83 the two genuinely small BODY strings, 10px legal and 10.5px badge, go to 12px.
   The 11px uppercase eyebrows are left deliberately: uppercase has no descenders and a cap
   height near its em size, so an 11px tracked label reads near a 15px lowercase one, and
   raising them would move the vertical rhythm of every heading on all 11 pages. */
.pmf-legal.pmf-legal.pmf-legal.pmf-legal.pmf-legal,
.pmf-rs-legal.pmf-rs-legal.pmf-rs-legal.pmf-rs-legal.pmf-rs-legal{
  font-size:12px !important; line-height:1.45 !important;}
.elementor-element-99e879c.elementor-element-99e879c.elementor-element-99e879c .elementor-icon-box-description.elementor-icon-box-description{
  font-size:12px !important;}

/* E-82 skip link target does not exist and CSS cannot mint an id or a fragment target.
   No rule is written here on purpose. It needs markup: wrap the page content wrapper
   (div.elementor[data-elementor-type="wp-page"]) in <main id="content" tabindex="-1">.
   The tabindex matters, without it the viewport moves but keyboard focus does not. */

/* ===== E-89b (2026-09-01) The headings were not left aligned, they were HALF WIDTH =====
   E-89 set text-align center on the heading titles and the computed value did change, yet
   nothing moved on screen. Measuring the boxes showed why:
     Start With the Gap   heading widget 1a2cbd6    L80 W768  inside a 1280 row
     Six Ways             heading container 2304d90 L80 W640, with the intro copy and the
                          button in a SECOND column c265928 at L720 W640
   Centring text inside a 640px box that starts at the left edge looks exactly like left
   alignment. Home stacks these full width and centres them. That is the real difference.
   The body card was also 960 against a 1280 image, reading as a narrow slab under a full
   bleed photograph, so it now matches the image width. */
.elementor-298 .elementor-element-1a2cbd6.elementor-element-1a2cbd6.elementor-element-1a2cbd6{
  width:100% !important; max-width:100% !important; text-align:center !important;}
.elementor-298 .elementor-element-1a2cbd6.elementor-element-1a2cbd6 .elementor-heading-title{
  text-align:center !important;}

.elementor-298 .elementor-element-985d6c8.elementor-element-985d6c8.elementor-element-985d6c8{
  width:100% !important; max-width:100% !important;}
.elementor-298 .elementor-element-985d6c8.elementor-element-985d6c8 p{
  text-align:left !important;}

.elementor-298 .elementor-element-2304d90.elementor-element-2304d90.elementor-element-2304d90,
.elementor-298 .elementor-element-c265928.elementor-element-c265928.elementor-element-c265928{
  width:100% !important; max-width:100% !important; flex:0 0 100% !important;
  align-items:center !important; text-align:center !important;}
.elementor-298 .elementor-element-c265928.elementor-element-c265928 .elementor-button{
  margin-inline:auto !important;}
.elementor-298 .elementor-element-2304d90.elementor-element-2304d90 .elementor-heading-title,
.elementor-298 .elementor-element-c265928.elementor-element-c265928 .elementor-widget-text-editor{
  text-align:center !important;}

/* ===== E-91 (2026-09-01) Every internal page heading was half width, site wide ========
   Scanned all eight remaining internal pages. The SAME defect appears on every one, which
   is why this reads as a whole site problem rather than a page problem:

     specialties   headings 608, 640, 510   in a 1344 row
     nursing       headings 544, 640, 544, 510
     imaging       headings 544, 640, 544, 510
     rehab         headings 544, 640, 544, 510
     lab-pharmacy  headings 544, 640, 544, 510
     who-we-serve  headings 608, 640, 408, 510
     why-promed    headings 640, 608, 640, 510
     faq           headings 640 x5, 510

   Every section heading sits in a HALF WIDTH column while home stacks its headings full
   width and centres them. That is why the internal pages read as bare next to home, and it
   is also why E-71 (which corrected spacing and type only) did not fix the impression.

   Structural rather than per page: the .elementor-90 matches any heading widget inside the
   section wrapper of any page that is NOT home, so all eight pages are corrected by one
   block and any future page inherits it.

   The grid rule is scoped to containers that actually hold a heading, so real two column
   content rows (image beside text) are not flattened. */

.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con > .e-con-inner > .elementor-widget-heading,
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con > .e-con-inner > .e-con:has(> .elementor-widget-heading){
  width:100% !important;
  max-width:100% !important;
  flex:0 0 100% !important;
  align-items:center !important;
  text-align:center !important;}

.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con > .e-con-inner > .elementor-widget-heading .elementor-heading-title,
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con > .e-con-inner > .e-con:has(> .elementor-widget-heading) .elementor-heading-title{
  text-align:center !important;}

/* The intro paragraph and the button that sit beside a heading in these two column headers
   join the centred stack instead of being stranded in the right hand column. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con > .e-con-inner > .e-con:has(> .elementor-widget-heading) .elementor-widget-text-editor,
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con > .e-con-inner > .e-con:has(> .elementor-widget-heading) .elementor-widget-button{
  text-align:center !important;}
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con > .e-con-inner > .e-con:has(> .elementor-widget-heading) .elementor-button{
  margin-inline:auto !important;}

/* Bare text blocks get the home card surface. Measured on nursing, imaging, rehab,
   lab-pharmacy and who-we-serve: transparent background and no border where home uses a
   white card with a 1px #D4D5CE hairline and a 16px radius. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con > .e-con-inner > .e-con > .elementor-widget-text-editor.pm-bare,
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) .pm-card{
  background:#FFFFFF !important;
  border:1px solid #D4D5CE !important;
  border-radius:16px !important;}

/* Body copy left, never justified, matching home. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-widget-text-editor p{
  text-align:left !important;}

/* ===== E-92 (2026-09-01) Image radius SITE WIDE, which is what was asked ==============
   My earlier radius fix (E-59) was scoped to one widget on home. The instruction was every
   image on the site, and this block does that: every content image on every page gets the
   16px radius from the design system.

   Excluded deliberately, and only these: the logo rail marquee (square lockups on a band),
   the header and footer brand logos, the social icons, and the hero cutout people (they are
   transparent cutouts, a radius on a cutout would clip the figure's shoulder).

   Also gives the section containers overflow hidden where a radius would otherwise be
   defeated by a child image painting over the corner. */
.elementor[data-elementor-type="wp-page"] .elementor-widget-image img,
.elementor[data-elementor-type="wp-page"] .elementor-image img,
.elementor[data-elementor-type="wp-page"] figure img,
.elementor-90 .elementor-widget-image img{
  border-radius:16px !important;}

/* The exclusions. Marquee logos, brand marks, social glyphs and hero cutouts stay square. */
.pm-marquee-track img,
.elementor-88 .elementor-widget-image img,
.elementor-90 .elementor-element.elementor-element-7cb5082 img,
.elementor-social-icon img,
.elementor[data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-image img,
.elementor[data-elementor-type="wp-page"] img[src*="promed-hero-"],
.elementor[data-elementor-type="wp-page"] img[src*="pm-hf-"],
.elementor[data-elementor-type="wp-page"] img[src*="promed-logo"]{
  border-radius:0 !important;}

/* Wrappers clip to the same radius so a corner is never painted over. */
.elementor[data-elementor-type="wp-page"] .elementor-widget-image .elementor-widget-container,
.elementor[data-elementor-type="wp-page"] .elementor-widget-image figure{
  border-radius:16px !important;
  overflow:hidden !important;}
.elementor[data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-image .elementor-widget-container,
.elementor[data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-image figure{
  border-radius:0 !important;
  overflow:visible !important;}

/* ===== E-93 (2026-09-01) Reverting four things I changed that were not asked for ======

   1. FOOTER LINK SPACING. I set min-height 44px on every footer link for the touch target
      audit. On desktop that stretched the rows and is not what was asked. The 44px target
      now applies ONLY on touch widths, where it actually matters, and desktop goes back to
      the tight spacing that was there before.

   2. THE CHEVRON ROTATED AND MOVED ON HOVER. The translateX I added made it slide, and
      because the arrow is drawn from two rotated borders the slide read as a rotation.
      Removed. The ONLY hover effect is the colour going orange, as asked.

   3. LOGO BAND SPACING. The band carried a large top pad above the heading and a much
      larger one below the logos. Both are now the same 56px, so the spacing above the
      heading equals the spacing below the logos.

   4. Logos larger, and the marquee row given room without the extra dead band. */

/* 1. Desktop keeps its original tight rows. */
@media (min-width:1025px){
  .elementor-90 .elementor-widget-icon-list .elementor-icon-list-item.elementor-icon-list-item.elementor-icon-list-item > a{
    min-height:0 !important;
    display:inline-flex !important;}
  .elementor-90 .elementor-widget-icon-list .elementor-icon-list-item.elementor-icon-list-item.elementor-icon-list-item{
    margin-bottom:2px !important;}
  .pmfoot-contact a.pmfoot-line.pmfoot-line{
    min-height:0 !important;}}

/* 2. No movement on hover. Colour only. */
.elementor-90 .elementor-icon-list-item:hover .elementor-icon-list-text::before,
.elementor-90 .elementor-icon-list-item a:hover .elementor-icon-list-text::before{
  transform:none !important;}
.elementor-90 .elementor-icon-list-item .elementor-icon-list-text::before{
  transition:border-color 300ms ease-in-out !important;
  transform:none !important;}

/* 3. Equal breathing room above the heading and below the logos. */
.elementor-296 .elementor-element.elementor-element-5f34e78.e-con,
.elementor[data-elementor-type="wp-page"] .e-con:has(.pm-marquee-track){
  --padding-top:56px !important;
  --padding-bottom:56px !important;
  padding-top:56px !important;
  padding-bottom:56px !important;}
.elementor[data-elementor-type="wp-page"] .e-con:has(> .e-con-inner .pm-marquee-track) > .e-con-inner{
  padding-bottom:0 !important;}

/* 4. Logos bigger. */
.pm-marquee-track img{
  height:180px !important;
  width:180px !important;
  object-fit:contain !important;}

/* ===== E-92b: the images that were still square ======================================
   The tag wall image and other section photographs sit in containers my E-92 .elementor-90 did
   not reach, because they are backgrounds or plain img tags rather than image widgets.
   Catching every rectangular content image on every page, still excluding the cutouts,
   the logo rail and the brand marks. */
.elementor[data-elementor-type="wp-page"] .e-con img:not([src*="promed-hero-"]):not([src*="pm-hf-"]):not([src*="promed-logo"]),
.elementor[data-elementor-type="wp-page"] .elementor-widget-container > img{
  border-radius:16px !important;}

.pm-marquee-track img,
.elementor[data-elementor-type="wp-page"] > .e-con:first-child img{
  border-radius:0 !important;}

.elementor[data-elementor-type="wp-page"] .pm-image,
.elementor[data-elementor-type="wp-page"] .pm-image-tint,
.elementor[data-elementor-type="wp-page"] .pm-tagwall{
  border-radius:16px !important;
  overflow:hidden !important;}

/* ===== E-94 (2026-09-01) Logos actually bigger, and the CTA line balanced =============
   The E-93 logo rule lost: the marquee sizes each logo with a per logo rule carrying its own
   id class, which outscores a bare .pm-marquee-track img. Matching that shape and adding a
   class gets there. Saskatchewan is excluded from the upscale because its source is already
   2000px and it is the one logo that is genuinely retina; the rest are 200px sources, so
   this makes them as large as their pixels allow. Truly retina needs 400px files from
   Hafeez, which is the honest limit here.

   The closing CTA paragraph is set to balance so its two lines come out near equal width
   without ever spilling to a third line. text-wrap balance does exactly that: it evens the
   lines of a short block and never adds one. */
.elementor[data-elementor-type="wp-page"] .pm-marquee-track img,
.elementor[data-elementor-type="wp-page"] .pm-marquee-track img[src]{
  height:170px !important;
  width:170px !important;
  max-width:none !important;
  object-fit:contain !important;}

.elementor[data-elementor-type="wp-page"] .pm-marquee-track{
  align-items:center !important;}

/* Two lines, evenly balanced, never a third. */
.elementor[data-elementor-type="wp-page"] .pm-closing p,
.elementor[data-elementor-type="wp-page"] .pm-closing .elementor-widget-text-editor p,
.elementor-296 .elementor-element.elementor-element-6fe285f p{
  text-wrap:balance !important;
  max-width:64ch !important;
  margin-inline:auto !important;}

/* ===== E-95 (2026-09-01) Footer brand paragraph widow, "2014." alone on its own line ==
   My earlier text-wrap pretty on this paragraph lost on specificity, so the widow survived.
   Repeating the id class three times reaches (0,4,1) and wins outright.

   pretty is the correct property here rather than balance: balance evens ALL lines of a
   short block, which on a six line paragraph can make every line short. pretty leaves the
   body of the paragraph alone and only prevents the LAST line being a lone fragment, which
   is exactly the defect. */
.elementor-90 .elementor-element-7cb5082.elementor-element-7cb5082.elementor-element-7cb5082 p,
.elementor-90 .elementor-element-7cb5082.elementor-element-7cb5082.elementor-element-7cb5082 .elementor-widget-text-editor{
  text-wrap:pretty !important;
  hyphens:none !important;}

/* Site wide safety net: no paragraph anywhere should end on a lone word. */
.elementor[data-elementor-type="wp-page"] p,
.elementor-90 p,
.elementor-88 p{
  text-wrap:pretty !important;}

/* ===== E-96 (2026-09-01) Logo size and the brand widow, at the specificity they need ===
   Two misses corrected, both because I did not check what was already winning.

   LOGOS: an earlier optical normalisation pass set each logo individually at
     html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track img[src*="NAME"]
   which scores (0,5,3). My E-93 and E-94 rules were (0,1,1) and (0,3,1), so they never had
   a chance. Matching that exact shape and adding the marquee class reaches (0,6,3).
   Sizes are scaled up proportionally from the normalised values, so the optical balance
   that pass achieved is preserved rather than thrown away.

   BRAND BLURB: it is a DIV carrying .elementor-heading-title, not a paragraph, which is why
   every p based widow rule missed it entirely. */
html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track.pm-marquee-track img{
  width:176px !important;
  height:176px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;}

html body .elementor-296 .elementor-element.elementor-element-9cd3da7 .pm-marquee-track.pm-marquee-track img[src*="Saskatchewan"]{
  width:196px !important; height:196px !important;}

/* The blurb is a heading-title div. pretty prevents the lone "2014." last line. */
.elementor-90 .elementor-element-7cb5082 .elementor-heading-title,
.elementor-90 .elementor-element-b23e322 .elementor-heading-title{
  text-wrap:pretty !important;
  hyphens:none !important;}

.elementor[data-elementor-type="wp-page"] .elementor-heading-title,
.elementor-90 .elementor-heading-title{
  text-wrap:pretty !important;}

/* ===== E-97 (2026-09-01) REGRESSION FIX: I flattened the chevrons ====================
   My fault. To stop the arrow sliding on hover I wrote transform:none on the pseudo
   element. But the arrow IS a transform: it is two borders on a 5px box rotated 45 degrees
   to form the ">" shape. Removing the transform removed the rotation, so every footer link
   showed an unrotated corner mark instead of an arrow.

   The rotation is restored and pinned identically on both states, so the shape is correct
   and it still does not move on hover. Colour remains the only hover effect, as asked. */
.elementor-90 .elementor-icon-list-item .elementor-icon-list-text::before,
.elementor-90 .elementor-icon-list-item:hover .elementor-icon-list-text::before,
.elementor-90 .elementor-icon-list-item a:hover .elementor-icon-list-text::before{
  transform:rotate(45deg) !important;
  transition:border-color 300ms ease-in-out !important;}

/* The brand blurb still ended on a short line. Widening the column by 20px pulls "since
   2014." up onto the previous line without touching the type. */
@media (min-width:1025px){
  .elementor-90 .elementor-element.elementor-element-7cb5082{
    flex:0 0 320px !important; max-width:320px !important;}
  .elementor-90 .elementor-element.elementor-element-473f6d4{
    flex:0 0 268px !important; max-width:268px !important;}}

/* ===== E-97b (2026-09-01) Chevron rotation, correct angle ============================
   E-97 restored a rotation but guessed the angle: rotate(45deg) on a right plus bottom
   border pair points the arrow DOWN. The arrow must point RIGHT, which is rotate(-45deg). */
.elementor-90 .elementor-icon-list-item .elementor-icon-list-text::before,
.elementor-90 .elementor-icon-list-item:hover .elementor-icon-list-text::before,
.elementor-90 .elementor-icon-list-item a:hover .elementor-icon-list-text::before{
  transform:rotate(-45deg) !important;}

/* ===== E-98 (2026-09-01) REQUEST STAFF rebuilt to home standard, part 1 ==============
   Authored by the Sol pass, every rule measured before and after by injection. Scoped to
   page 316 only. The hero had NO background photograph (flat #002B2C), which was the main
   reason the page read as unfinished, and it was 1642px tall against home's 1144. */

.elementor-316.elementor-316 .elementor-element.elementor-element-ee16267:not(.elementor-motion-effects-element-type-background){
  background-color:#002B2C !important;
  background-image:url("https://www.promedhr.ca/facilities/wp-content/uploads/2026/08/pexels-photo-6129147.jpeg") !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;}

.elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child{
  min-height:780px !important;
  padding:144px 32px 72px !important;}

.elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner{
  align-items:center !important; gap:56px !important;
  justify-content:space-between !important;
  max-width:1280px !important; padding:0 !important; width:100% !important;}

.elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con.elementor-element-13b751e{
  align-items:flex-start !important; box-sizing:border-box !important;
  flex:0 0 600px !important; max-width:600px !important;
  padding:0 24px 0 0 !important; text-align:left !important; width:600px !important;}

.elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-element-93fdf55 h1.elementor-heading-title{
  font-family:Urbanist, sans-serif !important; font-size:50px !important;
  font-weight:600 !important; line-height:1.08 !important;
  max-width:600px !important; text-align:left !important; width:100% !important;}

.elementor.elementor-316.elementor-316.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-element-45cf731 .elementor-heading-title{
  color:rgba(255,255,255,.85) !important;
  font-family:"Open Sans", sans-serif !important; font-size:17px !important;
  font-weight:400 !important; line-height:1.55 !important;
  max-width:560px !important; text-align:left !important;}

/* The cutout person is removed, as the client asked: the background photograph carries the
   hero now. */
.elementor-316.elementor-316 .pm-rs-exec{ display:none !important;}

.elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con.e-child.elementor-element-6132f1c:last-of-type{
  box-sizing:border-box !important; flex:0 0 620px !important;
  justify-content:center !important; max-width:620px !important;
  padding:0 !important; width:620px !important;}

/* The form card now matches the home hero form: translucent white, 8px blur, 16px radius. */
.elementor-316.elementor-316 .pmf-rs{
  backdrop-filter:blur(8px) !important;
  background:rgba(255,255,255,.85) !important;
  border:0 !important; border-radius:16px !important;
  box-shadow:0 24px 64px rgba(0,43,44,.25) !important;
  max-width:620px !important; padding:28px !important; width:100% !important;}

.elementor-316.elementor-316 .pmf-rs .pmf-rs-title{
  font-family:Urbanist, sans-serif !important; font-size:28px !important;
  line-height:1.15 !important; margin:0 0 6px !important;}

.elementor-316.elementor-316 .pmf-rs .pmf-rs-sub{
  font-family:"Open Sans", sans-serif !important; font-size:13px !important;
  line-height:1.45 !important; margin:0 0 14px !important;}

/* The embed reserved 1180px for a 740px form, which is where most of the dead height was. */
.elementor-316 .pmf-rs #promed-request-staff-form iframe.hs-form-iframe{
  height:740px !important; min-height:740px !important; width:100% !important;}
.elementor-316 .pmf-rs #promed-request-staff-form{
  height:740px !important; min-height:740px !important;}

/* A duplicate privacy line was rendering under the form. */
.elementor-316.elementor-316 .pmf-rs .pmf-rs-privacy{ display:none !important;}

/* ===== E-98b (2026-09-01) REQUEST STAFF part 2: the sections below the hero ===========
   A four track grid with one empty track becomes three even cards, bare paragraphs get the
   home card treatment, and the dark CTA band matches home. Responsive rules included. */

.elementor-316.elementor-316 .elementor-element.elementor-element-8e3b614{
  background:#002B2C !important; padding:64px 32px !important;}
.elementor-316.elementor-316 .elementor-element.elementor-element-8e3b614 > .e-con-inner{
  max-width:1280px !important; padding:0 !important; width:100% !important;}

.elementor-316.elementor-316 .elementor-element.elementor-element-5a97b6b:not(.elementor-motion-effects-element-type-background){
  align-items:center !important; background:#002B2C !important;
  border:1px solid #00B3B9 !important; border-radius:16px !important;
  flex-direction:row !important; gap:24px !important;
  justify-content:space-between !important; padding:32px !important;}

.elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con.elementor-element-8e3b614 > .e-con-inner > .e-con.elementor-element-5a97b6b:has(> .elementor-widget-heading) .elementor-element-d2cc0d4 .elementor-heading-title{
  color:#FFFFFF !important; text-align:left !important;}
.elementor-316.elementor-316 .elementor-element-5a97b6b .elementor-element-2c48bf1 .elementor-heading-title{
  color:#C1E0DE !important; font-family:"Open Sans", sans-serif !important;
  font-size:16px !important; font-weight:400 !important; line-height:1.5 !important;}
.elementor-316.elementor-316 .elementor-element-5a97b6b .elementor-element-136eaa2 .elementor-button{
  background:#FF8946 !important; border:1px solid #FF8946 !important;
  border-radius:30px !important; color:#FFFFFF !important; min-height:48px !important;}

.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da:not(.elementor-motion-effects-element-type-background){
  background:#FFFFFF !important; padding:72px 32px !important;}
.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da > .e-con-inner{
  max-width:1280px !important; padding:0 !important; width:100% !important;}

/* Four grid tracks with one empty becomes three even cards. */
.elementor-316.elementor-316 .elementor-element.elementor-element-ab49d9e{
  grid-template-columns:repeat(3, minmax(0,1fr)) !important; width:100% !important;}
.elementor-316.elementor-316 .elementor-element-ab49d9e .pm-card.pm-card{
  align-items:center !important; height:auto !important;
  min-height:300px !important; text-align:center !important;}

.elementor-316.elementor-316 .elementor-element.elementor-element-2740c47:not(.elementor-motion-effects-element-type-background){
  background:#C1E0DE !important; padding:96px 32px !important;}
.elementor-316.elementor-316 .elementor-element.elementor-element-2740c47 > .e-con-inner{
  max-width:1280px !important; padding:0 !important; width:100% !important;}

/* Bare paragraphs become home style cards. */
.elementor-316.elementor-316 .elementor-element.elementor-element-0773cad{
  display:grid !important; gap:24px !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  max-width:1280px !important; text-align:left !important; width:100% !important;}
.elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-0773cad.elementor-widget-text-editor p{
  background:#FFFFFF !important; border:1px solid #D4D5CE !important;
  border-radius:16px !important; color:#002B2C !important;
  margin:0 !important; padding:32px !important; text-align:left !important;}

@media (max-width:1024px){
  .elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child{
    padding:120px 24px 72px !important;}
  .elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner{
    align-items:center !important; flex-direction:column !important;}
  .elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con.elementor-element-13b751e,
  .elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con.e-child.elementor-element-6132f1c:last-of-type{
    flex:1 1 auto !important; max-width:620px !important; padding:0 !important; width:100% !important;}}

@media (max-width:767px){
  .elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child{
    padding:96px 20px 56px !important;}
  .elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-element-93fdf55 h1.elementor-heading-title{
    font-size:34px !important;}
  .elementor-316.elementor-316 .pmf-rs{ padding:20px 18px 14px !important;}
  .elementor-316 .pmf-rs #promed-request-staff-form iframe.hs-form-iframe,
  .elementor-316 .pmf-rs #promed-request-staff-form{
    height:780px !important; min-height:780px !important;}
  .elementor-316.elementor-316 .elementor-element.elementor-element-5a97b6b:not(.elementor-motion-effects-element-type-background){
    align-items:flex-start !important; flex-direction:column !important;}
  .elementor-316.elementor-316 .elementor-element.elementor-element-ab49d9e,
  .elementor-316.elementor-316 .elementor-element.elementor-element-0773cad{
    grid-template-columns:1fr !important;}}

/* ===== E-99 (2026-09-01) Request Staff: the hours pill overlapped the legal line ======
   The pill container is position absolute, so once the form card shrank to 740px the pill
   landed on top of the reCAPTCHA line inside the card. Returning it to the flow at every
   width on this page, and giving it the mint pill treatment instead of the dark slab. */
.elementor-316 .elementor-element.elementor-element-5d5eb96{
  position:static !important;
  margin-top:12px !important;
  display:flex !important;
  justify-content:center !important;}

.elementor-316 .elementor-element.elementor-element-d150f9a .elementor-heading-title{
  background:#C1E0DE !important;
  color:#002B2C !important;
  border-radius:30px !important;
  padding:6px 16px !important;
  display:inline-block !important;
  font-size:12px !important;}
/* ===== E-100 (2026-09-01) footer five columns in one row at desktop ===== */
/* The footer row .elementor-element-6920356 > .e-con-inner is a wrapping flex line whose five
   column children all carry a FIXED basis with flex-grow 0 and flex-shrink 0:
   logo 320 + Solutions 270 + Specialties 225 + Company 145 + Contact 268 = 1228, plus four
   gaps of 14 = 1284. The row content box is 1280 at a 1440 viewport, 1184 at 1280 and 1104
   at 1200, so the sum never fits and Contact was pushed onto a line of its own under the
   logo at every width from 1025 up to about 1460, leaving the space right of Company empty.

   Two bands replace it.

   From 1200 up the row becomes a CSS grid with five explicit fractional tracks, so wrapping
   is structurally impossible: a grid row holds exactly the tracks it declares. The weights
   32 26 22 15 25 come from the measured content demand of each column, and they resolve at
   1440 and wider to 320 260 220 150 250, which holds the logo column at exactly the 320px
   E-97 set to cure its widow and still leaves every link label and every address on one
   line (Solutions gets 228px of content against a 213.7px longest line, Specialties 188
   against 182.9, Company 134 against 108.1, Contact 250 against 243.3).
   Plain fr rather than minmax(0,fr) is deliberate: an fr track floors at the item min
   content size, and those five floors total 727.5px against 1024px of track space at the
   narrowest, so the long labels wrap between words at 1280 and 1200 while no word can ever
   be split and nothing can overflow. Measured: five tracks were compared by injection and
   this set wraps the fewest labels while preserving the shipped 1440 geometry.

   From 1025 to 1199 the proven small screen shape is lifted upward instead: the logo takes a
   full width line of its own and the four remaining columns share the next line at a quarter
   each, which is exactly what already ships at 1024. Five tracks are geometrically possible
   at 1025 but would leave the logo blurb about 200px wide, so the quarter layout wins.

   Specificity, not order, decides here. Every competitor is named above its override. */

@media (min-width:1200px){

  /* competitor display (0,2,0) ".e-con, .e-con > .e-con-inner"
     competitor column-gap (0,5,0) !important
       ".elementor-90 .elementor-element.elementor-element-6920356.e-con > .e-con-inner" = 14px
     override (0,7,0) !important, one extra .e-con token plus the footer location class */
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356.e-con.e-con > .e-con-inner{
    display:grid !important;
    grid-auto-flow:row !important;
    grid-template-columns:calc((100% - 80px) / 3.75) repeat(3,minmax(0,1fr)) calc((100% - 80px) / 4.8) !important;column-gap:24px !important;}

  /* competitor (0,3,0) !important ".elementor-90 .elementor-element.elementor-element-<id>"
       flex 0 0 320px / 270px / 225px / 145px / 268px and the matching max-width.
     flex is inert on a grid item, but max-width and width are not and would cap every track,
     so both are released here. min-width is left at auto on purpose: that automatic minimum
     is what guarantees no word is ever split.
     override (0,7,0) !important */
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-7cb5082,
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-eb6bf37,
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-36f94d3,
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-3b061bc,
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-473f6d4{
    grid-column:auto !important;
    grid-row:auto !important;
    max-width:none !important;
    width:auto !important;}

  /* competitor (0,2,0) !important ".elementor-90 .elementor-element-<id>" flex 1 1 100%.
     flex-basis 100% is inert on a grid item, so the three full width bands are told to span
     every track instead. Nothing else about them is touched.
     override (0,7,0) !important */
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-9776652,
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-4113440,
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-651d255{
    grid-column:1 / -1 !important;}
}

@media (min-width:1025px) and (max-width:1199px){

  /* competitor column-gap (0,5,0) !important on the same inner = 14px.
     The 24px value and the two alignment values are copied verbatim from the E-77 rule that
     already ships inside max-width 1024, so the two bands meet with no step at 1024 to 1025.
     override (0,7,0) !important */
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356.e-con.e-con > .e-con-inner{
    display:flex !important;
    flex-wrap:wrap !important;
    column-gap:24px !important;
    justify-content:flex-start !important;
    align-content:flex-start !important;}

  /* competitor (0,3,0) !important ".elementor-90 .elementor-element.elementor-element-7cb5082"
       flex 0 0 320px, max-width 320px
     override (0,7,0) !important. Same declarations as the shipping E-77 rule at 1024. */
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-7cb5082{
    flex:1 1 100% !important;
    flex-basis:100% !important;
    width:100% !important;
    max-width:none !important;
    padding-inline:0 !important;}

  /* competitor (0,4,0) ".e-con.e-con > .e-con-inner > .elementor-widget" max-width 100%
     override (0,8,0) !important. Holds the blurb near 75 characters on the full width line. */
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-7cb5082 > .elementor-widget{
    max-width:520px !important;}

  /* competitor (0,3,0) !important on each of the four ids, fixed bases 270 225 145 268.
     A quarter each, with the three gaps of 24 removed first, fills the line exactly, so no
     column can be orphaned. Padding is zeroed the way E-79 already does at 1024, which also
     buys the longest label enough room to stay on one line down to 1025.
     override (0,7,0) !important */
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-eb6bf37,
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-36f94d3,
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-3b061bc,
  .elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356 > .e-con-inner > .elementor-element.elementor-element-473f6d4{
    flex:0 1 calc((100% - 72px)/4) !important;
    flex-basis:calc((100% - 72px)/4) !important;
    max-width:calc((100% - 72px)/4) !important;
    width:auto !important;
    min-width:0 !important;
    padding-inline:0 !important;}
}
/* ===== E-103 (2026-09-01) button labels #002B2C at rest on orange and teal fills, LD-029, supersedes LD-019 ===== */
/* BEFORE #FFFFFF on #FF8946 measured 2.35:1. AFTER #002B2C on #FF8946 measured 6.45:1. */
.elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-296 .elementor-element.elementor-element-5da8500 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-296 .elementor-element.elementor-element-12663ee .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-296 .elementor-element.elementor-element-12663ee .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-296 .elementor-element.elementor-element-5da8500 .elementor-button.elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-296 .elementor-element.elementor-element-5da8500 .elementor-button.elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-296 .elementor-element-12663ee .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-296 .elementor-element-12663ee .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-296 .elementor-element-5da8500 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-296 .elementor-element-5da8500 .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-88 .elementor-element.elementor-element-fa5124f .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-88 .elementor-element-fa5124f .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-element-5da8500 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.pm-primary.pm-onorange:not(:hover):not(:focus-visible),
.pm-onorange.pm-onorange:not(:hover):not(:focus-visible),
.pm-primary.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.pm-onorange.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.pm-secondary.pm-onorange:not(:hover):not(:focus-visible),
.pm-secondary.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-298 .elementor-element-e305a02 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-298 .elementor-element-e305a02 .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-298 .elementor-element-d69aecd .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-298 .elementor-element-d69aecd .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-298 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-element-e305a02 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-300 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-element-9751b01 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-302 .elementor-element-9176e0b .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-302 .elementor-element-9176e0b .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-302 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-element-9176e0b .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-304 .elementor-element-5727b06 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-304 .elementor-element-5727b06 .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-304 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-element-5727b06 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-306 .elementor-element-684d1ce .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-306 .elementor-element-684d1ce .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-306 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-element-684d1ce .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-308 .elementor-element-d28fe4d .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-308 .elementor-element-d28fe4d .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-308 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-element-d28fe4d .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-310 .elementor-element-5f8f70f .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-310 .elementor-element-5f8f70f .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-310 .elementor-element-eacf5d0 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-310 .elementor-element-eacf5d0 .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-310 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-element-5f8f70f .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-312 .elementor-element-ad29382 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-312 .elementor-element-ad29382 .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-312 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-element-ad29382 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-314 .elementor-element-c8570a4 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-314 .elementor-element-c8570a4 .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-314 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-element-c8570a4 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-316 .elementor-element-136eaa2 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
.elementor-316 .elementor-element-136eaa2 .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
.elementor-316.elementor-316 .elementor-element-5a97b6b .elementor-element-136eaa2 .elementor-button.pm-onorange:not(:hover):not(:focus-visible){
  color:#002B2C !important;
}

/* BEFORE #FFFFFF on #00B3B9 measured 2.58:1. AFTER #002B2C on #00B3B9 measured 5.90:1. */
.elementor-button.pm-learnmore:not(:hover):not(:focus-visible),
.pm-learnmore.pm-learnmore:not(:hover):not(:focus-visible),
.pm-learnmore.pm-learnmore:not(:hover):not(:focus-visible) .elementor-button-text{
  color:#002B2C !important;
}

/* ===== E-106 (2026-09-01) lane 1C: E-76 justify, E-83 type 12px, E-80 tap targets ===== */
/*
Promed For Facilities
Lane 1C accessibility corrections
Measured against the live development site
Rules are scoped to page, header, or footer containers
*/

/* ===== E-76 ===== */
/*
Competitor .elementor-90 none because the recorded computed value was already start or left.
Competitor specificity (0,0,0). New .elementor-90 not required.
BEFORE 0 justified paragraphs, list items, or headings in 55 page and width records.
AFTER 0 justified paragraphs, list items, or headings in the same records.
*/

/* ===== E-83 ===== */
/*
Competitor .elementor-90 .elementor .elementor-element.elementor-widget-heading h6.elementor-heading-title
Competitor specificity (0,4,1). New .elementor-90 specificity (0,5,1).
BEFORE 195 heading eyebrow text nodes at 11px. AFTER 0 nodes in this group under 12px.
*/
:is(.elementor-296,.elementor-298,.elementor-300,.elementor-302,.elementor-304,.elementor-306,.elementor-308,.elementor-310,.elementor-312,.elementor-314,.elementor-316).elementor .elementor-element.elementor-widget-heading h6.elementor-heading-title{
  font-size:12px !important;
}

/*
Competitor .elementor-90 .elementor-296 .elementor-element.elementor-element-8fa96c8 .elementor-heading-title
Competitor specificity (0,4,0). New .elementor-90 specificity (0,5,0).
BEFORE 5 home hero eyebrow text nodes at 11px. AFTER 0 nodes in this group under 12px.
*/
.elementor-296 .elementor-element.elementor-element-8fa96c8 .elementor-heading-title.elementor-heading-title,
.elementor-296 .elementor-element.elementor-element-925f480 .elementor-heading-title.elementor-heading-title{
  font-size:12px !important;
}

/*
Competitor .elementor-90 .elementor-296 .pmf-eyebrow
Competitor specificity (0,2,0). New .elementor-90 specificity (0,3,0).
BEFORE 10 form eyebrow text nodes at 11px. AFTER 0 nodes in this group under 12px.
*/
.elementor-296 .pmf-eyebrow.pmf-eyebrow{
  font-size:12px !important;
}

/*
Competitor .elementor-90 .elementor-316 .pmf-rs-eyebrow
Competitor specificity (0,2,0). New .elementor-90 specificity (0,3,0).
BEFORE 5 request form eyebrow text nodes at 11px. AFTER 0 nodes in this group under 12px.
*/
.elementor-316 .pmf-rs-eyebrow.pmf-rs-eyebrow{
  font-size:12px !important;
}

/*
Competitor .elementor-90 .elementor-296 .elementor-element.elementor-element-fdf2dbe > .elementor-widget-heading .elementor-heading-title
Competitor specificity (0,5,0). New .elementor-90 specificity (0,6,0).
BEFORE 6 visible home pill text nodes at 11px. AFTER 0 nodes in this group under 12px.
*/
.elementor-296 .elementor-element.elementor-element-fdf2dbe > .elementor-widget-heading.pm-pill .elementor-heading-title{
  font-size:12px !important;
}

/*
Competitor source is the inline style on .pm-tagwall-label.
Competitor inline specificity (1,0,0,0). New .elementor-90 specificity (0,5,0) with an important declaration.
BEFORE 20 tag wall label text nodes at 11px. AFTER 0 nodes in this group under 12px.
*/
.elementor-302 .elementor-widget.pm-tagwall .pm-tagwall-label.pm-tagwall-label,
.elementor-304 .elementor-widget.pm-tagwall .pm-tagwall-label.pm-tagwall-label,
.elementor-306 .elementor-widget.pm-tagwall .pm-tagwall-label.pm-tagwall-label,
.elementor-308 .elementor-widget.pm-tagwall .pm-tagwall-label.pm-tagwall-label{
  font-size:12px !important;
}

/*
Competitor .elementor-90 .pmfoot-contact .pmfoot-addr strong
Competitor specificity (0,2,1). New .elementor-90 specificity (0,3,1).
BEFORE 110 footer city label text nodes at 11px. AFTER 0 nodes in this group under 12px.
*/
.elementor-location-footer .pmfoot-contact .pmfoot-addr strong{
  font-size:12px !important;
}

/* ===== E-80 ===== */
@media (max-width:767px){
  /*
  Competitor .elementor-90 .elementor-90 .elementor-widget-icon-list .elementor-icon-list-item.elementor-icon-list-item.elementor-icon-list-item > a
  Competitor specificity (0,5,1). New .elementor-90 specificity (0,6,1).
  BEFORE 14 footer links were 18.9px high. AFTER all 14 are at least 44px high at 390px and 430px.
  */
  .elementor-location-footer.elementor-90 .elementor-widget-icon-list .elementor-icon-list-item.elementor-icon-list-item.elementor-icon-list-item > a{
    min-height:44px !important;
    display:flex !important;
    align-items:center !important;
  }

  /*
  Competitor .elementor-90 .pmfoot-contact a.pmfoot-line.pmfoot-line
  Competitor specificity (0,3,1). New .elementor-90 specificity (0,4,1).
  BEFORE phone 20.3px and email 18.9px high. AFTER both are 44px high at 390px and 430px.
  */
  .elementor-location-footer .pmfoot-contact a.pmfoot-line.pmfoot-line{
    min-height:44px !important;
    align-items:center !important;
  }

  /*
  Competitor .elementor-90 .pmband .pmband-link:not(.pmband-cta)
  Competitor specificity (0,3,0). New .elementor-90 specificity (0,4,0).
  BEFORE the band phone link was 22.5px high. AFTER it is 44.5px high at 390px and 430px.
  */
  .elementor-location-footer .pmband .pmband-link:not(.pmband-cta){
    min-height:44px !important;
    padding-block:11px !important;
    align-items:center !important;
  }

  /*
  Competitor .elementor-90 .elementor-90 .elementor-widget-social-icons a.elementor-social-icon.elementor-social-icon
  Competitor specificity (0,4,1). New .elementor-90 specificity (0,5,1).
  BEFORE each of 4 social links was 34px by 34px. AFTER each hit area is 44px by 44px at 390px and 430px.
  The painted disc remains 34px by 34px because the added ring is transparent.
  */
  .elementor-location-footer.elementor-90 .elementor-widget-social-icons a.elementor-social-icon.elementor-social-icon{
    width:44px !important;
    height:44px !important;
    padding:calc((44px - var(--icon-size,25px) - 2 * var(--icon-padding,0.5em))/2) !important;
    background-clip:content-box !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  /*
  Competitor .elementor-90 .pmlegal-links a
  Competitor specificity (0,1,1). New .elementor-90 specificity (0,2,1).
  BEFORE Privacy Policy and Terms of Service were 18px high. AFTER both are 44px high at 390px and 430px.
  */
  .elementor-location-footer .pmlegal-links a{
    min-height:44px !important;
    display:inline-flex !important;
    align-items:center !important;
  }
}

/* ===== E-82 ===== */
/*
The skip link .elementor-90 is a.skip-link.screen-reader-text and its href is #content.
No page currently contains #content, main, or a main role.
Page 296 first content container .elementor-296 > .elementor-element-e868dd1
Page 298 first content container .elementor-298 > .elementor-element-b63e017
Page 300 first content container .elementor-300 > .elementor-element-32a2ac7
Page 302 first content container .elementor-302 > .elementor-element-cb9f564
Page 304 first content container .elementor-304 > .elementor-element-e3a72d9
Page 306 first content container .elementor-306 > .elementor-element-db694c3
Page 308 first content container .elementor-308 > .elementor-element-bbb2ebb
Page 310 first content container .elementor-310 > .elementor-element-90e0297
Page 312 first content container .elementor-312 > .elementor-element-fd55d21
Page 314 first content container .elementor-314 > .elementor-element-f092e82
Page 316 first content container .elementor-316 > .elementor-element-ee16267
Adding id="content" through the CSS ID setting on each listed container satisfies the existing href and is the cheaper fix.
CSS cannot create an id or fragment target, so no CSS rule is written for this item.
*/

/* ===== E-107 (2026-09-01) lane 1D: E-73 cards, E-75 and E-101 pills, E-81 separator, social hover ===== */
/*
Lane 1D measured CSS
Live source www.promedhr.ca/facilities
Measured 2026 09 01
Palette restricted to the seven approved colours
*/

/* ===== E-73 ===== */
/*
Competitor html body .elementor-296 .e-con:has(> .elementor-element-4cf1730)
Competitor specificity (0,3,2)
Override copies the .elementor-90 and adds .e-con
Override specificity (0,4,2)
Other card competitors use .elementor-296 plus .elementor-element plus the unique card class
Other competitor specificity (0,3,0)
Other overrides add .e-con
Other override specificity (0,4,0)
BEFORE card one text ended 37 pixels beyond the 390 pixel viewport and also overran at 430
AFTER four cards measured zero text overrun and zero document overflow at 390 and 430
*/
@media (max-width:767px){
  html body .elementor-296 .e-con.e-con:has(> .elementor-element-4cf1730),
  .elementor-296 .elementor-element.elementor-element-2fd22f0.e-con,
  .elementor-296 .elementor-element.elementor-element-96ec039.e-con,
  .elementor-296 .elementor-element.elementor-element-11845cd.e-con{
    flex-wrap:nowrap !important;
    height:auto !important;
    min-width:0 !important;
  }

  /*
  Competitor .elementor-296 .elementor-element.elementor-element-4b6bbe4 > .elementor-widget
  Competitor specificity (0,4,0)
  Override copies the .elementor-90 and adds .e-con
  Override specificity (0,5,0)
  BEFORE the 264 pixel text column began at x 163 and ended at x 427
  AFTER every leaf text rectangle remains inside its card at 390 and 430
  */
  .elementor-296 .elementor-element.elementor-element-4b6bbe4.e-con > .elementor-widget,
  .elementor-296 .elementor-element.elementor-element-2fd22f0.e-con > .elementor-widget,
  .elementor-296 .elementor-element.elementor-element-96ec039.e-con > .elementor-widget,
  .elementor-296 .elementor-element.elementor-element-11845cd.e-con > .elementor-widget{
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-wrap:anywhere !important;
  }
}

/* ===== E-74 ===== */
/*
Competitor .elementor-316 .elementor-element.elementor-element-5d5eb96
Competitor specificity (0,3,0)
Override copies the .elementor-90 and adds .elementor-316
Override specificity (0,4,0)
BEFORE the absolute pill covered 97 percent of the privacy sentence at 390
AFTER overlap is 0 square pixels and clipping is false at 390, 430 and 1440
*/
.elementor-316.elementor-316 .elementor-element.elementor-element-5d5eb96{
  position:static !important;
  margin-top:12px !important;
  display:flex !important;
  justify-content:center !important;
}

/*
Competitor .elementor-316 .elementor-element.elementor-element-d150f9a .elementor-heading-title
Competitor specificity (0,4,0)
Override copies the .elementor-90 and adds .elementor-316
Override specificity (0,5,0)
BEFORE the label was attached to the overlapping absolute container
AFTER the mint pill is in flow with no overlap or clipping at all three measured widths
*/
.elementor-316.elementor-316 .elementor-element.elementor-element-d150f9a .elementor-heading-title{
  background:#C1E0DE !important;
  color:#002B2C !important;
  border-radius:30px !important;
  padding:6px 16px !important;
  display:inline-block !important;
  font-size:12px !important;
}

/* ===== E-75 ===== */
/*
Competitors are .elementor-NNN .elementor-element.elementor-element-ID
Competitor specificity (0,3,0)
Overrides copy every competitor and add .elementor-widget
Override specificity (0,4,0)
BEFORE 28 labels used a translucent white surface over photographs
AFTER all 28 surfaces compute to #C1E0DE
*/
.elementor-302 .elementor-element.elementor-element-204fe1c.elementor-widget,
.elementor-302 .elementor-element.elementor-element-7d2e566.elementor-widget,
.elementor-302 .elementor-element.elementor-element-f0ccaf6.elementor-widget,
.elementor-302 .elementor-element.elementor-element-688b202.elementor-widget,
.elementor-302 .elementor-element.elementor-element-70b51e5.elementor-widget,
.elementor-302 .elementor-element.elementor-element-754ae0f.elementor-widget,
.elementor-302 .elementor-element.elementor-element-fbb8aed.elementor-widget,
.elementor-304 .elementor-element.elementor-element-e6d4d91.elementor-widget,
.elementor-304 .elementor-element.elementor-element-700908c.elementor-widget,
.elementor-304 .elementor-element.elementor-element-9db536a.elementor-widget,
.elementor-304 .elementor-element.elementor-element-9a8fef7.elementor-widget,
.elementor-304 .elementor-element.elementor-element-2c7729b.elementor-widget,
.elementor-304 .elementor-element.elementor-element-a06bf92.elementor-widget,
.elementor-304 .elementor-element.elementor-element-5ae885e.elementor-widget,
.elementor-306 .elementor-element.elementor-element-31d38f8.elementor-widget,
.elementor-306 .elementor-element.elementor-element-67c0052.elementor-widget,
.elementor-306 .elementor-element.elementor-element-1498595.elementor-widget,
.elementor-306 .elementor-element.elementor-element-3e6c5be.elementor-widget,
.elementor-306 .elementor-element.elementor-element-4215a4e.elementor-widget,
.elementor-306 .elementor-element.elementor-element-0eb252c.elementor-widget,
.elementor-306 .elementor-element.elementor-element-68be31b.elementor-widget,
.elementor-308 .elementor-element.elementor-element-abea8ff.elementor-widget,
.elementor-308 .elementor-element.elementor-element-7c71050.elementor-widget,
.elementor-308 .elementor-element.elementor-element-5d45d64.elementor-widget,
.elementor-308 .elementor-element.elementor-element-b878a48.elementor-widget,
.elementor-308 .elementor-element.elementor-element-23a26c6.elementor-widget,
.elementor-308 .elementor-element.elementor-element-e5ec58d.elementor-widget,
.elementor-308 .elementor-element.elementor-element-fcad420.elementor-widget{
  background:#C1E0DE !important;
}

/*
Competitors are .elementor-NNN .elementor-element.elementor-element-ID .elementor-heading-title
Competitor specificity (0,4,0)
Overrides copy every competitor and add .elementor-widget
Override specificity (0,5,0)
BEFORE labels were #FFFFFF and the worst pixel true contrast was 1.05 to 1
AFTER labels are #002B2C and every sampled text backdrop pixel measures 10.84 to 1
*/
.elementor-302 .elementor-element.elementor-element-204fe1c.elementor-widget .elementor-heading-title,
.elementor-302 .elementor-element.elementor-element-7d2e566.elementor-widget .elementor-heading-title,
.elementor-302 .elementor-element.elementor-element-f0ccaf6.elementor-widget .elementor-heading-title,
.elementor-302 .elementor-element.elementor-element-688b202.elementor-widget .elementor-heading-title,
.elementor-302 .elementor-element.elementor-element-70b51e5.elementor-widget .elementor-heading-title,
.elementor-302 .elementor-element.elementor-element-754ae0f.elementor-widget .elementor-heading-title,
.elementor-302 .elementor-element.elementor-element-fbb8aed.elementor-widget .elementor-heading-title,
.elementor-304 .elementor-element.elementor-element-e6d4d91.elementor-widget .elementor-heading-title,
.elementor-304 .elementor-element.elementor-element-700908c.elementor-widget .elementor-heading-title,
.elementor-304 .elementor-element.elementor-element-9db536a.elementor-widget .elementor-heading-title,
.elementor-304 .elementor-element.elementor-element-9a8fef7.elementor-widget .elementor-heading-title,
.elementor-304 .elementor-element.elementor-element-2c7729b.elementor-widget .elementor-heading-title,
.elementor-304 .elementor-element.elementor-element-a06bf92.elementor-widget .elementor-heading-title,
.elementor-304 .elementor-element.elementor-element-5ae885e.elementor-widget .elementor-heading-title,
.elementor-306 .elementor-element.elementor-element-31d38f8.elementor-widget .elementor-heading-title,
.elementor-306 .elementor-element.elementor-element-67c0052.elementor-widget .elementor-heading-title,
.elementor-306 .elementor-element.elementor-element-1498595.elementor-widget .elementor-heading-title,
.elementor-306 .elementor-element.elementor-element-3e6c5be.elementor-widget .elementor-heading-title,
.elementor-306 .elementor-element.elementor-element-4215a4e.elementor-widget .elementor-heading-title,
.elementor-306 .elementor-element.elementor-element-0eb252c.elementor-widget .elementor-heading-title,
.elementor-306 .elementor-element.elementor-element-68be31b.elementor-widget .elementor-heading-title,
.elementor-308 .elementor-element.elementor-element-abea8ff.elementor-widget .elementor-heading-title,
.elementor-308 .elementor-element.elementor-element-7c71050.elementor-widget .elementor-heading-title,
.elementor-308 .elementor-element.elementor-element-5d45d64.elementor-widget .elementor-heading-title,
.elementor-308 .elementor-element.elementor-element-b878a48.elementor-widget .elementor-heading-title,
.elementor-308 .elementor-element.elementor-element-23a26c6.elementor-widget .elementor-heading-title,
.elementor-308 .elementor-element.elementor-element-e5ec58d.elementor-widget .elementor-heading-title,
.elementor-308 .elementor-element.elementor-element-fcad420.elementor-widget .elementor-heading-title{
  color:#002B2C !important;
}

/* ===== E-101 ===== */
/*
Competitors are the E-75 override .elementor-90s with specificity (0,4,0) and (0,5,0)
Overrides copy them and add one .elementor-widget token
Override specificities (0,5,0) and (0,6,0)
BEFORE Hospitals and acute care measured 1.05 to 1 and the imaging sibling measured 1.34 to 1
AFTER both use #002B2C on #C1E0DE and measure 10.84 to 1 pixel true
*/
.elementor-302 .elementor-element.elementor-element-204fe1c.elementor-widget.elementor-widget,
.elementor-304 .elementor-element.elementor-element-e6d4d91.elementor-widget.elementor-widget{
  background:#C1E0DE !important;
}

/*
Competitors are the E-75 heading override .elementor-90s
Competitor specificity (0,5,0)
Overrides add one .elementor-widget token
Override specificity (0,6,0)
BEFORE the two labels failed the 4.5 to 1 gate
AFTER both labels measure 10.84 to 1 against every sampled backdrop pixel
*/
.elementor-302 .elementor-element.elementor-element-204fe1c.elementor-widget.elementor-widget .elementor-heading-title,
.elementor-304 .elementor-element.elementor-element-e6d4d91.elementor-widget.elementor-widget .elementor-heading-title{
  color:#002B2C !important;
}

/* ===== E-81 ===== */
/*
Competitor .pmband .pmband-actions .pmband-sep
Competitor specificity (0,3,0)
Override copies the .elementor-90 and adds .elementor-location-footer plus .pmband-sep
Override specificity (0,5,0)
BEFORE one visible separator was followed by empty space at 390 and 430
AFTER display is none and visible is false at 390 and 430
*/
@media (max-width:600px){
  .elementor-location-footer .pmband .pmband-actions .pmband-sep.pmband-sep{
    display:none !important;
  }
}

/* ===== SOCIAL ===== */
/*
Colour competitor a:not(.elementor-button):not(.pmband-cta):not(.pm-btn):not(:has(img)):hover
Colour competitor specificity (0,4,2)
Background competitor .elementor-90 .elementor-element.elementor-element-f0ce4d4 .elementor-social-icon:hover
Background competitor specificity (0,5,0)
Override copies the colour .elementor-90 and adds the footer scope plus two .elementor-social-icon tokens
Override specificity (0,7,2)
BEFORE hover contrast reached 1.09 to 1
AFTER all four icons compute to #FFFFFF on #002B2C and the screenshot pixel read is 11.12 to 1
*/
.elementor-location-footer a.elementor-social-icon.elementor-social-icon:not(.elementor-button):not(.pmband-cta):not(.pm-btn):not(:has(img)):hover{
  color:#FFFFFF !important;
  fill:#FFFFFF !important;
  background-color:#002B2C !important;
}

/*
Competitor a:not(.elementor-button):not(.pmband-cta):not(.pm-btn):not(:has(img)):hover *
Competitor specificity (0,4,2)
Override copies the .elementor-90 and adds the footer scope plus two .elementor-social-icon tokens
Override specificity (0,7,2)
BEFORE the descendant glyph inherited the failing hover colour
AFTER Facebook Instagram LinkedIn and TikTok each measure 11.12 to 1 by screenshot pixels
*/
.elementor-location-footer a.elementor-social-icon.elementor-social-icon:not(.elementor-button):not(.pmband-cta):not(.pm-btn):not(:has(img)):hover i,
.elementor-location-footer a.elementor-social-icon.elementor-social-icon:not(.elementor-button):not(.pmband-cta):not(.pm-btn):not(:has(img)):hover svg{
  color:#FFFFFF !important;
  fill:#FFFFFF !important;
}

/* ===== E-108 (2026-09-01) lane 1E: E-78, E-79 footer, widows ===== */
/* EDITS 1E
   Live verification date 2026 09 01
   Scope footer tablet and phone corrections plus strict widow handling
   Every declaration below records the live competitor and measured result
*/

/* Strict widows, effective heading balance
   competitor .elementor-90 (0,3,0) important
   ".elementor[data-elementor-type=\"wp-page\"] .elementor-heading-title"
   override .elementor-90 (0,4,0) important, one extra .elementor class token
   BEFORE refreshed injection audit, 119 site owned strict instances
   AFTER heading balance removed 35 heading instances, leaving 84 site owned instances
   Paragraph pretty already wins site wide through the promed-system block and template 90
*/
.elementor.elementor[data-elementor-type="wp-page"] .elementor-heading-title{
  text-wrap:balance !important;}

@media (max-width:390px){
  /* Solutions support heading width
     competitor .elementor-90 (0,4,0) important
     ".elementor-298 .elementor-element.elementor-element-5e9f756 .elementor-heading-title"
     override .elementor-90 (0,5,0) important, one extra repeated owner class token
     BEFORE width 324px, last line "same way.", ratio 0.2666
     AFTER width 314px, last line "four the same way.", ratio 0.4884, strict pass
  */
  .elementor-298 .elementor-element.elementor-element-5e9f756.elementor-element-5e9f756 .elementor-heading-title{
    max-width:314px !important;
    margin-inline:auto !important;}

  /* Nursing closing heading width
     competitor .elementor-90 for margin (0,2,0)
     ".elementor-widget-heading .elementor-heading-title"
     max width competitor is the initial value none at (0,0,0)
     override .elementor-90 (0,3,0) important, one extra repeated heading class token
     BEFORE width 252px, last line "This Month?", ratio 0.4999
     AFTER width 251px, last line "This Month?", ratio 0.5019, strict pass
  */
  :where(.elementor-302 .elementor-element-2520e55).elementor-widget-heading .elementor-heading-title.elementor-heading-title{
    max-width:251px !important;
    margin-inline:auto !important;}

  /* Why ProMed process heading width
     competitor .elementor-90 for margin (0,2,0)
     ".elementor-widget-heading .elementor-heading-title"
     max width competitor is the initial value none at (0,0,0)
     override .elementor-90 (0,3,0) important, one extra repeated heading class token
     BEFORE width 254px, last line "Queue", ratio 0.4956
     AFTER width 251px, last line "Queue", ratio 0.5016, strict pass
  */
  :where(.elementor-312 .elementor-element-c0e14f9).elementor-widget-heading .elementor-heading-title.elementor-heading-title{
    max-width:251px !important;
    margin-inline:auto !important;}
}

/* ===== E-104 (2026-09-01) request staff hero background at full density, and E-105 call button hover ===== */
.elementor-316.elementor-316.elementor-316 .elementor-element.elementor-element-ee16267:not(.elementor-motion-effects-element-type-background){
  background-image:url("https://www.promedhr.ca/facilities/wp-content/uploads/2026/08/pexels-photo-5203594-scaled.jpeg") !important;}
.elementor-316.elementor-316.elementor-316 .elementor-element-5a97b6b .elementor-element-136eaa2 .elementor-button:is(:hover,:focus-visible){
  background:#002B2C !important; border-color:#002B2C !important; color:#FFFFFF !important;}

/* ===== E-102 (2026-09-01) request staff overflow at 768 ===== */
/*
Offending element: the Call button anchor a.elementor-button.pm-onorange inside widget 136eaa2.
It carries white-space:nowrap and 24px horizontal padding, so its intrinsic width is 190.06px.
Its widget wrapper 136eaa2 is a flex item of card 5a97b6b (row, nowrap, space-between, gap 24px,
padding 32px). The wrapper shrank to 100.53px while the anchor did not, so the anchor ran to
x 792.5 in a 768 viewport.
Winning rule for the wrapper width is the Elementor flex item default flex:0 1 auto with
min-width:0 from .e-con > .elementor-widget, so the wrapper is allowed to shrink below content.
Fix: let the card wrap and stop the button widget shrinking below its content, tablet only.
BEFORE document overflow 25px at 768 and 19px at 800, 0px at 390, 430, 1024 and 1440.
AFTER document overflow 0px at 390, 430, 768, 800, 1024 and 1440. Button height stays 48px, one line.
*/
@media (max-width:1024px){
  .elementor-316 .elementor-element.elementor-element-5a97b6b{
    flex-wrap:wrap !important;
  }
  .elementor-316 .elementor-element.elementor-element-136eaa2{
    flex:0 0 auto !important;
    width:auto !important;
    max-width:100% !important;
  }
}

/* ===== E-110 (2026-09-01) button labels back to WHITE on orange and teal fills, Lucas decision, supersedes E-103 and LD-029 ===== */
/* Lucas reversed the E-103 decision on 2026-09-01. Labels on the orange fill #FF8946 return to #FFFFFF at rest, measured 2.35:1, accepted by Lucas as LD-031. Every .elementor-90 is the E-103 .elementor-90 plus one body.elementor-kit-6 class token, so it wins by specificity. Hover rules are untouched: dark fill, white label. */
body.elementor-kit-6 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-296 .elementor-element.elementor-element-5da8500 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-296 .elementor-element.elementor-element-12663ee .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-296 .elementor-element.elementor-element-12663ee .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-296 .elementor-element.elementor-element-5da8500 .elementor-button.elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-296 .elementor-element.elementor-element-5da8500 .elementor-button.elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-296 .elementor-element-12663ee .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-296 .elementor-element-12663ee .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-296 .elementor-element-5da8500 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-296 .elementor-element-5da8500 .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-88 .elementor-element.elementor-element-fa5124f .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-88 .elementor-element-fa5124f .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-element-5da8500 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .pm-primary.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .pm-onorange.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .pm-primary.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .pm-onorange.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .pm-secondary.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .pm-secondary.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-298 .elementor-element-e305a02 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-298 .elementor-element-e305a02 .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-298 .elementor-element-d69aecd .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-298 .elementor-element-d69aecd .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-298 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-element-e305a02 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-300 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-element-9751b01 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-302 .elementor-element-9176e0b .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-302 .elementor-element-9176e0b .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-302 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-element-9176e0b .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-304 .elementor-element-5727b06 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-304 .elementor-element-5727b06 .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-304 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-element-5727b06 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-306 .elementor-element-684d1ce .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-306 .elementor-element-684d1ce .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-306 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-element-684d1ce .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-308 .elementor-element-d28fe4d .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-308 .elementor-element-d28fe4d .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-308 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-element-d28fe4d .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-310 .elementor-element-5f8f70f .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-310 .elementor-element-5f8f70f .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-310 .elementor-element-eacf5d0 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-310 .elementor-element-eacf5d0 .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-310 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-element-5f8f70f .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-312 .elementor-element-ad29382 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-312 .elementor-element-ad29382 .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-312 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-element-ad29382 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-314 .elementor-element-c8570a4 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-314 .elementor-element-c8570a4 .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-314 .pm-motion-button .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-element-c8570a4 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-316 .elementor-element-136eaa2 .elementor-button.pm-onorange:not(:hover):not(:focus-visible),
body.elementor-kit-6 .elementor-316 .elementor-element-136eaa2 .elementor-button.pm-onorange:not(:hover):not(:focus-visible) .elementor-button-text,
body.elementor-kit-6 .elementor-316.elementor-316 .elementor-element-5a97b6b .elementor-element-136eaa2 .elementor-button.pm-onorange:not(:hover):not(:focus-visible){
  color:#FFFFFF !important;
}

/* Labels on the teal fill #00B3B9 return to #FFFFFF at rest, measured 2.58:1, accepted by Lucas as LD-031. */
body.elementor-kit-6 .elementor-button.pm-learnmore:not(:hover):not(:focus-visible),
body.elementor-kit-6 .pm-learnmore.pm-learnmore:not(:hover):not(:focus-visible),
body.elementor-kit-6 .pm-learnmore.pm-learnmore:not(:hover):not(:focus-visible) .elementor-button-text{
  color:#FFFFFF !important;
}

/* ===== E-111 (2026-09-01) mobile nav links 44px tap height ===== */
/*
Measured at 390 and 430 with the hamburger open, header template 88 inside .elementor-location-header.
Offending element: a.elementor-item inside .elementor-nav-menu--dropdown, one per top level menu item.
Winning rule gives padding 10px top and bottom with line height 19.5px at font size 13px and
min-height 0, so each link measured 390x39.5, under the 44px floor.
BEFORE 6 visible dropdown links at 39.5px tall at both 390 and 430.
AFTER all 6 measure 44px, font size unchanged at 13px, document overflow 0, and the menu still closes
(dropdown hidden, toggle not active, header back to 112px). The toggle itself already measures 44x44.
The rule is confined to max-width 1024px, so the desktop bar is untouched, and it only raises
min-height, so the closed menu keeps its height.
*/
@media (max-width:1024px){
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item,
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item{
    min-height:44px !important;
    align-items:center !important;
  }
}

/* ===== E-109 (2026-09-01) home Since 2014 photo mirrored, badge moved clear of both heads ===== */
/*
Lucas: the badge covered the woman's head, so mirror the photo and move the badge.
The photo widget 7da4e1c and the badge container edf9d40 are SIBLINGS inside container 6978028,
so mirroring the img alone never mirrors the badge text. Verified: the badge still reads
"Since 2014 STAFFING CANADIAN HEALTHCARE" upright at every width.

The badge container already carries its own rotate of about 10 degrees. At 1200 and up it is moved
with top and left so that rotation is preserved untouched. Below 1200 it needs a scale, so the
transform is rewritten as rotate(-10deg) scale(0.7), which keeps the same tilt.

Width split, every row measured live and inspected by eye:
1440, 1280, 1200: badge stays at the top left corner, nudged 40px up and left. Both heads clear.
1024 with that same nudge FAILED: the photo column narrows to 456px there, the man's mirrored head
moves left, and the disc landed on his forehead and eyebrow. So below 1200 the badge moves to the
BOTTOM LEFT corner of the photo at 0.7 scale, where the frame holds his torso and the desk, never a
face. Bottom right was tested and rejected: it crowds the woman's head and the pill below the photo.
1024, 768, 430, 390 with the bottom left placement: both heads clear.

Section height, photo corner radius and document overflow are unchanged at every width.
*/
.elementor-296 .elementor-element.elementor-element-7da4e1c img{
  transform:scaleX(-1) !important;
}
@media (min-width:1200px){
  .elementor-296 .elementor-element.elementor-element-edf9d40{
    top:-40px !important;
    left:-40px !important;
  }
}
@media (max-width:1199px){
  .elementor-296 .elementor-element.elementor-element-edf9d40{
    top:auto !important;
    bottom:-14px !important;
    left:-14px !important;
    right:auto !important;
    transform:rotate(-10deg) scale(0.7) !important;
    transform-origin:bottom left !important;
  }
}

/* ===== E-109b (2026-09-01) since 2014 badge 16px more headroom at desktop ===== */
/*
Follow up to E-109. At 1200 and up the badge cleared the man's hairline by only a few pixels, which
was true but not a margin worth keeping. Same .elementor-90 and same specificity as the E-109 desktop
rule, appended later, so it wins on source order.
Moved with top and left, never with transform, so the container's own rotate of about 10 degrees
survives untouched.
BEFORE at 40px: painted circle right edge 235 at 1440, 219 at 1280 and 1200.
AFTER at 56px: painted circle right edge 219 at 1440, 203 at 1280 and 1200. 16px more daylight at
every desktop width, and visible white between the disc and his hairline in all three screenshots.
Photo corner radius stays 16px, document overflow stays 0, and the section height does not move
because the badge container is absolutely positioned and out of flow.
*/
@media (min-width:1200px){
  .elementor-296 .elementor-element.elementor-element-edf9d40{
    top:-56px !important;
    left:-56px !important;
  }
}
/* ===== E-112 (2026-09-01) request staff form card restored to white glass, stacking fix ===== */
/*
DEFECT, measured live at 1440 and 390 on 2026-09-01. The hero form card .pmf-rs rendered as dark
teal glass, its labels dark on dark and its submit button a dull orange, while getComputedStyle
still reported background rgba(255,255,255,.85) and backdrop-filter blur(8px) on the card itself.
The card was never the problem. Something painted over it.

CAUSE. The hours pill container .elementor-element-5d5eb96 carries an Elementor container
background overlay: post-316.css gives it --overlay-opacity:0.6 and paints it through the element
::before with background #002B2C. Elementor sizes that overlay with position absolute and inset
-1px, and Elementor also built this container with --position:absolute, so the overlay used to
resolve against the pill itself. E-99, and the E-74 copy inside E-107, forced position:static on
that container at every width on page 316 to stop the pill covering the legal line. Static removed
the containing block for the container's own absolutely positioned ::before, so the overlay
resolved against the nearest positioned ancestor instead, the form column
.elementor-element-6132f1c, and grew to 622 by 994 at 1440 and 352 by 1075 at 390, the whole
column, painting 60 percent #002B2C over the entire card. The pill container is the last child of
that column and the form widget .elementor-element-d9b14f8 is the first, both sit at z-index auto
inside the .e-con-inner stacking context, so the overlay painted after the card in DOM order.
document.elementsFromPoint listed nothing above .pmf-rs because it never returns pseudo elements,
which is why the stack probe looked clean.

Bisect, average composited pixel of a card background strip at 1440:
  baseline                          rgb(83,111,112)
  hero ee16267 ::after off          rgb(84,112,113)   not it
  hero ee16267 ::before off         rgb(85,113,114)   not it
  column 6132f1c ::before off       rgb(83,111,112)   not it
  .pmf-rs backdrop-filter off       rgb(83,111,112)   not it
  column 6132f1c z-index 5          rgb(83,111,112)   not it
  form widget d9b14f8 z-index 5     rgb(202,210,211)  isolates the culprit

FIX, three parts.
1. position:relative on the pill container instead of static. It stays in the flow, so E-99 and
   E-74 keep their result and the pill still clears the legal line by 0 square pixels, and it is
   the containing block for its own ::before again, so the overlay snaps back to 375 by 51 at 1440
   and 300 by 64 at 390. bottom:auto cancels the bottom:30px that post-316.css set for the old
   absolute layout, which would otherwise lift the pill by 30px once it is relative.
2. The card to the home hero card spec, LD-001. E-98 had set .85 and blur 8px, outside the 0.52 to
   0.68 alpha band and past the 2px blur ceiling, which hid the photograph Lucas wants visible
   through the card. Copied from .pmf on page 296, measured live: background rgba(255,255,255,.6),
   backdrop-filter blur(2px), border-radius 16px, box-shadow 0 24px 64px rgba(0,43,44,.25),
   max-width 620px, padding 28px at desktop and 20px at 767 and below.
3. The legal line to the home colour. Home .pmf-legal is #002B2C. This card had #00B3B9 from the
   widget markup, which measured 1.34:1 on the lighter card and cannot reach 4.5:1 on any light
   backing, only 2.58:1 even on solid white. Taking the run to the home value gives 7.91:1, so no
   opaque backing pill was needed.

SPECIFICITY LEDGER
Competitor .elementor-316.elementor-316 .elementor-element.elementor-element-5d5eb96
  specificity (0,4,0) with !important, from the E-74 copy inside E-107
Competitor .elementor-316 .elementor-element.elementor-element-5d5eb96
  specificity (0,3,0) with !important, from E-99
Competitor .elementor-element.elementor-element-5d5eb96 under @media (max-width:1024px)
  specificity (0,2,0) with !important, from E-74
Override copies the winning .elementor-90 and adds one class token, .e-con
  specificity (0,5,0) with !important

Competitor .elementor-316.elementor-316 .pmf-rs
  specificity (0,3,0) with !important, from E-98, and from E-98b for the 767 padding
Override copies it and adds one class token, .pmf-rs
  specificity (0,4,0) with !important

Competitor .pmf-rs .pmf-rs-legal and .pmf-rs .pmf-rs-legal a from the widget style block
  specificity (0,2,0) and (0,2,1), no !important
Override copies them and adds .elementor-316.elementor-316 plus one class token
  specificity (0,5,0) and (0,5,1) with !important

BEFORE, live, 1440: card strip rgb(91,117,118). .pmf-rs-sub 3.08:1, worst pixel 2.98:1.
  .pmf-rs-legal 1.91:1, worst pixel 1.86:1. Both under the 4.5:1 requirement.
BEFORE, live, 390: card strip rgb(88,116,117). .pmf-rs-sub 3.00:1, worst pixel 2.94:1.
  .pmf-rs-legal 1.95:1, worst pixel 1.92:1.

AFTER, pixel true against the real composited backdrop with the glyphs hidden, 1440:
  eyebrow 10.67, title 8.07, sub 7.97, legal text 7.91, Privacy link 8.70, Terms link 6.39,
  the three HubSpot field labels 7.86, 7.92 and 7.83. Worst pixel in every run is at or above
  5.91:1 and 0 percent of sampled pixels fall under 4.5:1.
AFTER, 390: eyebrow 10.60, title 6.88, sub 6.89, legal text 7.05, Privacy link 7.62,
  Terms link 6.36, HubSpot labels 6.91, 7.11 and 7.15. Worst pixel at or above 6.28:1.
Pill geometry is unchanged by this block: 740,1085,375,51 at 1440 and 20,1488,300,64 at 390,
  overlap with the legal line 0 square pixels at both widths.

KNOWN and deliberately untouched: the HubSpot submit label, white on the orange fill, measures
2.34:1 at 1440 and 2.39:1 at 390. That is E-110, Lucas's own decision which superseded E-103 and
LD-029, and the orange fill is opaque so the card alpha does not move it.
*/
.elementor-316.elementor-316 .elementor-element.elementor-element-5d5eb96.e-con{
  position:relative !important;
  bottom:auto !important;
}
.elementor-316.elementor-316 .pmf-rs.pmf-rs{
  background:rgba(255,255,255,.6) !important;
  -webkit-backdrop-filter:blur(2px) !important;
  backdrop-filter:blur(2px) !important;
  border-radius:16px !important;
  box-shadow:0 24px 64px rgba(0,43,44,.25) !important;
  max-width:620px !important;
  padding:28px !important;
}
@media (max-width:767px){
  .elementor-316.elementor-316 .pmf-rs.pmf-rs{
    padding:20px !important;
  }
}
.elementor-316.elementor-316 .pmf-rs .pmf-rs-legal.pmf-rs-legal,
.elementor-316.elementor-316 .pmf-rs .pmf-rs-legal.pmf-rs-legal a{
  color:#002B2C !important;
}
/* ===== E-115 (2026-09-01) rehab hero cutout contain like the other eight =====
   Measured live before this append: `img[src*="promed-hero-rehab"]` on page 306 is
   promed-hero-rehab-17829429-tight.png, natural 394x1350, in a 535x520 box. The widget's own
   setting is object-fit contain, but E-51 already overrides it to cover at specificity (0,7,1)
   (`.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child
   .elementor-widget-image img[src*="promed-hero-rehab"]`), which upscales the narrow cutout to
   fill the box and reads as blurred, cropped legs, at density 0.74. The other eight hero
   cutouts render with contain and pass at 1.8 to 3.0.

   Fix inherits that exact winning .elementor-90 and adds one class level token, `.elementor-306`,
   landing at (0,8,1), which beats (0,7,1) the same way E-51 itself beat the (0,6,1) rule before
   it. Sets object-fit back to contain and object-position to 50% 100% so the figure stands on
   the baseline like the other eight. No @media guard, matching E-51 and E-53 which also apply
   at every width.

   Proven by injection first: painted box 152x520 at 1440 (predicted about 152x520, exact),
   density 2.60 (predicted about 2.6, exact), full figure including both shoes visible, hero
   height unchanged at 832px. At 390: painted 102x350, density 3.82, hero height unchanged at
   1084px. Screenshots viewed at both widths before this append, figure complete and standing
   on the mint shape's base at both. */
.elementor-306.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .elementor-widget-image img[src*="promed-hero-rehab"]{
  object-fit:contain !important;
  object-position:50% 100% !important;
}
/* ===== E-114 (2026-09-01) text runs over photography, overlay deepening ===== */
/* ===== E-114 (2026-09-01) text runs over photography ===== */

/* Competitor .pm-closing::before specificity 0,1,1 */
/* Winner .pm-closing.pm-closing::before specificity 0,2,1 */
/* Specialties 1e534df before 1440 minimum 3.284 unsafe 17.493 percent, 390 minimum 2.952 unsafe 15.375 percent. After 1440 minimum 6.500 unsafe 0 percent, 390 minimum 6.132 unsafe 0 percent. */
/* Nursing ceee0a9 before 1440 minimum 2.532 unsafe 15.571 percent, 390 minimum 1.968 unsafe 13.922 percent. After 1440 minimum 5.704 unsafe 0 percent, 390 minimum 4.875 unsafe 0 percent. */
/* Imaging 9db069e before 1440 minimum 2.179 unsafe 69.757 percent, 390 minimum 1.934 unsafe 61.509 percent. After 1440 minimum 5.379 unsafe 0 percent, 390 minimum 4.877 unsafe 0 percent. */
/* Rehab c8a2f3c before 1440 minimum 2.944 unsafe 6.675 percent, 390 minimum 2.203 unsafe 3.594 percent. After 1440 minimum 6.147 unsafe 0 percent, 390 minimum 5.261 unsafe 0 percent. */
/* Lab pharmacy d0e2e5b before 1440 minimum 2.179 unsafe 69.393 percent, 390 minimum 1.964 unsafe 61.762 percent. After 1440 minimum 5.379 unsafe 0 percent, 390 minimum 4.953 unsafe 0 percent. */
/* Why ProMed 1c177ac before 1440 minimum 2.117 unsafe 59.668 percent, 390 minimum 1.926 unsafe 54.624 percent. After 1440 minimum 5.241 unsafe 0 percent, 390 minimum 4.863 unsafe 0 percent. */
/* FAQ f87cdd7 before 1440 minimum 2.519 unsafe 61.697 percent, 390 minimum 2.357 unsafe 58.799 percent. After 1440 minimum 5.979 unsafe 0 percent, 390 minimum 5.704 unsafe 0 percent. */
/* Solutions 32d570c before 1440 minimum 2.003 unsafe 100 percent, 390 minimum 3.646 unsafe 11.905 percent. After 1440 minimum 7.480 unsafe 0 percent, 390 minimum 6.809 unsafe 0 percent. */
.pm-closing.pm-closing::before {
  background-image: linear-gradient(90deg, rgba(0,43,44,.95), rgba(0,43,44,.86) 46%, rgba(0,43,44,.68)) !important;
}

/* Competitor .elementor-296 .elementor-element.elementor-element-e868dd1 > .e-con-inner > .elementor-background-video-container::before specificity 0,5,1 */
/* Winner .elementor-296 .elementor-element.elementor-element-e868dd1 > .e-con-inner > .elementor-background-video-container.elementor-background-video-container::before specificity 0,6,1 */
/* Home b9a16f2 before 1440 minimum 3.223 unsafe 8.116 percent, 390 minimum 5.962 unsafe 0 percent. After 1440 minimum 4.779 unsafe 0 percent, 390 unchanged minimum 5.962 unsafe 0 percent. */
@media (min-width: 901px) {
  .elementor-296 .elementor-element.elementor-element-e868dd1 > .e-con-inner > .elementor-background-video-container.elementor-background-video-container::before {
    background-image: linear-gradient(90deg, rgba(0,43,44,.84), rgba(0,43,44,.60) 55%, rgba(0,43,44,.28)) !important;
  }
}

/* Home 925f480 is opaque mint behind the full text range. Before and after 1440 minimum 10.843 unsafe 0 percent, 390 minimum 10.843 unsafe 0 percent. No rule required. */

/* Home 99e879c is a rotated rectangle sampling artefact. The disc is opaque #FFFFFF with opacity 1 and radius 50 percent. At 1440 the rectangular range minimum is 1.000 with 5.662 percent unsafe. At 390 the rectangular range minimum is 1.000 with 0.293 percent unsafe, which already passes the gate tolerance. Direct comparison of visible and hidden glyph captures finds 1705 glyph pixels, all on exact white, with minimum 15.196 and 0 percent unsafe. */
/* ===== E-113 (2026-09-01) header navigation backing over hero photography ===== */
/* ===== E-113 (2026-09-01) header navigation backing over hero photography ===== */

/* Who We Serve before 3.43 to 1 and 100 percent unsafe. After 8.99 to 1 and zero percent unsafe. */
/* Competitor for content and display: .elementor-location-header::before, specificity 0,1,1. This .elementor-90 specificity 0,2,1. */
/* Competitor for position, inset, width, height, pointer events, and background image: no authored declaration, initial value. */
@media (min-width:1025px){
  .page-id-310 .elementor-location-header::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    width:100%;
    height:140px;
    display:block;
    pointer-events:none;
    background-image:linear-gradient(180deg,rgba(0,43,44,.72) 0%,rgba(0,43,44,.68) 58%,rgba(0,43,44,0) 100%);
  }
}

/* Solutions before 3.89 to 1 and 1.13 percent unsafe. After 10.03 to 1 and zero percent unsafe. */
/* Imaging before 3.65 to 1 and 100 percent unsafe. After 9.26 to 1 and zero percent unsafe. */
/* Rehab before 3.99 to 1 and 100 percent unsafe. After 9.68 to 1 and zero percent unsafe. */
/* Competitor for content and display: .elementor-location-header::before, specificity 0,1,1. These .elementor-90s specificity 0,2,1. */
/* Competitor for position, inset, width, height, pointer events, and background image: no authored declaration, initial value. */
@media (min-width:1025px){
  .page-id-298 .elementor-location-header::before,
  .page-id-304 .elementor-location-header::before,
  .page-id-306 .elementor-location-header::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    width:100%;
    height:140px;
    display:block;
    pointer-events:none;
    background-image:linear-gradient(180deg,rgba(0,43,44,.72) 0%,rgba(0,43,44,.68) 58%,rgba(0,43,44,0) 100%);
  }
}

/* Why ProMed live drift before 3.43 to 1 and 100 percent unsafe. After 8.99 to 1 and zero percent unsafe. */
/* Competitor for content and display: .elementor-location-header::before, specificity 0,1,1. This .elementor-90 specificity 0,2,1. */
/* Competitor for position, inset, width, height, pointer events, and background image: no authored declaration, initial value. */
@media (min-width:1025px){
  .page-id-312 .elementor-location-header::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    width:100%;
    height:140px;
    display:block;
    pointer-events:none;
    background-image:linear-gradient(180deg,rgba(0,43,44,.72) 0%,rgba(0,43,44,.68) 58%,rgba(0,43,44,0) 100%);
  }
}
/* E-117
   Cold page before: 31 targets visible. One target used pmfSectionEnter. The other 30 used none.
   Scroll proof after: three sampled targets changed from opacity 0 and translateY 24px to opacity 1 and translateY 0.
   Unsupported proof: 31 of 31 targets had opacity 1 and 31 of 31 had animation none. */

/* No competing registration. This property carries progress through earlier important opacity and transform declarations. */
@property --pm-rise-progress {
  syntax: "<number>";
  inherits: false;
  initial-value: 0;
}

/* Competing keyframes: pmfSectionEnter in post 296. New keyframes use the requested opacity and transform endpoints. */
@keyframes pm-rise {
  from {
    --pm-rise-progress: 0;
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    --pm-rise-progress: 1;
    opacity: 1;
    transform: translateY(0);
  }
}

/* Competitors: html body .elementor-296 .pm-reveal.pm-reveal at 0,3,2 and the matching section .elementor-90 at 0,3,2.
   Animated section competitor: .elementor-296.elementor[data-elementor-type="wp-page"] > .e-con.e-parent.pm-section-enter.animated at 0,7,0.
   New specificities: 0,4,0 and 0,8,0. Before: one animation remained. After: all 31 use none when view timelines are unavailable. */
.elementor-296.elementor .pm-reveal.pm-reveal,
.elementor-296.elementor .pm-section-enter.pm-section-enter,
.elementor-296.elementor.elementor[data-elementor-type="wp-page"] > .e-con.e-parent.pm-section-enter.animated {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

@supports (animation-timeline: view()) {
  /* Competitors: the same post 90 .elementor-90s at 0,3,2 and the animated post 296 .elementor-90 at 0,7,0.
     New specificities: 0,4,0 and 0,8,0. Before at scroll 0: opacity 1. After at scroll 0: opacity 0 outside the viewport. After entry 35 percent: opacity 1. */
  .elementor-296.elementor .pm-reveal.pm-reveal,
  .elementor-296.elementor .pm-section-enter.pm-section-enter,
  .elementor-296.elementor.elementor[data-elementor-type="wp-page"] > .e-con.e-parent.pm-section-enter.animated {
    animation: pm-rise 700ms ease-out both !important;
    animation-timeline: view() !important;
    animation-range: entry 0% entry 35% !important;
    opacity: var(--pm-rise-progress) !important;
    transform: translateY(calc((1 - var(--pm-rise-progress)) * 24px)) !important;
    transition: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* Reveal competitors: 0,3,2 and 0,7,0. Hero competitor: html body plus three classes at 0,3,2. Header competitor: html body plus three classes at 0,3,2.
     New specificities: reveal 0,4,0 and 0,8,0, hero 0,4,0, header 0,4,0. Before: motion active. After: opacity 1, transform none, filter none, animation none. */
  .elementor-296.elementor .pm-reveal.pm-reveal,
  .elementor-296.elementor .pm-section-enter.pm-section-enter,
  .elementor-296.elementor.elementor[data-elementor-type="wp-page"] > .e-con.e-parent.pm-section-enter.animated,
  .elementor-296.elementor .elementor-element.elementor-element-8fa96c8,
  .elementor-296.elementor .elementor-element.elementor-element-22ea6fb,
  .elementor-296.elementor .elementor-element.elementor-element-b9a16f2,
  .elementor-296.elementor .elementor-element.elementor-element-826b7e0,
  .elementor-296.elementor .elementor-element.elementor-element-09dff63,
  .elementor-296.elementor .elementor-element.elementor-element-4b4e9a8,
  .elementor-88.elementor > .e-con.e-con {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    animation: none !important;
    animation-timeline: auto !important;
    transition: none !important;
  }
}

/* E-118
   Competitor: .elementor-296 .elementor-element.elementor-element-fdf2dbe at 0,3,0 sets the radius variable to 2px.
   New specificity: 0,4,0. Before: radius 2px and overflow visible. After: radius 16px and overflow hidden. Geometry stayed 612px by 520px. */
.elementor-296 .elementor-element.elementor-element-fdf2dbe.e-con {
  --border-radius: 16px;
  border-radius: 16px;
  overflow: hidden;
}

/* E-119
   Live image: pexels photo 37171142 scaled.jpeg. Before: center 32 percent, cover, overlay opacity 1, height 636.140625px.
   After: center center, cover, overlay opacity 1, height 636.140625px. Scale changed from 1.00006 to 1.02602 in eight seconds. */

/* No competing keyframes. Before: no image layer animation. After: scale 1 to 1.08 on a 24 second alternate cycle. */
@keyframes pm-kenburns {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.08);
  }
}

/* Image competitor: .elementor-296 .elementor-element.elementor-element-6fe285f:not(.elementor-motion-effects-element-type-background) at 0,4,0.
   Position competitor: .elementor-296 .elementor-element.elementor-element-6fe285f at 0,3,0.
   New specificity: 0,5,0. Before: image on the container, position 50 percent 32 percent, overflow visible. After: image none, position 50 percent 50 percent, overflow hidden. */
.elementor-296 .elementor-element.elementor-element-6fe285f.pm-closing:not(.elementor-motion-effects-element-type-background) {
  background-image: none !important;
  background-position: center center !important;
  overflow: hidden !important;
  isolation: isolate;
}

/* Pseudo competitor: .elementor-296 .elementor-element.elementor-element-6fe285f::after at 0,3,1 with no content or image.
   New specificity: 0,4,1. Before: image none and transform none. After: centered cover image and measured animated scale. */
.elementor-296 .elementor-element.elementor-element-6fe285f.pm-closing::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("https://www.promedhr.ca/facilities/wp-content/uploads/2026/08/pexels-photo-37171142-scaled.jpeg") !important;
  background-position: center center !important;
  background-repeat: no-repeat;
  background-size: cover;
  transform-origin: center center;
  animation: pm-kenburns 24s ease-in-out infinite alternate;
  will-change: transform;
  z-index: 0;
  pointer-events: none;
}

/* Overlay competitor: .elementor-296 .elementor-element.elementor-element-6fe285f::before at 0,3,1.
   New specificity: 0,4,1. Before: z index auto. After: z index 1 and the same overlay image and opacity. */
.elementor-296 .elementor-element.elementor-element-6fe285f.pm-closing::before {
  z-index: 1;
}

/* Content competitor: .elementor-296 .elementor-element.elementor-element-6fe285f > .e-con-inner at 0,4,0.
   New specificity: 0,5,0. Before: z index auto. After: z index 2. Heading pixel stayed 255,255,255,255. */
.elementor-296 .elementor-element.elementor-element-6fe285f.pm-closing > .e-con-inner {
  position: relative;
  z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
  /* Motion competitor: the image layer .elementor-90 at 0,4,1.
     New specificity: 0,4,1 later in source. Before: pm-kenburns. After: animation none, transform none, will change auto. */
  .elementor-296 .elementor-element.elementor-element-6fe285f.pm-closing::after {
    animation: none !important;
    transform: none !important;
    will-change: auto;
  }
}
/* ===== E-120 (2026-09-01) parity solutions ===== */
.elementor.elementor-298[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child {
  padding: 0 32px !important;
}

.elementor.elementor-298[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner {
  padding: 144px 32px 72px !important;
  gap: 32px !important;
}

.elementor.elementor-298[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child h1.elementor-heading-title {
  max-width: 660px !important;
  font-family: "Urbanist", sans-serif !important;
  font-size: 50px !important;
  font-weight: 600 !important;
  line-height: 54px !important;
  color: #FFFFFF !important;
  text-align: start !important;
}

.elementor.elementor-298[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child p {
  max-width: 588px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 18px !important;
  line-height: 27.9px !important;
  color: rgba(255, 255, 255, 0.86) !important;
  text-align: left !important;
}

.elementor.elementor-298[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .pm-eyebrow {
  text-align: left !important;
}

.elementor.elementor-298[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child img {
  border-radius: 16px !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-2de73d3.e-con {
  padding: 96px 32px !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-2de73d3.e-con > .e-con-inner {
  padding: 72px 32px !important;
  gap: 28px !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-2de73d3.e-con p {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 26.4px !important;
  color: #002B2C !important;
  text-align: left !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-2de73d3.e-con img {
  aspect-ratio: 3 / 1 !important;
  object-fit: cover !important;
  border-radius: 16px !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-5f0fbc7.e-con {
  padding: 96px 32px !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-5f0fbc7.e-con > .e-con-inner {
  padding: 96px 32px 120px !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-5f0fbc7.e-con .elementor-element.elementor-element-9b93fe4.e-con,
.elementor-298.elementor-298 .elementor-element.elementor-element-5f0fbc7.e-con .elementor-element.elementor-element-f542451.e-con,
.elementor-298.elementor-298 .elementor-element.elementor-element-5f0fbc7.e-con .elementor-element.elementor-element-fae8a06.e-con,
.elementor-298.elementor-298 .elementor-element.elementor-element-5f0fbc7.e-con .elementor-element.elementor-element-14b6143.e-con,
.elementor-298.elementor-298 .elementor-element.elementor-element-5f0fbc7.e-con .elementor-element.elementor-element-533dfb8.e-con,
.elementor-298.elementor-298 .elementor-element.elementor-element-5f0fbc7.e-con .elementor-element.elementor-element-9e63e79.e-con {
  padding: 0 !important;
  background: #FFFFFF !important;
  border: 1px solid #D4D5CE !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-5f0fbc7.e-con .pm-cardnum {
  font-family: "Urbanist", sans-serif !important;
  font-size: 64px !important;
  font-weight: 800 !important;
  line-height: 64px !important;
  color: rgba(0, 43, 44, 0.56) !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-5f0fbc7.e-con .elementor-icon-box-description {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #002B2C !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-5f0fbc7.e-con .e-con:hover {
  transform: translateY(-2px) !important;
  box-shadow: none !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con {
  padding: 72px 32px !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con > .e-con-inner {
  padding: 72px 32px !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con .pm-card {
  padding: 24px !important;
  gap: 12px 24px !important;
  background: #FFFFFF !important;
  border: 1px solid #D4D5CE !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con .pm-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25) !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con .elementor-icon {
  width: 40px !important;
  height: 40px !important;
  font-size: 40px !important;
  line-height: 40px !important;
  color: #002B2C !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con .elementor-icon-box-title {
  font-family: "Open Sans", sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 25.6px !important;
  color: #002B2C !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con .elementor-icon-box-description {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #002B2C !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-279d1da.e-con {
  padding: 96px 80px !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-279d1da.e-con > .e-con-inner {
  padding: 88px 72px !important;
  gap: 18px !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-279d1da.e-con h2.elementor-heading-title {
  font-family: "Urbanist", sans-serif !important;
  font-size: 44px !important;
  font-weight: 600 !important;
  line-height: 49.28px !important;
  color: #FFFFFF !important;
  text-align: start !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-279d1da.e-con img {
  border-radius: 16px !important;
}

.elementor.elementor-298[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:where([data-id="279d1da"]) > .e-con-inner > .e-con:has(> .elementor-widget-heading) .elementor-heading-title {
  text-align: start !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-d7a3bca.e-con {
  padding: 96px 32px !important;
  background-color: #C1E0DE !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-d7a3bca.e-con > .e-con-inner {
  padding: 72px 32px !important;
  gap: 28px !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-d7a3bca.e-con p {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 26.4px !important;
  color: #002B2C !important;
  text-align: left !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-d7a3bca.e-con img {
  aspect-ratio: 3 / 1 !important;
  object-fit: cover !important;
  border-radius: 16px !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-f74fd06.e-con {
  padding: 64px 32px 40px !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-f74fd06.e-con > .e-con-inner {
  padding: 72px 32px 96px !important;
}

.elementor-298.elementor-298 .elementor-element.elementor-element-f74fd06.e-con h2.elementor-heading-title {
  font-family: "Urbanist", sans-serif !important;
  font-size: 38px !important;
  font-weight: 600 !important;
  line-height: 42.56px !important;
  color: #FFFFFF !important;
  text-align: center !important;
}

@media (max-width: 767px) {
  .elementor.elementor-298[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child {
    padding: 0 18px !important;
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
  }

  .elementor.elementor-298[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner {
    padding: 112px 18px 48px !important;
    gap: 32px !important;
  }

  .elementor.elementor-298[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child h1.elementor-heading-title {
    max-width: none !important;
    font-size: 26px !important;
    line-height: 28.08px !important;
    text-align: left !important;
  }

  .elementor.elementor-298[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child p {
    font-size: 17px !important;
    line-height: 26.35px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-2de73d3.e-con,
  .elementor-298.elementor-298 .elementor-element.elementor-element-d7a3bca.e-con {
    padding: 56px 20px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-2de73d3.e-con > .e-con-inner,
  .elementor-298.elementor-298 .elementor-element.elementor-element-d7a3bca.e-con > .e-con-inner {
    padding: 48px 18px !important;
    gap: 28px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-2de73d3.e-con p,
  .elementor-298.elementor-298 .elementor-element.elementor-element-d7a3bca.e-con p {
    font-size: 16px !important;
    line-height: 26.4px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-2de73d3.e-con img,
  .elementor-298.elementor-298 .elementor-element.elementor-element-d7a3bca.e-con img {
    aspect-ratio: 16 / 9 !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-5f0fbc7.e-con {
    padding: 56px 20px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-5f0fbc7.e-con > .e-con-inner {
    padding: 0 18px 30px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-5f0fbc7.e-con .pm-cardnum {
    font-size: 65px !important;
    line-height: 65px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-5f0fbc7.e-con .elementor-icon-box-description {
    font-size: 15px !important;
    line-height: 22.5px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con {
    padding: 48px 20px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con > .e-con-inner {
    padding: 48px 18px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con h2.elementor-heading-title {
    font-size: 30px !important;
    line-height: 33px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con .pm-card {
    padding: 20px !important;
    gap: 18px 24px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con .elementor-icon {
    width: 28px !important;
    height: 28px !important;
    font-size: 28px !important;
    line-height: 28px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con .elementor-icon-box-description {
    font-size: 15px !important;
    line-height: 22.5px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-279d1da.e-con {
    padding: 56px 20px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-279d1da.e-con > .e-con-inner {
    padding: 48px 24px !important;
    gap: 18px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-279d1da.e-con h2.elementor-heading-title {
    font-size: 26px !important;
    line-height: 29.12px !important;
    text-align: start !important;
  }

  .elementor.elementor-298[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:where([data-id="279d1da"]) > .e-con-inner > .e-con:has(> .elementor-widget-heading) .elementor-heading-title {
    font-size: 26px !important;
    line-height: 29.12px !important;
    text-align: start !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-f74fd06.e-con {
    padding: 190px 18px 56px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-f74fd06.e-con > .e-con-inner {
    padding: 24px 18px 48px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-f74fd06.e-con h2.elementor-heading-title {
    font-size: 26px !important;
    line-height: 29.12px !important;
  }

  .elementor-298.elementor-298 .elementor-element.elementor-element-ec5fd14.e-con {
    padding: 44px 48px !important;
    background: #002B2C !important;
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 64px rgba(0, 43, 44, 0.35) !important;
  }
}
/* ===== E-121 (2026-09-01) parity specialties ===== */
.elementor.elementor-300[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child {
  padding: 0 32px !important;
}

.elementor.elementor-300[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner {
  padding: 144px 32px 72px !important;
  gap: 32px !important;
}

.elementor.elementor-300[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child h1.elementor-heading-title {
  max-width: 660px !important;
  font-family: "Urbanist", sans-serif !important;
  font-size: 50px !important;
  font-weight: 600 !important;
  line-height: 54px !important;
  color: #FFFFFF !important;
  text-align: left !important;
}

.elementor.elementor-300[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child p {
  max-width: 588px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 18px !important;
  line-height: 27.9px !important;
  color: rgba(255, 255, 255, 0.86) !important;
  text-align: left !important;
}

.elementor.elementor-300[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .pm-eyebrow {
  text-align: left !important;
}

.elementor.elementor-300[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child img {
  border-radius: 16px !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-a11182c.e-con {
  padding: 96px 32px !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-a11182c.e-con > .e-con-inner {
  padding: 72px 32px !important;
  gap: 28px !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-a11182c.e-con p {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 26.4px !important;
  color: #002B2C !important;
  text-align: left !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-a11182c.e-con img {
  aspect-ratio: 3 / 1 !important;
  object-fit: cover !important;
  border-radius: 16px !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-4b2d93c.e-con {
  padding: 96px 32px !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-4b2d93c.e-con > .e-con-inner {
  padding: 96px 32px 120px !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-4b2d93c.e-con .pm-motion-card {
  padding: 0 !important;
  background: #FFFFFF !important;
  border: 1px solid #D4D5CE !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-4b2d93c.e-con .pm-cardnum {
  font-family: "Urbanist", sans-serif !important;
  font-size: 64px !important;
  font-weight: 800 !important;
  line-height: 64px !important;
  color: rgba(0, 43, 44, 0.56) !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-4b2d93c.e-con .elementor-icon-box-description {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #002B2C !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-4b2d93c.e-con .pm-motion-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: none !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con {
  padding: 72px 32px !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con > .e-con-inner {
  padding: 72px 32px !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con .pm-card {
  padding: 24px !important;
  gap: 12px 24px !important;
  background: #FFFFFF !important;
  border: 1px solid #D4D5CE !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con .pm-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25) !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con .elementor-icon {
  width: 40px !important;
  height: 40px !important;
  font-size: 40px !important;
  line-height: 40px !important;
  color: #002B2C !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con .elementor-icon-box-title {
  font-family: "Open Sans", sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 25.6px !important;
  color: #002B2C !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con .elementor-icon-box-description {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #002B2C !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-f785dfd.e-con {
  padding: 64px 32px 40px !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-f785dfd.e-con > .e-con-inner {
  padding: 72px 32px 96px !important;
}

.elementor-300.elementor-300 .elementor-element.elementor-element-f785dfd.e-con h2.elementor-heading-title {
  font-family: "Urbanist", sans-serif !important;
  font-size: 38px !important;
  font-weight: 600 !important;
  line-height: 42.56px !important;
  color: #FFFFFF !important;
  text-align: center !important;
}

@media (max-width: 767px) {
  .elementor.elementor-300[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child {
    padding: 0 18px !important;
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
  }

  .elementor.elementor-300[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner {
    padding: 112px 18px 48px !important;
    gap: 32px !important;
  }

  .elementor.elementor-300[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child h1.elementor-heading-title {
    max-width: none !important;
    font-size: 26px !important;
    line-height: 28.08px !important;
  }

  .elementor.elementor-300[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child p {
    font-size: 17px !important;
    line-height: 26.35px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-a11182c.e-con {
    padding: 56px 20px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-a11182c.e-con > .e-con-inner {
    padding: 48px 18px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-a11182c.e-con img {
    aspect-ratio: 16 / 9 !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-4b2d93c.e-con {
    padding: 56px 20px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-4b2d93c.e-con > .e-con-inner {
    padding: 0 18px 30px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-4b2d93c.e-con .pm-cardnum {
    font-size: 65px !important;
    line-height: 65px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-4b2d93c.e-con .elementor-icon-box-description {
    font-size: 15px !important;
    line-height: 22.5px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con {
    padding: 48px 20px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con > .e-con-inner {
    padding: 48px 18px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con h2.elementor-heading-title {
    font-size: 30px !important;
    line-height: 33px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con .pm-card {
    padding: 20px !important;
    gap: 18px 24px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con .elementor-icon {
    width: 28px !important;
    height: 28px !important;
    font-size: 28px !important;
    line-height: 28px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con .elementor-icon-box-description {
    font-size: 15px !important;
    line-height: 22.5px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-f785dfd.e-con {
    padding: 190px 18px 56px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-f785dfd.e-con > .e-con-inner {
    padding: 24px 18px 48px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-f785dfd.e-con h2.elementor-heading-title {
    font-size: 26px !important;
    line-height: 29.12px !important;
  }

  .elementor-300.elementor-300 .elementor-element.elementor-element-1374669.e-con {
    padding: 44px 48px !important;
    background: #002B2C !important;
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 64px rgba(0, 43, 44, 0.35) !important;
  }
}
/* ===== E-122 (2026-09-01) parity who-we-serve ===== */
.elementor.elementor-310[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child {
  padding: 0 32px !important;
}

.elementor.elementor-310[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner {
  padding: 144px 32px 72px !important;
  gap: 32px !important;
}

.elementor.elementor-310[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child h1.elementor-heading-title {
  max-width: 660px !important;
  font-family: "Urbanist", sans-serif !important;
  font-size: 50px !important;
  font-weight: 600 !important;
  line-height: 54px !important;
  color: #FFFFFF !important;
  text-align: left !important;
}

.elementor.elementor-310[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child p {
  max-width: 588px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 18px !important;
  line-height: 27.9px !important;
  color: rgba(255, 255, 255, 0.86) !important;
  text-align: left !important;
}

.elementor.elementor-310[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .pm-eyebrow {
  text-align: left !important;
}

.elementor.elementor-310[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child img {
  border-radius: 16px !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-6cc2830.e-con {
  padding: 96px 32px !important;
  background-color: #FFFFFF !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-6cc2830.e-con > .e-con-inner {
  padding: 96px 32px 120px !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-6cc2830.e-con img {
  border-radius: 16px !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con {
  padding: 72px 32px !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con > .e-con-inner {
  padding: 72px 32px !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con .pm-card {
  padding: 24px !important;
  gap: 12px 24px !important;
  background: #FFFFFF !important;
  border: 1px solid #D4D5CE !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con .pm-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25) !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con .elementor-icon {
  width: 40px !important;
  height: 40px !important;
  font-size: 40px !important;
  line-height: 40px !important;
  color: #002B2C !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con .elementor-icon-box-title {
  font-family: "Open Sans", sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 25.6px !important;
  color: #002B2C !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con .elementor-icon-box-description {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #002B2C !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-c0ddc8b.e-con {
  padding: 96px 32px !important;
  background-color: #C1E0DE !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-c0ddc8b.e-con > .e-con-inner {
  padding: 72px 32px !important;
  gap: 28px !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-c0ddc8b.e-con p {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 26.4px !important;
  color: #002B2C !important;
  text-align: left !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-c0ddc8b.e-con img {
  aspect-ratio: 3 / 1 !important;
  object-fit: cover !important;
  border-radius: 16px !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-c56a36e.e-con {
  padding: 72px 32px !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-c56a36e.e-con > .e-con-inner {
  padding: 72px 32px !important;
  gap: 40px !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-c56a36e.e-con h2.elementor-heading-title {
  font-family: "Urbanist", sans-serif !important;
  font-size: 44px !important;
  font-weight: 600 !important;
  line-height: 52.8px !important;
  color: #002B2C !important;
  text-align: center !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-c56a36e.e-con .pm-quote-card {
  padding: 24px !important;
  gap: 12px 24px !important;
  background: #FFFFFF !important;
  border: 1px solid #D4D5CE !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-c56a36e.e-con .pm-quote-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: none !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-c08dba7.e-con {
  padding: 64px 32px 40px !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-c08dba7.e-con > .e-con-inner {
  padding: 72px 32px 96px !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-c08dba7.e-con h2.elementor-heading-title {
  font-family: "Urbanist", sans-serif !important;
  font-size: 38px !important;
  font-weight: 600 !important;
  line-height: 42.56px !important;
  color: #FFFFFF !important;
  text-align: center !important;
}

@media (max-width: 767px) {
  .elementor.elementor-310[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child {
    padding: 0 18px !important;
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
  }

  .elementor.elementor-310[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner {
    padding: 112px 18px 48px !important;
    gap: 32px !important;
  }

  .elementor.elementor-310[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child h1.elementor-heading-title {
    max-width: none !important;
    font-size: 26px !important;
    line-height: 28.08px !important;
  }

  .elementor.elementor-310[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child p {
    font-size: 17px !important;
    line-height: 26.35px !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-6cc2830.e-con {
    padding: 56px 20px !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-6cc2830.e-con > .e-con-inner {
    padding: 0 18px 30px !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-32b6893.e-con {
    padding: 0 !important;
    background: #FFFFFF !important;
    border: 1px solid #D4D5CE !important;
    border-radius: 16px !important;
    box-shadow: none !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-32b6893.e-con:hover {
    transform: translateY(-2px) !important;
    box-shadow: none !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con,
  .elementor-310.elementor-310 .elementor-element.elementor-element-c56a36e.e-con {
    padding: 48px 20px !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con > .e-con-inner,
  .elementor-310.elementor-310 .elementor-element.elementor-element-c56a36e.e-con > .e-con-inner {
    padding: 48px 18px !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con h2.elementor-heading-title,
  .elementor-310.elementor-310 .elementor-element.elementor-element-c56a36e.e-con h2.elementor-heading-title {
    font-size: 30px !important;
    line-height: 33px !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con .pm-card,
  .elementor-310.elementor-310 .elementor-element.elementor-element-c56a36e.e-con .pm-quote-card {
    padding: 20px !important;
    gap: 18px 24px !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con .elementor-icon {
    width: 28px !important;
    height: 28px !important;
    font-size: 28px !important;
    line-height: 28px !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con .elementor-icon-box-description {
    font-size: 15px !important;
    line-height: 22.5px !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-c0ddc8b.e-con {
    padding: 56px 20px !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-c0ddc8b.e-con > .e-con-inner {
    padding: 48px 18px !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-c0ddc8b.e-con img {
    aspect-ratio: 16 / 9 !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-c08dba7.e-con {
    padding: 190px 18px 56px !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-c08dba7.e-con > .e-con-inner {
    padding: 24px 18px 48px !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-c08dba7.e-con h2.elementor-heading-title {
    font-size: 26px !important;
    line-height: 29.12px !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-e59de48.e-con {
    padding: 44px 48px !important;
    background: #002B2C !important;
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 64px rgba(0, 43, 44, 0.35) !important;
  }
}
/* ===== E-123 (2026-09-01) parity why-promed ===== */
.elementor.elementor-312[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child {
  padding: 0 32px !important;
}

.elementor.elementor-312[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner {
  padding: 144px 32px 72px !important;
  gap: 32px !important;
}

.elementor.elementor-312[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child h1.elementor-heading-title {
  max-width: 660px !important;
  font-family: "Urbanist", sans-serif !important;
  font-size: 50px !important;
  font-weight: 600 !important;
  line-height: 54px !important;
  color: #FFFFFF !important;
  text-align: left !important;
}

.elementor.elementor-312[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child p {
  max-width: 588px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 18px !important;
  line-height: 27.9px !important;
  color: rgba(255, 255, 255, 0.86) !important;
  text-align: left !important;
}

.elementor.elementor-312[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child .pm-eyebrow {
  text-align: left !important;
}

.elementor.elementor-312[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child img {
  border-radius: 16px !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-ca6a0ac.e-con {
  padding: 72px 32px !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-ca6a0ac.e-con > .e-con-inner {
  padding: 72px 32px !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-ca6a0ac.e-con .pm-card {
  padding: 24px !important;
  gap: 12px 24px !important;
  background: #FFFFFF !important;
  border: 1px solid #D4D5CE !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-ca6a0ac.e-con .pm-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25) !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-ca6a0ac.e-con .elementor-icon {
  width: 40px !important;
  height: 40px !important;
  font-size: 40px !important;
  line-height: 40px !important;
  color: #002B2C !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-ca6a0ac.e-con .elementor-icon-box-title {
  font-family: "Open Sans", sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 25.6px !important;
  color: #002B2C !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-ca6a0ac.e-con .elementor-icon-box-description {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #002B2C !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-d8f6e43.e-con {
  padding: 96px 80px !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-a5659ec.e-con {
  max-width: 720px !important;
  padding: 88px 72px !important;
  gap: 18px !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-d8f6e43.e-con h2.elementor-heading-title {
  font-family: "Urbanist", sans-serif !important;
  font-size: 44px !important;
  font-weight: 600 !important;
  line-height: 49.28px !important;
  color: #FFFFFF !important;
  text-align: start !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-d8f6e43.e-con p {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 26.4px !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-d8f6e43.e-con img {
  border-radius: 16px !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con {
  padding: 72px 32px !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con > .e-con-inner {
  padding: 72px 32px !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con .pm-card {
  padding: 24px !important;
  gap: 12px 24px !important;
  background: #FFFFFF !important;
  border: 1px solid #D4D5CE !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con .pm-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25) !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con .elementor-icon {
  width: 40px !important;
  height: 40px !important;
  font-size: 40px !important;
  line-height: 40px !important;
  color: #002B2C !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con .elementor-icon-box-title {
  font-family: "Open Sans", sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 25.6px !important;
  color: #002B2C !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con .elementor-icon-box-description {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #002B2C !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-7bc3e0c.e-con {
  padding: 96px 32px !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-7bc3e0c.e-con > .e-con-inner {
  padding: 72px 32px !important;
  gap: 28px !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-7bc3e0c.e-con p {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 26.4px !important;
  color: #002B2C !important;
  text-align: left !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-7bc3e0c.e-con img {
  aspect-ratio: 3 / 1 !important;
  object-fit: cover !important;
  border-radius: 16px !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-56c3528.e-con {
  padding: 64px 32px 40px !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-56c3528.e-con > .e-con-inner {
  padding: 72px 32px 96px !important;
}

.elementor-312.elementor-312 .elementor-element.elementor-element-56c3528.e-con h2.elementor-heading-title {
  font-family: "Urbanist", sans-serif !important;
  font-size: 38px !important;
  font-weight: 600 !important;
  line-height: 42.56px !important;
  color: #FFFFFF !important;
  text-align: center !important;
}

@media (max-width: 767px) {
  .elementor.elementor-312[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child {
    padding: 0 18px !important;
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
  }

  .elementor.elementor-312[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner {
    padding: 112px 18px 48px !important;
    gap: 32px !important;
  }

  .elementor.elementor-312[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child h1.elementor-heading-title {
    max-width: none !important;
    font-size: 26px !important;
    line-height: 28.08px !important;
  }

  .elementor.elementor-312[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child p {
    font-size: 17px !important;
    line-height: 26.35px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-ca6a0ac.e-con,
  .elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con {
    padding: 48px 20px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-ca6a0ac.e-con > .e-con-inner,
  .elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con > .e-con-inner {
    padding: 48px 18px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-ca6a0ac.e-con h2.elementor-heading-title,
  .elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con h2.elementor-heading-title {
    max-width: none !important;
    font-size: 30px !important;
    line-height: 33px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-ca6a0ac.e-con .pm-card,
  .elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con .pm-card {
    padding: 20px !important;
    gap: 18px 24px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-ca6a0ac.e-con .elementor-icon,
  .elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con .elementor-icon {
    width: 28px !important;
    height: 28px !important;
    font-size: 28px !important;
    line-height: 28px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-ca6a0ac.e-con .elementor-icon-box-description,
  .elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con .elementor-icon-box-description {
    font-size: 15px !important;
    line-height: 22.5px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-d8f6e43.e-con {
    padding: 56px 20px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-a5659ec.e-con {
    max-width: none !important;
    padding: 48px 24px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-d8f6e43.e-con h2.elementor-heading-title {
    font-size: 26px !important;
    line-height: 29.12px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-d8f6e43.e-con p {
    font-size: 15px !important;
    line-height: 24.75px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-7bc3e0c.e-con {
    padding: 56px 20px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-7bc3e0c.e-con > .e-con-inner {
    padding: 48px 18px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-7bc3e0c.e-con img {
    aspect-ratio: 16 / 9 !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-56c3528.e-con {
    padding: 190px 18px 56px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-56c3528.e-con > .e-con-inner {
    padding: 24px 18px 48px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-56c3528.e-con h2.elementor-heading-title {
    font-size: 26px !important;
    line-height: 29.12px !important;
  }

  .elementor-312.elementor-312 .elementor-element.elementor-element-81dff2a.e-con {
    padding: 44px 48px !important;
    background: #002B2C !important;
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 64px rgba(0, 43, 44, 0.35) !important;
  }
}
/* ===== E-124 (2026-09-01) parity nursing ===== */
.elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > .elementor-element-cb9f564.e-con:first-child {
  padding: 0 32px !important;
}

.elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="9944fa1"]) {
  padding: 96px 32px !important;
}

.elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="784059e"]) {
  padding: 72px 32px !important;
}

.elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="784059e"]) .pm-card {
  padding: 24px !important;
}

@media (max-width: 600px) {
  .elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="9944fa1"]) {
    padding: 56px 20px !important;
  }

  .elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="784059e"]) {
    padding: 48px 20px !important;
  }

  .elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="784059e"]) .pm-card {
    padding: 20px !important;
  }
}
.elementor-302 .elementor-element.elementor-element-cb9f564.e-con > .e-con-inner {
  padding: 144px 32px 72px;
  gap: 32px !important;
}

.elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > .elementor-element-cb9f564.e-con:first-child > .e-con-inner {
  gap: 32px !important;
}

.elementor-302 .elementor-element.elementor-element-9bf845e.elementor-widget-heading .elementor-heading-title {
  max-width: 660px !important;
  font-family: "Urbanist", sans-serif;
  font-size: 50px;
  font-weight: 600;
  line-height: 54px;
  letter-spacing: -0.4px;
  text-align: left !important;
  color: #FFFFFF;
}

.elementor-302 .elementor-element.elementor-element-7240854.elementor-widget-heading .elementor-heading-title {
  max-width: 588px;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27.9px;
  letter-spacing: -0.5px;
  text-align: left !important;
  color: rgba(255, 255, 255, 0.86);
}

.elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] h1.elementor-heading-title {
  max-width: 660px !important;
  text-align: left !important;
}

.elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-7240854.elementor-widget-heading .elementor-heading-title,
.elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-82320ef.elementor-widget-heading .elementor-heading-title {
  text-align: left !important;
}

.elementor.elementor-302.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-82320ef.elementor-widget-heading .elementor-heading-title {
  text-align: left !important;
}

.elementor-302 .elementor-element.elementor-element-cf76dfe.e-con {
  padding: 96px 32px;
}

.elementor-302 .elementor-element.elementor-element-cf76dfe.e-con > .e-con-inner {
  padding: 88px 32px 80px;
  gap: 0;
}

.elementor-302 .elementor-element.elementor-element-82320ef.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 36.72px;
  font-weight: 600;
  line-height: 43.3296px;
  letter-spacing: -0.5px;
  text-align: left !important;
  color: #002B2C;
}

.elementor-302 .elementor-element.elementor-element-6eb8f12.elementor-widget-heading .elementor-heading-title {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
  color: #002B2C;
}

.elementor-302 .elementor-element.elementor-element-ac78244.e-con {
  padding: 10px;
  background: #FFFFFF;
  border: 0;
  border-radius: 50%;
  box-shadow: 0 0 60px rgba(0, 43, 44, 0.10);
}

.elementor-302 .elementor-element.elementor-element-9944fa1.e-con {
  padding: 96px 32px !important;
  background: #C1E0DE;
}

.elementor-302 .elementor-element.elementor-element-9944fa1.e-con > .e-con-inner {
  padding: 72px 32px;
  gap: 28px;
}

.elementor-302 .elementor-element.elementor-element-c5a2939.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 53.76px;
  letter-spacing: -0.5px;
  text-align: center !important;
  color: #002B2C;
}

.elementor-302 .elementor-element.elementor-element-d8b7e8a.elementor-widget-text-editor,
.elementor-302 .elementor-element.elementor-element-d8b7e8a.elementor-widget-text-editor p {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 26.4px;
  color: #002B2C;
}

.elementor-302 .elementor-element.elementor-element-3baad83.elementor-widget-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  border-radius: 16px;
}

.elementor-302 .elementor-element.elementor-element-e096f81.e-con {
  padding: 96px 32px;
  background: #FFFFFF;
}

.elementor-302 .elementor-element.elementor-element-e096f81.e-con > .e-con-inner {
  padding: 72px 32px;
  gap: 28px;
}

.elementor-302 .elementor-element.elementor-element-9250c68.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 53.76px;
  letter-spacing: -0.5px;
  text-align: center;
  color: #002B2C;
}

.elementor-302 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor,
.elementor-302 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor p {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 26.4px;
  color: #002B2C;
}

.elementor-302 .elementor-element.elementor-element-b0bc648.elementor-widget-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  border-radius: 16px;
}

.elementor-302 .elementor-element.elementor-element-784059e.e-con {
  padding: 72px 32px !important;
  background: #FFFFFF;
}

.elementor-302 .elementor-element.elementor-element-784059e.e-con > .e-con-inner {
  padding: 72px 32px;
  gap: 0;
}

.elementor-302 .elementor-element.elementor-element-784059e.e-con .pm-card {
  padding: 24px !important;
  gap: 12px 24px;
  background: #FFFFFF;
  border: 1px solid #D4D5CE;
  border-radius: 16px;
  box-shadow: none;
}

.elementor-302 .elementor-element.elementor-element-784059e.e-con .pm-card:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25);
}

.elementor-302 .elementor-element.elementor-element-784059e.e-con .pm-card .elementor-icon {
  font-size: 40px;
  color: #002B2C;
}

.elementor-302 .elementor-element.elementor-element-784059e.e-con .pm-card .elementor-icon-box-title {
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 25.6px;
  color: #002B2C;
}

.elementor-302 .elementor-element.elementor-element-784059e.e-con .pm-card .elementor-icon-box-description {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #002B2C;
}

.elementor-302 .elementor-element.elementor-element-96806bd.e-con {
  padding: 96px 32px;
  background: #FFFFFF;
}

.elementor-302 .elementor-element.elementor-element-96806bd.e-con > .e-con-inner {
  padding: 96px 32px 120px;
  gap: 0;
}

.elementor-302 .elementor-element.elementor-element-64be27e.e-con,
.elementor-302 .elementor-element.elementor-element-4d16895.e-con {
  padding: 24px;
  gap: 12px 24px;
  background: #FFFFFF;
  border: 1px solid #D4D5CE;
  border-radius: 16px;
  box-shadow: none;
}

.elementor-302 .elementor-element.elementor-element-64be27e.e-con:hover,
.elementor-302 .elementor-element.elementor-element-4d16895.e-con:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25);
}

.elementor-302 .elementor-element.elementor-element-0067777.e-con {
  padding: 64px 32px 40px !important;
  background-position: 50% 32%;
}

.elementor-302 .elementor-element.elementor-element-0067777.e-con::before {
  background-image: linear-gradient(90deg, rgba(0, 43, 44, 0.88), rgba(0, 43, 44, 0.60) 46%, rgba(0, 43, 44, 0.32)) !important;
}

.elementor-302 .elementor-element.elementor-element-0067777.e-con > .e-con-inner {
  padding: 72px 32px 96px;
  gap: 20px;
}

.elementor-302 .elementor-element.elementor-element-2520e55.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 38px;
  font-weight: 600;
  line-height: 42.56px;
  letter-spacing: -0.4px;
  text-align: center;
  color: #FFFFFF;
}

.elementor-302 .elementor-element.elementor-element-ceee0a9.elementor-widget-heading .elementor-heading-title {
  max-width: 585.5px;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24.8px;
  letter-spacing: -0.5px;
  text-align: center;
  color: rgba(255, 255, 255, 0.85);
}

@media (max-width: 600px) {
  .elementor-302 .elementor-element.elementor-element-cb9f564.e-con {
    padding: 0 18px !important;
  }

  .elementor-302 .elementor-element.elementor-element-cb9f564.e-con > .e-con-inner {
    padding: 112px 18px 48px;
  }

  .elementor-302 .elementor-element.elementor-element-9bf845e.elementor-widget-heading .elementor-heading-title {
    max-width: none;
    font-size: 26px !important;
    line-height: 28.08px !important;
    letter-spacing: -0.5px;
  }

  .elementor-302 .elementor-element.elementor-element-7240854.elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
  }

  .elementor-302 .elementor-element.elementor-element-cf76dfe.e-con {
    padding: 56px 20px !important;
  }

  .elementor-302 .elementor-element.elementor-element-cf76dfe.e-con > .e-con-inner {
    padding: 30px 18px 15px;
  }

  .elementor-302 .elementor-element.elementor-element-82320ef.elementor-widget-heading .elementor-heading-title {
    font-size: 23px;
    line-height: 27.14px;
  }

  .elementor-302 .elementor-element.elementor-element-6eb8f12.elementor-widget-heading .elementor-heading-title {
    font-size: 15px;
    line-height: 22.5px;
  }

  .elementor-302 .elementor-element.elementor-element-9944fa1.e-con,
  .elementor-302 .elementor-element.elementor-element-e096f81.e-con {
    padding: 56px 20px !important;
  }

  .elementor-302 .elementor-element.elementor-element-9944fa1.e-con > .e-con-inner,
  .elementor-302 .elementor-element.elementor-element-e096f81.e-con > .e-con-inner {
    padding: 48px 18px;
  }

  .elementor-302 .elementor-element.elementor-element-c5a2939.elementor-widget-heading .elementor-heading-title,
  .elementor-302 .elementor-element.elementor-element-9250c68.elementor-widget-heading .elementor-heading-title {
    font-size: 32px !important;
    line-height: 35.84px !important;
  }

  .elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] h1.elementor-heading-title {
    max-width: none !important;
    font-size: 26px !important;
    line-height: 28.08px !important;
    text-align: left !important;
  }

  .elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-7240854.elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
    text-align: left !important;
  }

  .elementor-302 .elementor-element.elementor-element-d8b7e8a.elementor-widget-text-editor,
  .elementor-302 .elementor-element.elementor-element-d8b7e8a.elementor-widget-text-editor p,
  .elementor-302 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor,
  .elementor-302 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor p {
    font-size: 15px;
    line-height: 22.5px;
  }

  .elementor-302 .elementor-element.elementor-element-3baad83.elementor-widget-image img,
  .elementor-302 .elementor-element.elementor-element-b0bc648.elementor-widget-image img {
    aspect-ratio: 16 / 9;
  }

  .elementor-302 .elementor-element.elementor-element-784059e.e-con {
    padding: 48px 20px !important;
  }

  .elementor-302 .elementor-element.elementor-element-784059e.e-con > .e-con-inner {
    padding: 48px 18px;
  }

  .elementor-302 .elementor-element.elementor-element-784059e.e-con .pm-card,
  .elementor-302 .elementor-element.elementor-element-64be27e.e-con,
  .elementor-302 .elementor-element.elementor-element-4d16895.e-con {
    padding: 20px !important;
    gap: 18px 24px;
  }

  .elementor-302 .elementor-element.elementor-element-784059e.e-con .pm-card .elementor-icon {
    font-size: 28px;
  }

  .elementor-302 .elementor-element.elementor-element-784059e.e-con .pm-card .elementor-icon-box-description {
    font-size: 15px;
    line-height: 22.5px;
  }

  .elementor-302 .elementor-element.elementor-element-96806bd.e-con {
    padding: 56px 20px;
  }

  .elementor-302 .elementor-element.elementor-element-96806bd.e-con > .e-con-inner {
    padding: 0 18px 30px;
  }

  .elementor-302 .elementor-element.elementor-element-5298852.elementor-widget-heading .elementor-heading-title {
    font-size: 24px;
    line-height: 28.8px;
  }

  .elementor-302 .elementor-element.elementor-element-b8f4b4a.elementor-widget-heading .elementor-heading-title {
    font-size: 15px;
    line-height: 22.5px;
    text-align: left;
  }

  .elementor-302 .elementor-element.elementor-element-0067777.e-con {
    padding: 190px 18px 56px !important;
  }

  .elementor-302 .elementor-element.elementor-element-0067777.e-con > .e-con-inner {
    padding: 24px 18px 48px;
  }

  .elementor-302 .elementor-element.elementor-element-2520e55.elementor-widget-heading .elementor-heading-title {
    font-size: 26px;
    line-height: 29.12px;
  }

  .elementor-302 .elementor-element.elementor-element-ceee0a9.elementor-widget-heading .elementor-heading-title {
    max-width: 512.312px;
    font-size: 14px;
    line-height: 21.7px;
    text-align: left !important;
  }

  .elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > .elementor-element-cb9f564.e-con:first-child {
    padding: 0 18px !important;
  }

  .elementor.elementor-302.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-7240854.elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
    text-align: left !important;
  }

  .elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] .elementor-widget-heading:has(h1) + .elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
    text-align: left !important;
  }

  .elementor.elementor-302.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-82320ef.elementor-widget-heading .elementor-heading-title,
  .elementor.elementor-302.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-ceee0a9.elementor-widget-heading .elementor-heading-title {
    text-align: left !important;
  }
}
/* ===== E-125 (2026-09-01) parity imaging ===== */
.elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) > .elementor-element-e3a72d9.e-con:first-child {
  padding: 0 32px !important;
}

.elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="8bc1b6e"]) {
  padding: 96px 32px !important;
}

.elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="ff31be8"]) {
  padding: 72px 32px !important;
}

.elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="ff31be8"]) .pm-card {
  padding: 24px !important;
}

@media (max-width: 600px) {
  .elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="8bc1b6e"]) {
    padding: 56px 20px !important;
  }

  .elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="ff31be8"]) {
    padding: 48px 20px !important;
  }

  .elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="ff31be8"]) .pm-card {
    padding: 20px !important;
  }
}
.elementor-304 .elementor-element.elementor-element-e3a72d9.e-con > .e-con-inner {
  padding: 144px 32px 72px;
  gap: 32px !important;
}

.elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) > .elementor-element-e3a72d9.e-con:first-child > .e-con-inner {
  gap: 32px !important;
}

.elementor-304 .elementor-element.elementor-element-50f501c.elementor-widget-heading .elementor-heading-title {
  max-width: 660px !important;
  font-family: "Urbanist", sans-serif;
  font-size: 50px;
  font-weight: 600;
  line-height: 54px;
  letter-spacing: -0.4px;
  text-align: left !important;
  color: #FFFFFF;
}

.elementor-304 .elementor-element.elementor-element-6fcc0ec.elementor-widget-heading .elementor-heading-title {
  max-width: 588px;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27.9px;
  letter-spacing: -0.5px;
  text-align: left !important;
  color: rgba(255, 255, 255, 0.86);
}

.elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] h1.elementor-heading-title {
  max-width: 660px !important;
  text-align: left !important;
}

.elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-6fcc0ec.elementor-widget-heading .elementor-heading-title,
.elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-9fc9f0d.elementor-widget-heading .elementor-heading-title {
  text-align: left !important;
}

.elementor.elementor-304.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-9fc9f0d.elementor-widget-heading .elementor-heading-title {
  text-align: left !important;
}

.elementor-304 .elementor-element.elementor-element-b9ce849.e-con {
  padding: 96px 32px;
}

.elementor-304 .elementor-element.elementor-element-b9ce849.e-con > .e-con-inner {
  padding: 88px 32px 80px;
  gap: 0;
}

.elementor-304 .elementor-element.elementor-element-9fc9f0d.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 36.72px;
  font-weight: 600;
  line-height: 43.3296px;
  letter-spacing: -0.5px;
  text-align: left !important;
  color: #002B2C;
}

.elementor-304 .elementor-element.elementor-element-4733178.elementor-widget-heading .elementor-heading-title {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
  color: #002B2C;
}

.elementor-304 .elementor-element.elementor-element-57bae22.e-con {
  padding: 10px;
  background: #FFFFFF;
  border: 0;
  border-radius: 50%;
  box-shadow: 0 0 60px rgba(0, 43, 44, 0.10);
}

.elementor-304 .elementor-element.elementor-element-8bc1b6e.e-con {
  padding: 96px 32px !important;
  background: #C1E0DE;
}

.elementor-304 .elementor-element.elementor-element-8bc1b6e.e-con > .e-con-inner {
  padding: 72px 32px;
  gap: 28px;
}

.elementor-304 .elementor-element.elementor-element-fa891a2.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 53.76px;
  letter-spacing: -0.5px;
  text-align: center !important;
  color: #002B2C;
}

.elementor-304 .elementor-element.elementor-element-b20acc4.elementor-widget-text-editor,
.elementor-304 .elementor-element.elementor-element-b20acc4.elementor-widget-text-editor p {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 26.4px;
  color: #002B2C;
}

.elementor-304 .elementor-element.elementor-element-a75a0ff.elementor-widget-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  border-radius: 16px;
}

.elementor-304 .elementor-element.elementor-element-e096f81.e-con {
  padding: 96px 32px;
  background: #FFFFFF;
}

.elementor-304 .elementor-element.elementor-element-e096f81.e-con > .e-con-inner {
  padding: 72px 32px;
  gap: 28px;
}

.elementor-304 .elementor-element.elementor-element-9250c68.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 53.76px;
  letter-spacing: -0.5px;
  text-align: center;
  color: #002B2C;
}

.elementor-304 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor,
.elementor-304 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor p {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 26.4px;
  color: #002B2C;
}

.elementor-304 .elementor-element.elementor-element-b0bc648.elementor-widget-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  border-radius: 16px;
}

.elementor-304 .elementor-element.elementor-element-ff31be8.e-con {
  padding: 72px 32px !important;
  background: #FFFFFF;
}

.elementor-304 .elementor-element.elementor-element-ff31be8.e-con > .e-con-inner {
  padding: 72px 32px;
  gap: 0;
}

.elementor-304 .elementor-element.elementor-element-ff31be8.e-con .pm-card {
  padding: 24px !important;
  gap: 12px 24px;
  background: #FFFFFF;
  border: 1px solid #D4D5CE;
  border-radius: 16px;
  box-shadow: none;
}

.elementor-304 .elementor-element.elementor-element-ff31be8.e-con .pm-card:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25);
}

.elementor-304 .elementor-element.elementor-element-ff31be8.e-con .pm-card .elementor-icon {
  font-size: 40px;
  color: #002B2C;
}

.elementor-304 .elementor-element.elementor-element-ff31be8.e-con .pm-card .elementor-icon-box-title {
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 25.6px;
  color: #002B2C;
}

.elementor-304 .elementor-element.elementor-element-ff31be8.e-con .pm-card .elementor-icon-box-description {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #002B2C;
}

.elementor-304 .elementor-element.elementor-element-0154a49.e-con {
  padding: 96px 32px;
  background: #FFFFFF;
}

.elementor-304 .elementor-element.elementor-element-0154a49.e-con > .e-con-inner {
  padding: 96px 32px 120px;
  gap: 0;
}

.elementor-304 .elementor-element.elementor-element-6e4ac5d.e-con,
.elementor-304 .elementor-element.elementor-element-d44af73.e-con {
  padding: 24px;
  gap: 12px 24px;
  background: #FFFFFF;
  border: 1px solid #D4D5CE;
  border-radius: 16px;
  box-shadow: none;
}

.elementor-304 .elementor-element.elementor-element-6e4ac5d.e-con:hover,
.elementor-304 .elementor-element.elementor-element-d44af73.e-con:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25);
}

.elementor-304 .elementor-element.elementor-element-958e0e7.e-con {
  padding: 64px 32px 40px !important;
  background-position: 50% 32%;
}

.elementor-304 .elementor-element.elementor-element-958e0e7.e-con::before {
  background-image: linear-gradient(90deg, rgba(0, 43, 44, 0.88), rgba(0, 43, 44, 0.60) 46%, rgba(0, 43, 44, 0.32)) !important;
}

.elementor-304 .elementor-element.elementor-element-958e0e7.e-con > .e-con-inner {
  padding: 72px 32px 96px;
  gap: 20px;
}

.elementor-304 .elementor-element.elementor-element-717c1a8.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 38px;
  font-weight: 600;
  line-height: 42.56px;
  letter-spacing: -0.4px;
  text-align: center;
  color: #FFFFFF;
}

.elementor-304 .elementor-element.elementor-element-9db069e.elementor-widget-heading .elementor-heading-title {
  max-width: 585.5px;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24.8px;
  letter-spacing: -0.5px;
  text-align: center;
  color: rgba(255, 255, 255, 0.85);
}

@media (max-width: 600px) {
  .elementor-304 .elementor-element.elementor-element-e3a72d9.e-con {
    padding: 0 18px !important;
  }

  .elementor-304 .elementor-element.elementor-element-e3a72d9.e-con > .e-con-inner {
    padding: 112px 18px 48px;
  }

  .elementor-304 .elementor-element.elementor-element-50f501c.elementor-widget-heading .elementor-heading-title {
    max-width: none;
    font-size: 26px !important;
    line-height: 28.08px !important;
    letter-spacing: -0.5px;
  }

  .elementor-304 .elementor-element.elementor-element-6fcc0ec.elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
  }

  .elementor-304 .elementor-element.elementor-element-b9ce849.e-con {
    padding: 56px 20px !important;
  }

  .elementor-304 .elementor-element.elementor-element-b9ce849.e-con > .e-con-inner {
    padding: 30px 18px 15px;
  }

  .elementor-304 .elementor-element.elementor-element-9fc9f0d.elementor-widget-heading .elementor-heading-title {
    font-size: 23px;
    line-height: 27.14px;
  }

  .elementor-304 .elementor-element.elementor-element-4733178.elementor-widget-heading .elementor-heading-title {
    font-size: 15px;
    line-height: 22.5px;
  }

  .elementor-304 .elementor-element.elementor-element-8bc1b6e.e-con,
  .elementor-304 .elementor-element.elementor-element-e096f81.e-con {
    padding: 56px 20px !important;
  }

  .elementor-304 .elementor-element.elementor-element-8bc1b6e.e-con > .e-con-inner,
  .elementor-304 .elementor-element.elementor-element-e096f81.e-con > .e-con-inner {
    padding: 48px 18px;
  }

  .elementor-304 .elementor-element.elementor-element-fa891a2.elementor-widget-heading .elementor-heading-title,
  .elementor-304 .elementor-element.elementor-element-9250c68.elementor-widget-heading .elementor-heading-title {
    font-size: 32px !important;
    line-height: 35.84px !important;
  }

  .elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] h1.elementor-heading-title {
    max-width: none !important;
    font-size: 26px !important;
    line-height: 28.08px !important;
    text-align: left !important;
  }

  .elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-6fcc0ec.elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
    text-align: left !important;
  }

  .elementor-304 .elementor-element.elementor-element-b20acc4.elementor-widget-text-editor,
  .elementor-304 .elementor-element.elementor-element-b20acc4.elementor-widget-text-editor p,
  .elementor-304 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor,
  .elementor-304 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor p {
    font-size: 15px;
    line-height: 22.5px;
  }

  .elementor-304 .elementor-element.elementor-element-a75a0ff.elementor-widget-image img,
  .elementor-304 .elementor-element.elementor-element-b0bc648.elementor-widget-image img {
    aspect-ratio: 16 / 9;
  }

  .elementor-304 .elementor-element.elementor-element-ff31be8.e-con {
    padding: 48px 20px !important;
  }

  .elementor-304 .elementor-element.elementor-element-ff31be8.e-con > .e-con-inner {
    padding: 48px 18px;
  }

  .elementor-304 .elementor-element.elementor-element-ff31be8.e-con .pm-card,
  .elementor-304 .elementor-element.elementor-element-6e4ac5d.e-con,
  .elementor-304 .elementor-element.elementor-element-d44af73.e-con {
    padding: 20px !important;
    gap: 18px 24px;
  }

  .elementor-304 .elementor-element.elementor-element-ff31be8.e-con .pm-card .elementor-icon {
    font-size: 28px;
  }

  .elementor-304 .elementor-element.elementor-element-ff31be8.e-con .pm-card .elementor-icon-box-description {
    font-size: 15px;
    line-height: 22.5px;
  }

  .elementor-304 .elementor-element.elementor-element-0154a49.e-con {
    padding: 56px 20px;
  }

  .elementor-304 .elementor-element.elementor-element-0154a49.e-con > .e-con-inner {
    padding: 0 18px 30px;
  }

  .elementor-304 .elementor-element.elementor-element-78a196a.elementor-widget-heading .elementor-heading-title {
    font-size: 24px;
    line-height: 28.8px;
  }

  .elementor-304 .elementor-element.elementor-element-45d356e.elementor-widget-heading .elementor-heading-title {
    font-size: 15px;
    line-height: 22.5px;
    text-align: left;
  }

  .elementor-304 .elementor-element.elementor-element-958e0e7.e-con {
    padding: 190px 18px 56px !important;
  }

  .elementor-304 .elementor-element.elementor-element-958e0e7.e-con > .e-con-inner {
    padding: 24px 18px 48px;
  }

  .elementor-304 .elementor-element.elementor-element-717c1a8.elementor-widget-heading .elementor-heading-title {
    font-size: 26px;
    line-height: 29.12px;
  }

  .elementor-304 .elementor-element.elementor-element-9db069e.elementor-widget-heading .elementor-heading-title {
    max-width: 512.312px;
    font-size: 14px;
    line-height: 21.7px;
    text-align: left !important;
  }

  .elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) > .elementor-element-e3a72d9.e-con:first-child {
    padding: 0 18px !important;
  }

  .elementor.elementor-304.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-6fcc0ec.elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
    text-align: left !important;
  }

  .elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] .elementor-widget-heading:has(h1) + .elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
    text-align: left !important;
  }

  .elementor.elementor-304.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-9fc9f0d.elementor-widget-heading .elementor-heading-title,
  .elementor.elementor-304.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-9db069e.elementor-widget-heading .elementor-heading-title {
    text-align: left !important;
  }
}
/* ===== E-126 (2026-09-01) parity rehab ===== */
.elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) > .elementor-element-db694c3.e-con:first-child {
  padding: 0 32px !important;
}

.elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="77f96ca"]) {
  padding: 96px 32px !important;
}

.elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="5fee62b"]) {
  padding: 72px 32px !important;
}

.elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="5fee62b"]) .pm-card {
  padding: 24px !important;
}

@media (max-width: 600px) {
  .elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="77f96ca"]) {
    padding: 56px 20px !important;
  }

  .elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="5fee62b"]) {
    padding: 48px 20px !important;
  }

  .elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="5fee62b"]) .pm-card {
    padding: 20px !important;
  }
}
.elementor-306 .elementor-element.elementor-element-db694c3.e-con > .e-con-inner {
  padding: 144px 32px 72px;
  gap: 32px !important;
}

.elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) > .elementor-element-db694c3.e-con:first-child > .e-con-inner {
  gap: 32px !important;
}

.elementor-306 .elementor-element.elementor-element-fa4a72d.elementor-widget-heading .elementor-heading-title {
  max-width: 660px !important;
  font-family: "Urbanist", sans-serif;
  font-size: 50px;
  font-weight: 600;
  line-height: 54px;
  letter-spacing: -0.4px;
  text-align: left !important;
  color: #FFFFFF;
}

.elementor-306 .elementor-element.elementor-element-7d64681.elementor-widget-heading .elementor-heading-title {
  max-width: 588px;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27.9px;
  letter-spacing: -0.5px;
  text-align: left !important;
  color: rgba(255, 255, 255, 0.86);
}

.elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] h1.elementor-heading-title {
  max-width: 660px !important;
  text-align: left !important;
}

.elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-7d64681.elementor-widget-heading .elementor-heading-title,
.elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-0ca139d.elementor-widget-heading .elementor-heading-title {
  text-align: left !important;
}

.elementor.elementor-306.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-0ca139d.elementor-widget-heading .elementor-heading-title {
  text-align: left !important;
}

.elementor-306 .elementor-element.elementor-element-b678564.e-con {
  padding: 96px 32px;
}

.elementor-306 .elementor-element.elementor-element-b678564.e-con > .e-con-inner {
  padding: 88px 32px 80px;
  gap: 0;
}

.elementor-306 .elementor-element.elementor-element-0ca139d.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 36.72px;
  font-weight: 600;
  line-height: 43.3296px;
  letter-spacing: -0.5px;
  text-align: left !important;
  color: #002B2C;
}

.elementor-306 .elementor-element.elementor-element-a1326df.elementor-widget-heading .elementor-heading-title {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
  color: #002B2C;
}

.elementor-306 .elementor-element.elementor-element-93397e3.e-con {
  padding: 10px;
  background: #FFFFFF;
  border: 0;
  border-radius: 50%;
  box-shadow: 0 0 60px rgba(0, 43, 44, 0.10);
}

.elementor-306 .elementor-element.elementor-element-77f96ca.e-con {
  padding: 96px 32px !important;
  background: #C1E0DE;
}

.elementor-306 .elementor-element.elementor-element-77f96ca.e-con > .e-con-inner {
  padding: 72px 32px;
  gap: 28px;
}

.elementor-306 .elementor-element.elementor-element-5b69050.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 53.76px;
  letter-spacing: -0.5px;
  text-align: center !important;
  color: #002B2C;
}

.elementor-306 .elementor-element.elementor-element-c0306e7.elementor-widget-text-editor,
.elementor-306 .elementor-element.elementor-element-c0306e7.elementor-widget-text-editor p {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 26.4px;
  color: #002B2C;
}

.elementor-306 .elementor-element.elementor-element-22e1b9b.elementor-widget-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  border-radius: 16px;
}

.elementor-306 .elementor-element.elementor-element-e096f81.e-con {
  padding: 96px 32px;
  background: #FFFFFF;
}

.elementor-306 .elementor-element.elementor-element-e096f81.e-con > .e-con-inner {
  padding: 72px 32px;
  gap: 28px;
}

.elementor-306 .elementor-element.elementor-element-9250c68.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 53.76px;
  letter-spacing: -0.5px;
  text-align: center;
  color: #002B2C;
}

.elementor-306 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor,
.elementor-306 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor p {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 26.4px;
  color: #002B2C;
}

.elementor-306 .elementor-element.elementor-element-b0bc648.elementor-widget-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  border-radius: 16px;
}

.elementor-306 .elementor-element.elementor-element-5fee62b.e-con {
  padding: 72px 32px !important;
  background: #FFFFFF;
}

.elementor-306 .elementor-element.elementor-element-5fee62b.e-con > .e-con-inner {
  padding: 72px 32px;
  gap: 0;
}

.elementor-306 .elementor-element.elementor-element-5fee62b.e-con .pm-card {
  padding: 24px !important;
  gap: 12px 24px;
  background: #FFFFFF;
  border: 1px solid #D4D5CE;
  border-radius: 16px;
  box-shadow: none;
}

.elementor-306 .elementor-element.elementor-element-5fee62b.e-con .pm-card:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25);
}

.elementor-306 .elementor-element.elementor-element-5fee62b.e-con .pm-card .elementor-icon {
  font-size: 40px;
  color: #002B2C;
}

.elementor-306 .elementor-element.elementor-element-5fee62b.e-con .pm-card .elementor-icon-box-title {
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 25.6px;
  color: #002B2C;
}

.elementor-306 .elementor-element.elementor-element-5fee62b.e-con .pm-card .elementor-icon-box-description {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #002B2C;
}

.elementor-306 .elementor-element.elementor-element-6663487.e-con {
  padding: 96px 32px;
  background: #FFFFFF;
}

.elementor-306 .elementor-element.elementor-element-6663487.e-con > .e-con-inner {
  padding: 96px 32px 120px;
  gap: 0;
}

.elementor-306 .elementor-element.elementor-element-bcc527a.e-con,
.elementor-306 .elementor-element.elementor-element-16a023f.e-con {
  padding: 24px;
  gap: 12px 24px;
  background: #FFFFFF;
  border: 1px solid #D4D5CE;
  border-radius: 16px;
  box-shadow: none;
}

.elementor-306 .elementor-element.elementor-element-bcc527a.e-con:hover,
.elementor-306 .elementor-element.elementor-element-16a023f.e-con:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25);
}

.elementor-306 .elementor-element.elementor-element-f6f32b3.e-con {
  padding: 64px 32px 40px !important;
  background-position: 50% 32%;
}

.elementor-306 .elementor-element.elementor-element-f6f32b3.e-con::before {
  background-image: linear-gradient(90deg, rgba(0, 43, 44, 0.88), rgba(0, 43, 44, 0.60) 46%, rgba(0, 43, 44, 0.32)) !important;
}

.elementor-306 .elementor-element.elementor-element-f6f32b3.e-con > .e-con-inner {
  padding: 72px 32px 96px;
  gap: 20px;
}

.elementor-306 .elementor-element.elementor-element-f520dab.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 38px;
  font-weight: 600;
  line-height: 42.56px;
  letter-spacing: -0.4px;
  text-align: center;
  color: #FFFFFF;
}

.elementor-306 .elementor-element.elementor-element-c8a2f3c.elementor-widget-heading .elementor-heading-title {
  max-width: 585.5px;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24.8px;
  letter-spacing: -0.5px;
  text-align: center;
  color: rgba(255, 255, 255, 0.85);
}

@media (max-width: 600px) {
  .elementor-306 .elementor-element.elementor-element-db694c3.e-con {
    padding: 0 18px !important;
  }

  .elementor-306 .elementor-element.elementor-element-db694c3.e-con > .e-con-inner {
    padding: 112px 18px 48px;
  }

  .elementor-306 .elementor-element.elementor-element-fa4a72d.elementor-widget-heading .elementor-heading-title {
    max-width: none;
    font-size: 26px !important;
    line-height: 28.08px !important;
    letter-spacing: -0.5px;
  }

  .elementor-306 .elementor-element.elementor-element-7d64681.elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
  }

  .elementor-306 .elementor-element.elementor-element-b678564.e-con {
    padding: 56px 20px !important;
  }

  .elementor-306 .elementor-element.elementor-element-b678564.e-con > .e-con-inner {
    padding: 30px 18px 15px;
  }

  .elementor-306 .elementor-element.elementor-element-0ca139d.elementor-widget-heading .elementor-heading-title {
    font-size: 23px;
    line-height: 27.14px;
  }

  .elementor-306 .elementor-element.elementor-element-a1326df.elementor-widget-heading .elementor-heading-title {
    font-size: 15px;
    line-height: 22.5px;
  }

  .elementor-306 .elementor-element.elementor-element-77f96ca.e-con,
  .elementor-306 .elementor-element.elementor-element-e096f81.e-con {
    padding: 56px 20px !important;
  }

  .elementor-306 .elementor-element.elementor-element-77f96ca.e-con > .e-con-inner,
  .elementor-306 .elementor-element.elementor-element-e096f81.e-con > .e-con-inner {
    padding: 48px 18px;
  }

  .elementor-306 .elementor-element.elementor-element-5b69050.elementor-widget-heading .elementor-heading-title,
  .elementor-306 .elementor-element.elementor-element-9250c68.elementor-widget-heading .elementor-heading-title {
    font-size: 32px !important;
    line-height: 35.84px !important;
  }

  .elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] h1.elementor-heading-title {
    max-width: none !important;
    font-size: 26px !important;
    line-height: 28.08px !important;
    text-align: left !important;
  }

  .elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-7d64681.elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
    text-align: left !important;
  }

  .elementor-306 .elementor-element.elementor-element-c0306e7.elementor-widget-text-editor,
  .elementor-306 .elementor-element.elementor-element-c0306e7.elementor-widget-text-editor p,
  .elementor-306 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor,
  .elementor-306 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor p {
    font-size: 15px;
    line-height: 22.5px;
  }

  .elementor-306 .elementor-element.elementor-element-22e1b9b.elementor-widget-image img,
  .elementor-306 .elementor-element.elementor-element-b0bc648.elementor-widget-image img {
    aspect-ratio: 16 / 9;
  }

  .elementor-306 .elementor-element.elementor-element-5fee62b.e-con {
    padding: 48px 20px !important;
  }

  .elementor-306 .elementor-element.elementor-element-5fee62b.e-con > .e-con-inner {
    padding: 48px 18px;
  }

  .elementor-306 .elementor-element.elementor-element-5fee62b.e-con .pm-card,
  .elementor-306 .elementor-element.elementor-element-bcc527a.e-con,
  .elementor-306 .elementor-element.elementor-element-16a023f.e-con {
    padding: 20px !important;
    gap: 18px 24px;
  }

  .elementor-306 .elementor-element.elementor-element-5fee62b.e-con .pm-card .elementor-icon {
    font-size: 28px;
  }

  .elementor-306 .elementor-element.elementor-element-5fee62b.e-con .pm-card .elementor-icon-box-description {
    font-size: 15px;
    line-height: 22.5px;
  }

  .elementor-306 .elementor-element.elementor-element-6663487.e-con {
    padding: 56px 20px;
  }

  .elementor-306 .elementor-element.elementor-element-6663487.e-con > .e-con-inner {
    padding: 0 18px 30px;
  }

  .elementor-306 .elementor-element.elementor-element-2978911.elementor-widget-heading .elementor-heading-title {
    font-size: 24px;
    line-height: 28.8px;
  }

  .elementor-306 .elementor-element.elementor-element-f272b86.elementor-widget-heading .elementor-heading-title {
    font-size: 15px;
    line-height: 22.5px;
    text-align: left;
  }

  .elementor-306 .elementor-element.elementor-element-f6f32b3.e-con {
    padding: 190px 18px 56px !important;
  }

  .elementor-306 .elementor-element.elementor-element-f6f32b3.e-con > .e-con-inner {
    padding: 24px 18px 48px;
  }

  .elementor-306 .elementor-element.elementor-element-f520dab.elementor-widget-heading .elementor-heading-title {
    font-size: 26px;
    line-height: 29.12px;
  }

  .elementor-306 .elementor-element.elementor-element-c8a2f3c.elementor-widget-heading .elementor-heading-title {
    max-width: 512.312px;
    font-size: 14px;
    line-height: 21.7px;
    text-align: left !important;
  }

  .elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) > .elementor-element-db694c3.e-con:first-child {
    padding: 0 18px !important;
  }

  .elementor.elementor-306.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-7d64681.elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
    text-align: left !important;
  }

  .elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] .elementor-widget-heading:has(h1) + .elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
    text-align: left !important;
  }

  .elementor.elementor-306.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-0ca139d.elementor-widget-heading .elementor-heading-title,
  .elementor.elementor-306.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-c8a2f3c.elementor-widget-heading .elementor-heading-title {
    text-align: left !important;
  }
}
/* ===== E-127 (2026-09-01) parity lab-pharmacy ===== */
.elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) > .elementor-element-bbb2ebb.e-con:first-child {
  padding: 0 32px !important;
}

.elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="0869431"]) {
  padding: 96px 32px !important;
}

.elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="9c5d01d"]) {
  padding: 72px 32px !important;
}

.elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="9c5d01d"]) .pm-card {
  padding: 24px !important;
}

@media (max-width: 600px) {
  .elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="0869431"]) {
    padding: 56px 20px !important;
  }

  .elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="9c5d01d"]) {
    padding: 48px 20px !important;
  }

  .elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="9c5d01d"]) .pm-card {
    padding: 20px !important;
  }
}
.elementor-308 .elementor-element.elementor-element-bbb2ebb.e-con > .e-con-inner {
  padding: 144px 32px 72px;
  gap: 32px !important;
}

.elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) > .elementor-element-bbb2ebb.e-con:first-child > .e-con-inner {
  gap: 32px !important;
}

.elementor-308 .elementor-element.elementor-element-e4b3a7e.elementor-widget-heading .elementor-heading-title {
  max-width: 660px !important;
  font-family: "Urbanist", sans-serif;
  font-size: 50px;
  font-weight: 600;
  line-height: 54px;
  letter-spacing: -0.4px;
  text-align: left !important;
  color: #FFFFFF;
}

.elementor-308 .elementor-element.elementor-element-9c3b05b.elementor-widget-heading .elementor-heading-title {
  max-width: 588px;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27.9px;
  letter-spacing: -0.5px;
  text-align: left !important;
  color: rgba(255, 255, 255, 0.86);
}

.elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] h1.elementor-heading-title {
  max-width: 660px !important;
  text-align: left !important;
}

.elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-9c3b05b.elementor-widget-heading .elementor-heading-title,
.elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-9a27b94.elementor-widget-heading .elementor-heading-title {
  text-align: left !important;
}

.elementor.elementor-308.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-9a27b94.elementor-widget-heading .elementor-heading-title {
  text-align: left !important;
}

.elementor-308 .elementor-element.elementor-element-e3156e0.e-con {
  padding: 96px 32px;
}

.elementor-308 .elementor-element.elementor-element-e3156e0.e-con > .e-con-inner {
  padding: 88px 32px 80px;
  gap: 0;
}

.elementor-308 .elementor-element.elementor-element-9a27b94.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 36.72px;
  font-weight: 600;
  line-height: 43.3296px;
  letter-spacing: -0.5px;
  text-align: left !important;
  color: #002B2C;
}

.elementor-308 .elementor-element.elementor-element-d7c966d.elementor-widget-heading .elementor-heading-title {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
  color: #002B2C;
}

.elementor-308 .elementor-element.elementor-element-6ce5301.e-con {
  padding: 10px;
  background: #FFFFFF;
  border: 0;
  border-radius: 50%;
  box-shadow: 0 0 60px rgba(0, 43, 44, 0.10);
}

.elementor-308 .elementor-element.elementor-element-0869431.e-con {
  padding: 96px 32px !important;
  background: #C1E0DE;
}

.elementor-308 .elementor-element.elementor-element-0869431.e-con > .e-con-inner {
  padding: 72px 32px;
  gap: 28px;
}

.elementor-308 .elementor-element.elementor-element-b10ca36.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 53.76px;
  letter-spacing: -0.5px;
  text-align: center !important;
  color: #002B2C;
}

.elementor-308 .elementor-element.elementor-element-ac93ec3.elementor-widget-text-editor,
.elementor-308 .elementor-element.elementor-element-ac93ec3.elementor-widget-text-editor p {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 26.4px;
  color: #002B2C;
}

.elementor-308 .elementor-element.elementor-element-c40cc0b.elementor-widget-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  border-radius: 16px;
}

.elementor-308 .elementor-element.elementor-element-e096f81.e-con {
  padding: 96px 32px;
  background: #FFFFFF;
}

.elementor-308 .elementor-element.elementor-element-e096f81.e-con > .e-con-inner {
  padding: 72px 32px;
  gap: 28px;
}

.elementor-308 .elementor-element.elementor-element-9250c68.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 53.76px;
  letter-spacing: -0.5px;
  text-align: center;
  color: #002B2C;
}

.elementor-308 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor,
.elementor-308 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor p {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 26.4px;
  color: #002B2C;
}

.elementor-308 .elementor-element.elementor-element-b0bc648.elementor-widget-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  border-radius: 16px;
}

.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con {
  padding: 72px 32px !important;
  background: #FFFFFF;
}

.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con > .e-con-inner {
  padding: 72px 32px;
  gap: 0;
}

.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con .pm-card {
  padding: 24px !important;
  gap: 12px 24px;
  background: #FFFFFF;
  border: 1px solid #D4D5CE;
  border-radius: 16px;
  box-shadow: none;
}

.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con .pm-card:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25);
}

.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con .pm-card .elementor-icon {
  font-size: 40px;
  color: #002B2C;
}

.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con .pm-card .elementor-icon-box-title {
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 25.6px;
  color: #002B2C;
}

.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con .pm-card .elementor-icon-box-description {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #002B2C;
}

.elementor-308 .elementor-element.elementor-element-93e17f0.e-con {
  padding: 96px 32px;
  background: #FFFFFF;
}

.elementor-308 .elementor-element.elementor-element-93e17f0.e-con > .e-con-inner {
  padding: 96px 32px 120px;
  gap: 0;
}

.elementor-308 .elementor-element.elementor-element-c39ca02.e-con,
.elementor-308 .elementor-element.elementor-element-cee1fd7.e-con {
  padding: 24px;
  gap: 12px 24px;
  background: #FFFFFF;
  border: 1px solid #D4D5CE;
  border-radius: 16px;
  box-shadow: none;
}

.elementor-308 .elementor-element.elementor-element-c39ca02.e-con:hover,
.elementor-308 .elementor-element.elementor-element-cee1fd7.e-con:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25);
}

.elementor-308 .elementor-element.elementor-element-3b00a8b.e-con {
  padding: 64px 32px 40px !important;
  background-position: 50% 32%;
}

.elementor-308 .elementor-element.elementor-element-3b00a8b.e-con::before {
  background-image: linear-gradient(90deg, rgba(0, 43, 44, 0.88), rgba(0, 43, 44, 0.60) 46%, rgba(0, 43, 44, 0.32)) !important;
}

.elementor-308 .elementor-element.elementor-element-3b00a8b.e-con > .e-con-inner {
  padding: 72px 32px 96px;
  gap: 20px;
}

.elementor-308 .elementor-element.elementor-element-2f52e01.elementor-widget-heading .elementor-heading-title {
  font-family: "Urbanist", sans-serif;
  font-size: 38px;
  font-weight: 600;
  line-height: 42.56px;
  letter-spacing: -0.4px;
  text-align: center;
  color: #FFFFFF;
}

.elementor-308 .elementor-element.elementor-element-d0e2e5b.elementor-widget-heading .elementor-heading-title {
  max-width: 585.5px;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24.8px;
  letter-spacing: -0.5px;
  text-align: center;
  color: rgba(255, 255, 255, 0.85);
}

@media (max-width: 600px) {
  .elementor-308 .elementor-element.elementor-element-bbb2ebb.e-con {
    padding: 0 18px !important;
  }

  .elementor-308 .elementor-element.elementor-element-bbb2ebb.e-con > .e-con-inner {
    padding: 112px 18px 48px;
  }

  .elementor-308 .elementor-element.elementor-element-e4b3a7e.elementor-widget-heading .elementor-heading-title {
    max-width: none;
    font-size: 26px !important;
    line-height: 28.08px !important;
    letter-spacing: -0.5px;
  }

  .elementor-308 .elementor-element.elementor-element-9c3b05b.elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
  }

  .elementor-308 .elementor-element.elementor-element-e3156e0.e-con {
    padding: 56px 20px !important;
  }

  .elementor-308 .elementor-element.elementor-element-e3156e0.e-con > .e-con-inner {
    padding: 30px 18px 15px;
  }

  .elementor-308 .elementor-element.elementor-element-9a27b94.elementor-widget-heading .elementor-heading-title {
    font-size: 23px;
    line-height: 27.14px;
  }

  .elementor-308 .elementor-element.elementor-element-d7c966d.elementor-widget-heading .elementor-heading-title {
    font-size: 15px;
    line-height: 22.5px;
  }

  .elementor-308 .elementor-element.elementor-element-0869431.e-con,
  .elementor-308 .elementor-element.elementor-element-e096f81.e-con {
    padding: 56px 20px !important;
  }

  .elementor-308 .elementor-element.elementor-element-0869431.e-con > .e-con-inner,
  .elementor-308 .elementor-element.elementor-element-e096f81.e-con > .e-con-inner {
    padding: 48px 18px;
  }

  .elementor-308 .elementor-element.elementor-element-b10ca36.elementor-widget-heading .elementor-heading-title,
  .elementor-308 .elementor-element.elementor-element-9250c68.elementor-widget-heading .elementor-heading-title {
    font-size: 32px !important;
    line-height: 35.84px !important;
  }

  .elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] h1.elementor-heading-title {
    max-width: none !important;
    font-size: 26px !important;
    line-height: 28.08px !important;
    text-align: left !important;
  }

  .elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-9c3b05b.elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
    text-align: left !important;
  }

  .elementor-308 .elementor-element.elementor-element-ac93ec3.elementor-widget-text-editor,
  .elementor-308 .elementor-element.elementor-element-ac93ec3.elementor-widget-text-editor p,
  .elementor-308 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor,
  .elementor-308 .elementor-element.elementor-element-41e5ae0.elementor-widget-text-editor p {
    font-size: 15px;
    line-height: 22.5px;
  }

  .elementor-308 .elementor-element.elementor-element-c40cc0b.elementor-widget-image img,
  .elementor-308 .elementor-element.elementor-element-b0bc648.elementor-widget-image img {
    aspect-ratio: 16 / 9;
  }

  .elementor-308 .elementor-element.elementor-element-9c5d01d.e-con {
    padding: 48px 20px !important;
  }

  .elementor-308 .elementor-element.elementor-element-9c5d01d.e-con > .e-con-inner {
    padding: 48px 18px;
  }

  .elementor-308 .elementor-element.elementor-element-9c5d01d.e-con .pm-card,
  .elementor-308 .elementor-element.elementor-element-c39ca02.e-con,
  .elementor-308 .elementor-element.elementor-element-cee1fd7.e-con {
    padding: 20px !important;
    gap: 18px 24px;
  }

  .elementor-308 .elementor-element.elementor-element-9c5d01d.e-con .pm-card .elementor-icon {
    font-size: 28px;
  }

  .elementor-308 .elementor-element.elementor-element-9c5d01d.e-con .pm-card .elementor-icon-box-description {
    font-size: 15px;
    line-height: 22.5px;
  }

  .elementor-308 .elementor-element.elementor-element-93e17f0.e-con {
    padding: 56px 20px;
  }

  .elementor-308 .elementor-element.elementor-element-93e17f0.e-con > .e-con-inner {
    padding: 0 18px 30px;
  }

  .elementor-308 .elementor-element.elementor-element-b4781d1.elementor-widget-heading .elementor-heading-title {
    font-size: 24px;
    line-height: 28.8px;
  }

  .elementor-308 .elementor-element.elementor-element-ef7b6ee.elementor-widget-heading .elementor-heading-title {
    font-size: 15px;
    line-height: 22.5px;
    text-align: left;
  }

  .elementor-308 .elementor-element.elementor-element-3b00a8b.e-con {
    padding: 190px 18px 56px !important;
  }

  .elementor-308 .elementor-element.elementor-element-3b00a8b.e-con > .e-con-inner {
    padding: 24px 18px 48px;
  }

  .elementor-308 .elementor-element.elementor-element-2f52e01.elementor-widget-heading .elementor-heading-title {
    font-size: 26px;
    line-height: 29.12px;
  }

  .elementor-308 .elementor-element.elementor-element-d0e2e5b.elementor-widget-heading .elementor-heading-title {
    max-width: 512.312px;
    font-size: 14px;
    line-height: 21.7px;
    text-align: left !important;
  }

  .elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) > .elementor-element-bbb2ebb.e-con:first-child {
    padding: 0 18px !important;
  }

  .elementor.elementor-308.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-9c3b05b.elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
    text-align: left !important;
  }

  .elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"] .elementor-widget-heading:has(h1) + .elementor-widget-heading .elementor-heading-title {
    font-size: 17px !important;
    line-height: 26.35px !important;
    text-align: left !important;
  }

  .elementor.elementor-308.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-9a27b94.elementor-widget-heading .elementor-heading-title,
  .elementor.elementor-308.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element-d0e2e5b.elementor-widget-heading .elementor-heading-title {
    text-align: left !important;
  }
}
/* ===== E-128 (2026-09-01) parity faq ===== */
.elementor-314.elementor-314 .elementor-element.elementor-element-f092e82.e-con {
  padding: 0 32px;
}

.elementor-314.elementor-314 .elementor-element.elementor-element-f092e82.e-con > .e-con-inner {
  max-width: 1344px;
  padding: 144px 32px 72px;
  gap: 32px;
}

.elementor-314.elementor-314 .elementor-element.elementor-element-f092e82.e-con h1.elementor-heading-title {
  max-width: 660px;
  font-family: Urbanist, sans-serif;
  font-size: 50px;
  font-weight: 600;
  line-height: 54px;
  color: #FFFFFF;
  text-align: left;
}

.elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con,
.elementor-314.elementor-314 .elementor-element.elementor-element-11f4ffa.e-con,
.elementor-314.elementor-314 .elementor-element.elementor-element-1b6c9f7.e-con,
.elementor-314.elementor-314 .elementor-element.elementor-element-d6905b1.e-con,
.elementor-314.elementor-314 .elementor-element.elementor-element-40ab3b4.e-con {
  padding: 96px 32px;
  background-color: #FFFFFF;
}

.elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con > .e-con-inner,
.elementor-314.elementor-314 .elementor-element.elementor-element-11f4ffa.e-con > .e-con-inner,
.elementor-314.elementor-314 .elementor-element.elementor-element-1b6c9f7.e-con > .e-con-inner,
.elementor-314.elementor-314 .elementor-element.elementor-element-d6905b1.e-con > .e-con-inner,
.elementor-314.elementor-314 .elementor-element.elementor-element-40ab3b4.e-con > .e-con-inner {
  max-width: 1344px;
  padding: 0 32px;
  gap: 0;
}

.elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con h2.elementor-heading-title,
.elementor-314.elementor-314 .elementor-element.elementor-element-11f4ffa.e-con h2.elementor-heading-title,
.elementor-314.elementor-314 .elementor-element.elementor-element-1b6c9f7.e-con h2.elementor-heading-title,
.elementor-314.elementor-314 .elementor-element.elementor-element-d6905b1.e-con h2.elementor-heading-title,
.elementor-314.elementor-314 .elementor-element.elementor-element-40ab3b4.e-con h2.elementor-heading-title {
  font-family: Urbanist, sans-serif;
  font-size: 44px;
  font-weight: 600;
  line-height: 52.8px;
  color: #002B2C;
  text-align: center;
}

.elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con .elementskit-card,
.elementor-314.elementor-314 .elementor-element.elementor-element-11f4ffa.e-con .elementskit-card,
.elementor-314.elementor-314 .elementor-element.elementor-element-1b6c9f7.e-con .elementskit-card,
.elementor-314.elementor-314 .elementor-element.elementor-element-d6905b1.e-con .elementskit-card,
.elementor-314.elementor-314 .elementor-element.elementor-element-40ab3b4.e-con .elementskit-card {
  overflow: hidden;
  padding: 0;
  background: #FFFFFF;
  border: 1px solid #D4D5CE;
  border-radius: 16px;
  box-shadow: none;
  transform: none;
  transition: transform 0.18s, box-shadow 0.18s;
}

.elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con .elementskit-card:hover,
.elementor-314.elementor-314 .elementor-element.elementor-element-11f4ffa.e-con .elementskit-card:hover,
.elementor-314.elementor-314 .elementor-element.elementor-element-1b6c9f7.e-con .elementskit-card:hover,
.elementor-314.elementor-314 .elementor-element.elementor-element-d6905b1.e-con .elementskit-card:hover,
.elementor-314.elementor-314 .elementor-element.elementor-element-40ab3b4.e-con .elementskit-card:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25);
}

.elementor-314.elementor-314 .elementskit-card .ekit-accordion--toggler.elementskit-btn-link {
  padding: 24px;
  background: #FFFFFF;
  border-radius: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 25.6px;
  color: #002B2C;
}

.elementor-314.elementor-314 .elementskit-card .elementskit-card-body.ekit-accordion--content {
  padding: 0 24px 24px;
  background: #FFFFFF;
  border-radius: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #002B2C;
}

.elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con {
  padding: 64px 32px 40px;
}

.elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con > .e-con-inner {
  max-width: 1344px;
  padding: 72px 32px 96px;
  gap: 20px;
}

.elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con .elementor-element.elementor-element-009f3af.e-con {
  padding: 44px 48px;
  background: #002B2C;
  border: 0;
  border-radius: 16px;
  box-shadow: 0 24px 64px rgba(0, 43, 44, 0.35);
}

.elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con h2.elementor-heading-title {
  font-family: Urbanist, sans-serif;
  font-size: 38px;
  font-weight: 600;
  line-height: 42.56px;
  color: #FFFFFF;
  text-align: center;
}

.elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con .elementor-element.elementor-element-f87cdd7 .elementor-heading-title {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24.8px;
  color: rgba(255, 255, 255, 0.85);
  text-align: center;
}

@media (max-width: 767px) {
  .elementor-314.elementor-314 .elementor-element.elementor-element-f092e82.e-con {
    padding: 0 18px;
  }

  .elementor-314.elementor-314 .elementor-element.elementor-element-f092e82.e-con > .e-con-inner {
    padding: 112px 18px 48px;
    gap: 32px;
  }

  .elementor-314.elementor-314 .elementor-element.elementor-element-f092e82.e-con h1.elementor-heading-title {
    max-width: none;
    font-size: 26px;
    line-height: 28.08px;
    text-align: left;
  }

  .elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con,
  .elementor-314.elementor-314 .elementor-element.elementor-element-11f4ffa.e-con,
  .elementor-314.elementor-314 .elementor-element.elementor-element-1b6c9f7.e-con,
  .elementor-314.elementor-314 .elementor-element.elementor-element-d6905b1.e-con,
  .elementor-314.elementor-314 .elementor-element.elementor-element-40ab3b4.e-con {
    padding: 56px 20px;
  }

  .elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con > .e-con-inner,
  .elementor-314.elementor-314 .elementor-element.elementor-element-11f4ffa.e-con > .e-con-inner,
  .elementor-314.elementor-314 .elementor-element.elementor-element-1b6c9f7.e-con > .e-con-inner,
  .elementor-314.elementor-314 .elementor-element.elementor-element-d6905b1.e-con > .e-con-inner,
  .elementor-314.elementor-314 .elementor-element.elementor-element-40ab3b4.e-con > .e-con-inner {
    padding: 0 18px 30px;
  }

  .elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con h2.elementor-heading-title,
  .elementor-314.elementor-314 .elementor-element.elementor-element-11f4ffa.e-con h2.elementor-heading-title,
  .elementor-314.elementor-314 .elementor-element.elementor-element-1b6c9f7.e-con h2.elementor-heading-title,
  .elementor-314.elementor-314 .elementor-element.elementor-element-d6905b1.e-con h2.elementor-heading-title,
  .elementor-314.elementor-314 .elementor-element.elementor-element-40ab3b4.e-con h2.elementor-heading-title {
    font-size: 30px;
    line-height: 33px;
  }

  .elementor-314.elementor-314 .elementskit-card .ekit-accordion--toggler.elementskit-btn-link {
    padding: 20px;
    font-size: 20px;
    line-height: 25.6px;
  }

  .elementor-314.elementor-314 .elementskit-card .elementskit-card-body.ekit-accordion--content {
    padding: 0 20px 20px;
    font-size: 15px;
    line-height: 22.5px;
  }

  .elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con {
    padding: 190px 18px 56px;
  }

  .elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con > .e-con-inner {
    padding: 24px 18px 48px;
  }

  .elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con h2.elementor-heading-title {
    font-size: 26px;
    line-height: 29.12px;
  }

  .elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con .elementor-element.elementor-element-009f3af.e-con {
    padding: 44px 48px;
  }

  .elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con .elementor-element.elementor-element-f87cdd7 .elementor-heading-title {
    font-size: 14px;
    line-height: 21.7px;
    text-align: left;
  }
}

.elementor.elementor-314[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con.elementor-element-f092e82:first-child {
  padding-block: 0 !important;
  padding-inline: 32px !important;
}

.elementor.elementor-314[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con.elementor-element-f092e82:first-child > .e-con-inner {
  gap: 32px !important;
}

.elementor.elementor-314[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con.elementor-element-f092e82:first-child h1.elementor-heading-title {
  max-width: 660px !important;
  text-align: left !important;
}

.elementor-314.elementor-314 .elementskit-accordion .elementskit-card.elementskit-card .elementskit-card-header > .ekit-accordion--toggler.elementskit-btn-link {
  padding: 24px;
  font-size: 20px !important;
  line-height: 25.6px !important;
}

.elementor-314.elementor-314 .elementskit-accordion .elementskit-card.elementskit-card .elementskit-card-body.ekit-accordion--content {
  line-height: 24px !important;
}

.elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con {
  padding-block: 64px 40px !important;
}

@media (max-width: 767px) {
  .elementor.elementor-314[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con.elementor-element-f092e82:first-child {
    padding-block: 0 !important;
    padding-inline: 18px !important;
  }

  .elementor.elementor-314[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con.elementor-element-f092e82:first-child h1.elementor-heading-title {
    max-width: none !important;
    font-size: 26px !important;
    line-height: 28.08px !important;
    text-align: left !important;
  }

  .elementor-314.elementor-314 .elementskit-accordion .elementskit-card.elementskit-card .elementskit-card-header > .ekit-accordion--toggler.elementskit-btn-link {
    padding: 20px;
  }

  .elementor-314.elementor-314 .elementskit-accordion .elementskit-card.elementskit-card .elementskit-card-body.ekit-accordion--content {
    line-height: 22.5px !important;
  }

  .elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con {
    padding-block: 190px 56px !important;
  }
}
/* ===== E-129 (2026-09-01) parity request-staff ===== */
.elementor-316.elementor-316 .elementor-element.elementor-element-8e3b614.e-con {
  padding: 64px 32px 40px;
  background: #002B2C;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-8e3b614.e-con > .e-con-inner {
  max-width: 1344px;
  padding: 72px 32px 96px;
  gap: 20px;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-8e3b614.e-con h2.elementor-heading-title {
  font-family: Urbanist, sans-serif;
  font-size: 38px;
  font-weight: 600;
  line-height: 42.56px;
  color: #FFFFFF;
  text-align: center;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-8e3b614.e-con .elementor-element.elementor-element-2c48bf1 .elementor-heading-title {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24.8px;
  color: rgba(255, 255, 255, 0.85);
  text-align: center;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con {
  padding: 72px 32px;
  background: #FFFFFF;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con > .e-con-inner {
  max-width: 1344px;
  padding: 72px 32px;
  gap: 0;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con h2.elementor-heading-title {
  font-family: Urbanist, sans-serif;
  font-size: 50px;
  font-weight: 600;
  line-height: 55px;
  color: #002B2C;
  text-align: center;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con .pm-card.pm-card {
  padding: 24px;
  gap: 12px 24px;
  background: #FFFFFF;
  border: 1px solid #D4D5CE;
  border-radius: 16px;
  box-shadow: none;
  transform: none;
  transition: transform 0.18s, box-shadow 0.18s;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con .pm-card.pm-card:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25) !important;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con .pm-card .elementor-icon {
  width: 40px;
  height: 40px;
  font-size: 40px;
  line-height: 40px;
  color: #002B2C;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con .pm-card .elementor-icon-box-title {
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 25.6px;
  color: #002B2C;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con .pm-card .elementor-icon-box-description {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #002B2C;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-2740c47.e-con {
  padding: 96px 32px;
  background: #C1E0DE;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-2740c47.e-con > .e-con-inner {
  max-width: 1344px;
  padding: 72px 32px;
  gap: 28px;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-2740c47.e-con .elementor-element.elementor-element-b6c2a20 .elementor-heading-title {
  font-family: Urbanist, sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 53.76px;
  color: #002B2C;
  text-align: center;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-2740c47.e-con img {
  border-radius: 16px;
  aspect-ratio: 3 / 1;
  object-fit: cover;
}

@media (max-width: 767px) {
  .elementor-316.elementor-316 .elementor-element.elementor-element-8e3b614.e-con {
    padding: 56px 20px;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-8e3b614.e-con > .e-con-inner {
    padding: 48px 18px;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-8e3b614.e-con h2.elementor-heading-title {
    font-size: 26px;
    line-height: 29.12px;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-8e3b614.e-con .elementor-element.elementor-element-2c48bf1 .elementor-heading-title {
    font-size: 14px;
    line-height: 21.7px;
    text-align: left;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con {
    padding: 48px 20px;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con > .e-con-inner {
    padding: 48px 18px;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con h2.elementor-heading-title {
    font-size: 30px;
    line-height: 33px;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con .pm-card.pm-card {
    padding: 20px;
    gap: 18px 24px;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con .pm-card .elementor-icon {
    width: 28px;
    height: 28px;
    font-size: 28px;
    line-height: 28px;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con .pm-card .elementor-icon-box-description {
    font-size: 15px;
    line-height: 22.5px;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-2740c47.e-con {
    padding: 56px 20px;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-2740c47.e-con > .e-con-inner {
    padding: 48px 18px;
    gap: 28px;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-2740c47.e-con .elementor-element.elementor-element-b6c2a20 .elementor-heading-title {
    font-size: 32px;
    line-height: 35.84px;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-2740c47.e-con img {
    aspect-ratio: 16 / 9;
  }
}

.elementor-316.elementor-316 .elementor-element.elementor-element-8e3b614.e-con {
  padding: 64px 32px 40px !important;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-8e3b614.e-con > .e-con-inner {
  max-width: 1344px !important;
  padding: 72px 32px 96px !important;
}

.elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con.elementor-element-8e3b614 > .e-con-inner > .e-con.elementor-element-5a97b6b:has(> .elementor-widget-heading) .elementor-element-d2cc0d4 .elementor-heading-title.elementor-size-default {
  text-align: center !important;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da:not(.elementor-motion-effects-element-type-background).e-con {
  padding: 72px 32px !important;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con > .e-con-inner {
  max-width: 1344px !important;
  padding: 72px 32px !important;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con h2.elementor-heading-title {
  font-size: 50px !important;
  line-height: 55px !important;
}

.elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con.elementor-element-c33b8da .pm-card.pm-card {
  padding: 24px !important;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-2740c47:not(.elementor-motion-effects-element-type-background).e-con {
  padding: 96px 32px !important;
}

.elementor-316.elementor-316 .elementor-element.elementor-element-2740c47.e-con > .e-con-inner {
  max-width: 1344px !important;
  padding: 72px 32px !important;
}

@media (max-width: 767px) {
  .elementor-316.elementor-316 .elementor-element.elementor-element-8e3b614.e-con {
    padding: 56px 20px !important;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-8e3b614.e-con > .e-con-inner {
    padding: 48px 18px !important;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da:not(.elementor-motion-effects-element-type-background).e-con {
    padding: 48px 20px !important;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con > .e-con-inner {
    padding: 48px 18px !important;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con h2.elementor-heading-title {
    font-size: 30px !important;
    line-height: 33px !important;
  }

  .elementor.elementor-316[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con.elementor-element-c33b8da .pm-card.pm-card {
    padding: 20px !important;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-2740c47:not(.elementor-motion-effects-element-type-background).e-con {
    padding: 56px 20px !important;
  }

  .elementor-316.elementor-316 .elementor-element.elementor-element-2740c47.e-con > .e-con-inner {
    padding: 48px 18px !important;
  }
}
/* ===== E-130 (2026-09-01) parity hero and lead alignment ===== */
/* Measured live after E-120 to E-129 landed. On all five pages the hero heading, the hero
   eyebrow and, on nursing, two lead paragraphs still computed text align center, where the
   home hero and intro are left aligned.

   Winning competitor, already in post 90, applies to every internal page at every width:
   .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con > .e-con-inner > .e-con:has(> .elementor-widget-heading) .elementor-heading-title
   specificity 0,8,0 with center and important.

   The parity files reached only 0,7,1 for the four hero cases and 0,5,0 for the nursing intro
   lead, so the center declaration kept winning.

   This block copies the competitor's own path, adds the page class, and constrains the first
   step to the hero, reaching 0,10,0, and gives the nursing intro lead 0,9,0. Both beat 0,8,0.
   Scope is the hero of five pages plus one named nursing widget, so no centred heading
   elsewhere on any page is touched. */

.elementor.elementor-298[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:has(> .elementor-widget-heading) .elementor-heading-title,
.elementor.elementor-300[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:has(> .elementor-widget-heading) .elementor-heading-title,
.elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:has(> .elementor-widget-heading) .elementor-heading-title,
.elementor.elementor-310[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:has(> .elementor-widget-heading) .elementor-heading-title,
.elementor.elementor-312[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:has(> .elementor-widget-heading) .elementor-heading-title {
  text-align: left !important;
}

.elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element.elementor-element-6eb8f12.elementor-widget-heading .elementor-heading-title.elementor-size-default {
  text-align: left !important;
}
/* ===== E-131 (2026-09-01) parity nursing mobile card body and lead ===== */
/* Both found by re measuring every declaration EDITS-PARITY-nursing.css authors against the
   live computed style at 390, and both confirmed with the CDP matched styles API.

   1. Card body in section 784059e computed 16px and 24px where home's mobile card body is
      15px and 22.5px. Cause: a pre existing post 90 rule
      .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="0fd5ea9"], ... [data-id="784059e"] ...) .elementor-icon-box-description
      at 0,5,0 carries font size 16px important and line height 1.5 important, and 1.5 of 16px
      is exactly the 24px observed. The parity file authored 15px and 22.5px without important,
      so it could not win at any specificity. The four pages authored by lane 19a use important
      throughout and are unaffected; the lane 19b family is not.

   2. The coverage lead b8f4b4a computed center where home's mobile lead is left. Cause: the
      same 0,8,0 important center rule E-130 documents. The parity file reached 0,5,0.

   Both are scoped to page 302 and to one named section or widget, and both sit inside the
   600px block so the desktop values, which already match, are untouched. */

@media (max-width: 600px) {
  .elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="784059e"]) .elementor-icon-box-description {
    font-size: 15px !important;
    line-height: 22.5px !important;
  }

  .elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) .elementor-element.elementor-element-b8f4b4a.elementor-widget-heading .elementor-heading-title.elementor-size-default {
    text-align: left !important;
  }
}
/* ===== E-132 (2026-09-01) parity solutions numbered card grid mobile stack ===== */
/* Measured at 390 on the live page: grid d45f54a inside section 5f0fbc7 renders THREE columns
   of 91.33px each, so the six numbered cards are 91px wide on a phone. Home has no multi column
   card grid at 390 at all; its only two column grid at that width is the stat strip.

   Cause, from the CDP matched styles: Elementor's own responsive setup for this container is
   correct and declares repeat(2, 1fr) at 1024 and repeat(1, 1fr) at 767 through the
   e con grid template columns variable. A pre existing post 90 rule
   .elementor-298 .elementor-element.elementor-element-d45f54a.e-con
   at 0,4,0 sets grid template columns repeat(3,1fr) important and gap 20px important with NO
   media query, so it forces three columns at every width and defeats the stack.

   This block restores Elementor's own declared intent below 1024 only, at 0,5,0 important, and
   uses the home 24px card grid gap on mobile. The desktop three across layout is untouched. */

@media (max-width: 1024px) {
  .elementor-298.elementor-298 .elementor-element.elementor-element-d45f54a.e-con {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 767px) {
  .elementor-298.elementor-298 .elementor-element.elementor-element-d45f54a.e-con {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}
/* ===== E-133 (2026-09-01) parity specialties numbered card numeral ===== */
/* Measured on the live page with a Range around the numeral text, so these are painted glyph
   boxes and not element boxes:

   page          width  card overflow  numeral box left  painted glyph left  alignment
   home          1440   hidden         negative 9px      plus 33px           center
   solutions     1440   hidden         negative 9px      plus 33px           center
   specialties   1440   hidden         negative 9px      negative 9px        start
   home           390   hidden         negative 9px      plus 13px           center
   solutions      390   hidden         negative 9px      plus 13px           center
   specialties    390   hidden         negative 9px      negative 9px        start

   Every numeral widget carries a 10px negative left margin from Elementor, so its element box
   always starts just outside the card. Home and solutions survive that because a pre existing
   post 90 rule centres the numeral inside its own full width box, which pushes the glyph well
   inside the card. Specialties section 4b2d93c was never covered by that rule, so its numeral
   paints at the box origin and the card's overflow hidden cuts 9px off the leading zero.

   This is the one visible break between specialties and home in the numbered card grid. The
   rule mirrors the shape of the existing solutions rule and applies the same centred value. */

.elementor-300.elementor-300 .elementor-element.elementor-element-4b2d93c .pm-cardnum {
  text-align: center !important;
}
/* ===== E-134 (2026-09-01) parity closing CTA content card at desktop ===== */
/* Measured live on the closing band of every page, computed values:

   page          width  background        padding     border                      shadow  card width
   home          1440   rgb(0,43,44)      44px 48px   0                           yes     840px
   home           390   rgb(0,43,44)      44px 48px   0                           yes     318px
   solutions     1440   transparent       32px        1px rgba(255,255,255,0.17)  none    1280px
   solutions      390   rgb(0,43,44)      44px 48px   0                           yes     318px
   specialties   1440   transparent       32px        1px rgba(255,255,255,0.17)  none    1280px
   who-we-serve  1440   transparent       32px        1px rgba(255,255,255,0.17)  none    1280px
   why-promed    1440   transparent       32px        1px rgba(255,255,255,0.17)  none    1280px
   nursing       1440   transparent       32px        1px rgba(255,255,255,0.17)  none    1280px
   nursing        390   transparent       30px        1px rgba(255,255,255,0.17)  none    318px

   Two gaps. First, the lane 19a and 19b files authored the home dark card only inside their
   mobile block, so at 1440 every internal page shows a full width transparent outlined box where
   home shows a centred solid dark panel. Second, nursing's card 3329cc5 was never covered at all,
   so it is wrong at both widths.

   The full width comes from a pre existing post 90 rule at 0,8,0 that sets width 100 percent,
   max width 100 percent and flex 0 0 100 percent important on any
   > .e-con > .e-con-inner > .e-con:has(> .elementor-widget-heading), which is exactly this card.

   This block names each page's closing band and its card, reaching 0,9,0, and applies the values
   home itself computes. The values are identical to the ones the parity files already apply at
   390, so this extends the treatment the same authors chose, and it closes nursing.

   Proven by injection first at 1440 and 390 on solutions, nursing and who-we-serve: all six
   measured 840px and 318px, rgb(0,43,44), 44px 48px, 16px, and home's shadow. */

.elementor.elementor-298[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con.elementor-element-f74fd06 > .e-con-inner > .e-con.elementor-element-ec5fd14,
.elementor.elementor-300[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con.elementor-element-f785dfd > .e-con-inner > .e-con.elementor-element-1374669,
.elementor.elementor-310[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con.elementor-element-c08dba7 > .e-con-inner > .e-con.elementor-element-e59de48,
.elementor.elementor-312[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con.elementor-element-56c3528 > .e-con-inner > .e-con.elementor-element-81dff2a,
.elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con.elementor-element-0067777 > .e-con-inner > .e-con.elementor-element-3329cc5 {
  max-width: 840px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 44px 48px !important;
  background-color: #002B2C !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 24px 64px rgba(0, 43, 44, 0.35) !important;
}
/* ===== E-135 (2026-09-01) parity who-we-serve facility panels as home cards ===== */
/* PARITY-who-we-serve.md item 2: "Element 6cc2830 is a long sequence of facility panels inside
   grid wrapper 32b6893, while home 92a7d1f uses six independent numbered motion cards. CSS
   aligns the wrapper and section tokens. Independent card parity needs the five facility panels
   to receive the home card classes in Elementor."

   Measured before: at 1440 the wrapper is white with no border or radius, padding 48px 32px and
   gap 0, and each of the five panels 422df71, 31c1302, 88c7596, ac9b937 and 3146d21 is
   transparent with no border and 26px 0 26px 26px padding, so the section reads as a divider
   separated list rather than home's card grid. At 390 the WRAPPER carried the card surface
   instead, so the whole list was one card.

   Shipped as CSS rather than as the class edit the note suggests, because every pm card rule in
   post 90 is scoped to a named section list that does not include 6cc2830, so adding the class
   alone would have applied nothing. These are the same home values those rules carry.

   After, proven by injection at both widths: each panel is an independent card with home's
   surface, padding 24px at 1440 and 20px at 390, and home's hover, separated by home's 24px card
   gap, and the wrapper's own card surface is removed below 768 so cards are never nested. */

.elementor-310.elementor-310 .elementor-element.elementor-element-32b6893 {
  gap: 24px !important;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-32b6893 > .e-con {
  padding: 24px !important;
  background-color: #FFFFFF !important;
  border: 1px solid #D4D5CE !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  transition: transform 0.18s, box-shadow 0.18s;
}

.elementor-310.elementor-310 .elementor-element.elementor-element-32b6893 > .e-con:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25) !important;
}

@media (max-width: 767px) {
  .elementor-310.elementor-310 .elementor-element.elementor-element-32b6893.e-con.e-con {
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .elementor-310.elementor-310 .elementor-element.elementor-element-32b6893 > .e-con {
    padding: 20px !important;
  }
}
/* ===== E-136 (2026-09-01) parity fixups F, pages 304 306 308 314 316 =====
   Authored by applier F as E-133 and renumbered to E-136 by applier G, because applier E
   consumed E-133, E-134 and E-135 on template 90 while this file was being written.
   Only this header line changed; every rule and every comment below is unaltered.
   Four deltas that did not land after E-125 to E-129 went live at ?ver=1788306382.
   Each rule copies the winning competitor and adds one class token.
   No colour values are introduced, so the palette scan is trivially clean. */

/* F1. Cards grid H2 at 390.
   Home 2189699 is 30px with 33px line at 390. Imaging ff31be8, rehab 5fee62b and
   lab pharmacy 9c5d01d all read 44px with 48.4px line, four lines instead of two.
   Winner: .elementor[data-elementor-type="wp-page"]:not(.elementor-296)
           > :is([data-id="0fd5ea9"], ... , [data-id="c33b8da"]) h2.elementor-heading-title
   at 0,5,1 with font-size 44px important inside @media (max-width: 1024px).
   No rule for these three sections existed at 767, so nothing was overridden and the
   1024 value carried through to 390.
   Added token: the page class. New specificity 0,6,1, important preserved. */
@media (max-width: 767px) {
  .elementor-304.elementor-304 .elementor-element.elementor-element-ff31be8.e-con h2.elementor-heading-title,
  .elementor-306.elementor-306 .elementor-element.elementor-element-5fee62b.e-con h2.elementor-heading-title,
  .elementor-308.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con h2.elementor-heading-title {
    font-size: 30px !important;
    line-height: 33px !important;
  }
}

/* F2. Closing band content card width at 1440.
   Home 9ddbd33 is 840px wide and centred at x 300 inside the 1344px inner.
   Imaging 4932e94, rehab 06e065c, lab pharmacy 3c318f3 and faq 009f3af all read
   1280px at x 80, so the card spans the full inner instead of the home measure.
   Winner: .elementor[data-elementor-type="wp-page"]:not(.elementor-296)
           > .e-con > .e-con-inner > .e-con:has(> .elementor-widget-heading)
   at 0,7,0 with max-width 100 percent important. The element level custom css sits at
   0,3,0 so it cannot reach it.
   Added tokens: the page class and the element class. New specificity 0,9,0. */
.elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con > .e-con-inner > .e-con.elementor-element-4932e94:has(> .elementor-widget-heading),
.elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con > .e-con-inner > .e-con.elementor-element-06e065c:has(> .elementor-widget-heading),
.elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con > .e-con-inner > .e-con.elementor-element-3c318f3:has(> .elementor-widget-heading),
.elementor.elementor-314[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con > .e-con-inner > .e-con.elementor-element-009f3af:has(> .elementor-widget-heading) {
  max-width: 840px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* F2b. Faq only. The faq band carries two zero width html widgets beside the card
   (c7ba6ef and 5271301, both measured 0 by 243.36 at 1440), so the 20px row gap is paid
   twice and pushes the centred card to x 280 where home sits at x 300. Home has a single
   child so its own 20px gap is never spent. Zeroing the column gap on this one inner
   reproduces the home geometry and changes nothing else, since both siblings are 0 wide.
   Winner on the inner: .elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con
   > .e-con-inner at 0,6,0. Added token: the doubled inner class. New specificity 0,7,0. */
.elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con > .e-con-inner.e-con-inner {
  column-gap: 0 !important;
}

/* F3. Faq closing card vertical offset.
   Home 9ddbd33 carries margin top 96px at 1440, 72px at tablet and 160px at 390 so the
   photograph reads above the card. Faq 009f3af read 0 at both widths.
   Imaging, rehab and lab pharmacy already carry this from their element edit.
   No competitor sets margin top on this element, so one scoped rule at 0,5,0 is enough. */
.elementor-314.elementor-314 .elementor-element.elementor-element-009f3af.e-con {
  margin-top: 96px !important;
}

@media (max-width: 1024px) {
  .elementor-314.elementor-314 .elementor-element.elementor-element-009f3af.e-con {
    margin-top: 72px !important;
  }
}

@media (max-width: 767px) {
  .elementor-314.elementor-314 .elementor-element.elementor-element-009f3af.e-con {
    margin-top: 160px !important;
  }
}

/* F4. Request staff split image ratio.
   Home 88af54b is 1280 by 426.66 at 1440, an exact 3 to 1, and 314 by 176.63 at 390,
   an exact 16 to 9. Request staff 07f1c35 read 1280 by 500 and 314 by 165 because an
   explicit pixel height outranks the aspect ratio E-129 set.
   Winner: .elementor-316 .elementor-element.elementor-element-07f1c35 img
   at 0,3,0 with height 500px and no importance.
   Added token: the doubled page class. New specificity 0,4,0. The aspect ratio already
   in place then drives the box at both widths. */
.elementor-316.elementor-316 .elementor-element.elementor-element-07f1c35 img {
  height: auto !important;
}

/* F5. Closing band photograph crop anchor.
   E-119 moved the home closing band from center 32 percent to center center and moved
   its photograph onto a pseudo element, so the locked home crop is now centred. The four
   internal closing bands were still anchored at 50 percent 32 percent, a crop measured
   against the home as it stood before E-119 landed.
   Winner: .elementor-30x .elementor-element.elementor-element-<band>.e-con at 0,4,0 with
   background-position 50 percent 32 percent and no importance, from the element custom css.
   Added token: the doubled page class. New specificity 0,5,0, important added.
   Proven visually at 1440 on imaging: at 32 percent the clinicians are cut by the card,
   at center they clear it, which is how the home band reads.
   The Ken Burns motion E-119 gave the home band is deliberately NOT copied here; that is a
   home polish item, not a parity item. */
.elementor-304.elementor-304 .elementor-element.elementor-element-958e0e7.e-con,
.elementor-306.elementor-306 .elementor-element.elementor-element-f6f32b3.e-con,
.elementor-308.elementor-308 .elementor-element.elementor-element-3b00a8b.e-con,
.elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con {
  background-position: center center !important;
}
/* ===== E-137 (2026-09-01) FAQ page: single column, question list, accordion contract ===== */
/* Authored by Sol lane 24 as E-135 and renumbered to E-137 by applier G, because applier E
   had already shipped E-130 to E-135 on template 90. Only this header changed. */

/* Competitor `.elementor[data-elementor-type="wp-page"] > .e-con-boxed > .e-con-inner`, specificity (0, 4, 0), uses 1344px with important. New .elementor-90s copy it and add the section class, specificity (0, 5, 0). BEFORE question area 1280px at 1440. AFTER outer area 944px with 32px gutters, yielding an 880px question column. */
.elementor[data-elementor-type="wp-page"] > .e-con-boxed.elementor-element-f7bfeda > .e-con-inner,
.elementor[data-elementor-type="wp-page"] > .e-con-boxed.elementor-element-11f4ffa > .e-con-inner,
.elementor[data-elementor-type="wp-page"] > .e-con-boxed.elementor-element-1b6c9f7 > .e-con-inner,
.elementor[data-elementor-type="wp-page"] > .e-con-boxed.elementor-element-d6905b1 > .e-con-inner,
.elementor[data-elementor-type="wp-page"] > .e-con-boxed.elementor-element-40ab3b4 > .e-con-inner {
  max-width: 944px !important;
}

/* Competitor `.elementor-314 .elementor-element.elementor-element-0f497e0`, specificity (0, 3, 0), supplies two columns and 2em gaps. Each new .elementor-90 adds `.e-grid`, specificity (0, 4, 0). BEFORE 624px 624px at 1440. AFTER one minmax column and a 12px row gap. */
.elementor-314 .elementor-element.elementor-element-0f497e0.e-grid,
.elementor-314 .elementor-element.elementor-element-06fa4de.e-grid,
.elementor-314 .elementor-element.elementor-element-6a26e79.e-grid,
.elementor-314 .elementor-element.elementor-element-4d2b974.e-grid,
.elementor-314 .elementor-element.elementor-element-12cb6a8.e-grid {
  --e-con-grid-template-columns: minmax(0, 1fr);
  --e-con-grid-template-rows: auto;
  --row-gap: 12px;
  --column-gap: 0px;
}

/* Competitor is the matching section card .elementor-90 in template 90, specificity (0, 6, 0). The added repeated card class gives (0, 7, 0). BEFORE and AFTER use white, a 1px grey hairline, 16px radius, and no resting shadow. AFTER aligns every card gap to 12px. */
.elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con .elementskit-card.elementskit-card,
.elementor-314.elementor-314 .elementor-element.elementor-element-11f4ffa.e-con .elementskit-card.elementskit-card,
.elementor-314.elementor-314 .elementor-element.elementor-element-1b6c9f7.e-con .elementskit-card.elementskit-card,
.elementor-314.elementor-314 .elementor-element.elementor-element-d6905b1.e-con .elementskit-card.elementskit-card,
.elementor-314.elementor-314 .elementor-element.elementor-element-40ab3b4.e-con .elementskit-card.elementskit-card {
  overflow: hidden;
  padding: 0;
  background: #FFFFFF;
  border: 1px solid #D4D5CE;
  border-radius: 16px;
  box-shadow: none;
  transform: none;
  transition: transform 240ms ease, box-shadow 240ms ease;
}

.elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con .elementskit-card.elementskit-card:not(:last-child),
.elementor-314.elementor-314 .elementor-element.elementor-element-11f4ffa.e-con .elementskit-card.elementskit-card:not(:last-child),
.elementor-314.elementor-314 .elementor-element.elementor-element-1b6c9f7.e-con .elementskit-card.elementskit-card:not(:last-child),
.elementor-314.elementor-314 .elementor-element.elementor-element-d6905b1.e-con .elementskit-card.elementskit-card:not(:last-child),
.elementor-314.elementor-314 .elementor-element.elementor-element-40ab3b4.e-con .elementskit-card.elementskit-card:not(:last-child) {
  margin-bottom: 12px;
}

/* Competitor is the matching section card hover .elementor-90 in template 90, specificity (0, 7, 0). The repeated card class and hover state give (0, 8, 0). BEFORE and AFTER lift 4px and use the home shadow bloom. */
.elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con .elementskit-card.elementskit-card:hover,
.elementor-314.elementor-314 .elementor-element.elementor-element-11f4ffa.e-con .elementskit-card.elementskit-card:hover,
.elementor-314.elementor-314 .elementor-element.elementor-element-1b6c9f7.e-con .elementskit-card.elementskit-card:hover,
.elementor-314.elementor-314 .elementor-element.elementor-element-d6905b1.e-con .elementskit-card.elementskit-card:hover,
.elementor-314.elementor-314 .elementor-element.elementor-element-40ab3b4.e-con .elementskit-card.elementskit-card:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 3px 0 #00ACDC, 0 20px 44px rgba(0, 43, 44, 0.25);
}

/* Competitor `.elementor-314.elementor-314 .elementskit-accordion .elementskit-card.elementskit-card .elementskit-card-header > .ekit-accordion--toggler.elementskit-btn-link`, specificity (0, 8, 0). The repeated header class gives (0, 9, 0). BEFORE Open Sans 20px at 25.6px with 24px padding. AFTER Urbanist 19px at 1.3 with 22px 24px padding. */
.elementor-314.elementor-314 .elementskit-accordion .elementskit-card.elementskit-card .elementskit-card-header.elementskit-card-header > .ekit-accordion--toggler.elementskit-btn-link {
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  padding: 22px 24px;
  background: #FFFFFF;
  border: 0;
  border-radius: 0;
  font-family: Urbanist, sans-serif !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: #002B2C !important;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease !important;
}

/* Competitor is the same trigger rule at (0, 9, 0). Hover adds one pseudo class for (0, 10, 0). BEFORE white. AFTER mint at 35 percent. */
.elementor-314.elementor-314 .elementskit-accordion .elementskit-card.elementskit-card .elementskit-card-header.elementskit-card-header > .ekit-accordion--toggler.elementskit-btn-link:hover {
  background: rgba(193, 224, 222, 0.35);
}

/* Competitor `.ekit-wid-con a`, specificity (0, 1, 1), removes the outline. The scoped focus .elementor-90 has specificity (0, 10, 0). BEFORE outline width 0px. AFTER 2px cyan with 2px offset. */
.elementor-314.elementor-314 .elementskit-accordion .elementskit-card.elementskit-card .elementskit-card-header.elementskit-card-header > .ekit-accordion--toggler.elementskit-btn-link:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid #00ACDC;
  outline-offset: 2px !important;
}

.elementor-314.elementor-314 .elementor-element.e-con .elementskit-card.elementskit-card:focus-within {
  overflow: visible;
}

/* Competitor is the important open trigger colour in page 314, specificity (0, 4, 0). The scoped open .elementor-90 has specificity (0, 10, 0) and keeps the required important priority. BEFORE and AFTER dark. */
.elementor-314.elementor-314 .elementskit-accordion .elementskit-card.elementskit-card .elementskit-card-header.elementskit-card-header > .ekit-accordion--toggler.elementskit-btn-link[aria-expanded="true"] {
  color: #002B2C !important;
}

/* Competitor `.elementor-314.elementor-314 .elementskit-accordion .elementskit-card.elementskit-card .elementskit-card-body.ekit-accordion--content`, specificity (0, 7, 0). The repeated content class gives (0, 8, 0). BEFORE 16px at 24px with 0 24px 24px padding and a 24px closed residue. AFTER 16px at 1.6, open padding of 0 24px 24px, and 0px closed residue. */
.elementor-314.elementor-314 .elementskit-accordion .elementskit-card.elementskit-card .elementskit-card-body.ekit-accordion--content.ekit-accordion--content {
  min-height: 0;
  padding: 0 24px;
  background: #FFFFFF;
  border-radius: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6 !important;
  color: #002B2C !important;
  transition: padding-bottom 240ms ease;
}

.elementor-314.elementor-314 .elementskit-accordion .elementskit-card > .collapse.show .elementskit-card-body.ekit-accordion--content.ekit-accordion--content,
.elementor-314.elementor-314 .elementskit-accordion .elementskit-card > .collapsing .elementskit-card-body.ekit-accordion--content.ekit-accordion--content {
  padding-bottom: 24px;
}

/* Competitor `.elementskit-accordion .elementskit-card > .collapse`, specificity (0, 3, 0). The repeated collapse class and page scope give (0, 6, 0). BEFORE 220ms custom easing. AFTER 240ms ease without a maximum height workaround. */
.elementor-314.elementor-314 .elementskit-accordion .elementskit-card > .collapse.collapse {
  transition: grid-template-rows 240ms ease, visibility 0s linear 240ms;
}

/* ElementsKit owns the animated height while this class exists. BEFORE 350ms ease. AFTER 240ms ease while preserving the widget height value. */
.elementor-314.elementor-314 .elementskit-accordion .elementskit-card > .collapsing.collapsing {
  transition: height 240ms ease;
}

/* Competitor `.elementskit-accordion .ekit_accordion_icon_group`, specificity (0, 2, 0). The page scoped .elementor-90 has specificity (0, 4, 0). BEFORE 180ms and a 20px widget margin. AFTER 240ms ease and no extra margin, placing the icon on the row padding edge. */
.elementor-314.elementor-314 .elementskit-accordion .ekit_accordion_icon_group {
  flex: 0 0 28px;
  margin: 0 !important;
  transition: transform 240ms ease;
}

.elementor-314.elementor-314 .elementskit-accordion .ekit_accordion_normal_icon.ekit_accordion_normal_icon {
  display: block !important;
}

.elementor-314.elementor-314 .elementskit-accordion .ekit_accordion_active_icon.ekit_accordion_active_icon {
  display: none !important;
}

/* Competitor keeps the icon group at rotate 0, specificity (0, 2, 0). The open .elementor-90 has specificity (0, 5, 0). BEFORE no rotation and dark icon. AFTER 180 degree rotation and teal icon. */
.elementor-314.elementor-314 .ekit-accordion--toggler[aria-expanded="true"] .ekit_accordion_icon_group {
  transform: rotate(180deg);
}

.elementor-314.elementor-314 .ekit-accordion--toggler[aria-expanded="true"] .ekit_accordion_icon_group .icon {
  color: #00B3B9 !important;
}

@media (max-width: 768px) {
  /* Competitor is the same trigger .elementor-90 inside the 767px page rule, specificity (0, 8, 0). The repeated header class gives (0, 9, 0). BEFORE 20px with 20px padding at 390. AFTER 17px with 18px 16px padding at 768 and below. */
  .elementor-314.elementor-314 .elementskit-accordion .elementskit-card.elementskit-card .elementskit-card-header.elementskit-card-header > .ekit-accordion--toggler.elementskit-btn-link {
    padding: 18px 16px;
    font-size: 17px !important;
    line-height: 1.3 !important;
  }

  /* Competitor is the same content .elementor-90 inside the 767px template rule, specificity (0, 7, 0). The repeated content class gives (0, 8, 0). BEFORE 15px at 22.5px with 0 20px 20px padding at 390. AFTER 16px at 1.6, open padding of 0 16px 18px, and closed padding of 0 16px. */
  .elementor-314.elementor-314 .elementskit-accordion .elementskit-card.elementskit-card .elementskit-card-body.ekit-accordion--content.ekit-accordion--content {
    padding: 0 16px;
    font-size: 16px;
    line-height: 1.6 !important;
  }

  .elementor-314.elementor-314 .elementskit-accordion .elementskit-card > .collapse.show .elementskit-card-body.ekit-accordion--content.ekit-accordion--content,
  .elementor-314.elementor-314 .elementskit-accordion .elementskit-card > .collapsing .elementskit-card-body.ekit-accordion--content.ekit-accordion--content {
    padding-bottom: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* BEFORE motion remains active. AFTER all E 135 card, panel, trigger, and chevron transitions are removed, and the chevron rotation is removed. */
  .elementor-314.elementor-314 .elementor-element.e-con .elementskit-card.elementskit-card,
  .elementor-314.elementor-314 .elementskit-accordion .elementskit-card > .collapse.collapse,
  .elementor-314.elementor-314 .elementskit-accordion .elementskit-card > .collapsing.collapsing,
  .elementor-314.elementor-314 .elementskit-accordion .elementskit-card .elementskit-card-body.ekit-accordion--content,
  .elementor-314.elementor-314 .elementskit-accordion .elementskit-card.elementskit-card .elementskit-card-header.elementskit-card-header > .ekit-accordion--toggler.elementskit-btn-link,
  .elementor-314.elementor-314 .elementskit-accordion .ekit_accordion_icon_group {
    transition: none !important;
  }

  .elementor-314.elementor-314 .elementor-element.e-con .elementskit-card.elementskit-card:hover,
  .elementor-314.elementor-314 .ekit-accordion--toggler[aria-expanded="true"] .ekit_accordion_icon_group {
    transform: none;
  }
}
/* ===== E-138 (2026-09-01) mobile card body parity on 304, 306, 308 ===== */
/* Fable's instruction: applier E found the card body computing 16px with a 24px line where
   home computes 15px with a 22.5px line, and closed it for nursing only as E-131. Same
   measurement repeated on imaging, rehab and lab pharmacy after E-136 landed, and then
   swept across eleven widths rather than assuming a breakpoint:

   width            390  599  600  601  700  767  768  1024  1025  1200  1440
   home 2189699      15   15   15   15   15   15   15    15    16    16    16
   nursing 784059e   15   15   15   16   16   16   16    16    16    16    16
   imaging ff31be8   16   16   16   16   16   16   16    16    16    16    16
   rehab 5fee62b     16   16   16   16   16   16   16    16
   lab pharmacy
        9c5d01d      16   16   16   16   16   16   16    16

   Home steps down to 15px with a 22.5px line at 1024 and below, and holds 16px with a 24px
   line above it. The three pages here never step down at all.

   Cause is the one applier E documented: a pre existing post 90 rule
   .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="0fd5ea9"], ...
   [data-id="ff31be8"], [data-id="5fee62b"], [data-id="9c5d01d"], ...) .elementor-icon-box-description
   at 0,5,0 carries font size 16px important and line height 1.5 important, and 1.5 of 16px is
   exactly the 24px observed. The parity files authored 15px and 22.5px without important, so
   they could not win at any specificity.

   Selector shape copies E-131 exactly and adds the page class, reaching 0,6,0 with important,
   which beats 0,5,0. The block sits inside the breakpoint the measurement shows, 1024, which
   is where home itself steps down, so desktop is untouched on all three pages.

   Recorded for Fable, not fixed here because it is outside this block's named scope: E-131
   used a 600px block, so nursing 784059e still reads 16px with a 24px line from 601 to 1024
   where home reads 15px with a 22.5px line. One line closes it, the nursing .elementor-90 moved
   into this same 1024 block. */
@media (max-width: 1024px) {
  .elementor.elementor-304[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="ff31be8"]) .elementor-icon-box-description,
  .elementor.elementor-306[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="5fee62b"]) .elementor-icon-box-description,
  .elementor.elementor-308[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="9c5d01d"]) .elementor-icon-box-description {
    font-size: 15px !important;
    line-height: 22.5px !important;
  }
}
/* ===== E-139 (2026-09-01) nursing card body, the E-131 residual from 601 to 1024 ===== */
/* Applier G handed this back as open item 1 of FINAL-STATE.md and item 6.1 of
   LANE23-FINAL-REPORT.md. E-131 closed the nursing card body inside a 600px block, but the
   measurement that block was built on came from 390 only. Home actually steps its card body
   down at 1024, not at 600, which is what E-138 established across eleven widths for imaging,
   rehab and lab pharmacy. Nursing was left on the narrower block.

   Measured live before this block, home 2189699 against nursing 784059e:

     width      390  600  601  700  900  1024  1025  1200  1440
     home        15   15   15   15   15    15    16    16    16
     nursing     15   15   16   16   16    16    16    16    16

   So the residual is exactly 601 to 1024 inclusive, and above 1024 the two already agree.

   The competitor is unchanged from the one E-131 and E-138 both name, a pre existing post 90
   rule .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="0fd5ea9"],
   ... [data-id="784059e"], ...) .elementor-icon-box-description at 0,5,0 carrying font size
   16px important and line height 1.5 important, and 1.5 of 16px is the 24px measured.

   This block copies E-131's .elementor-90 verbatim, which reaches 0,6,0 with important by adding
   the page class, and only widens the media query from 600 to 1024 so it covers the whole band
   home itself covers. Below 601 it restates what E-131 already sets, so the two agree rather
   than fight. Above 1024 nothing here applies and desktop is untouched. */
@media (max-width: 1024px) {
  .elementor.elementor-302[data-elementor-type="wp-page"]:not(.elementor-296) > :is([data-id="784059e"]) .elementor-icon-box-description {
    font-size: 15px !important;
    line-height: 22.5px !important;
  }
}
/* ===== E-140 (2026-09-01) footer legal links reach 44px from 768 up ===== */
/* The four width gate saw these for the first time at 768 and reported them on all eleven
   pages: TAP a[el=651d255] 87x21 below 44x44 "Privacy Policy" and 108x21 "Terms of Service".
   They are not a regression. E-80 gave them the 44px treatment inside a max-width 767px block,
   so the treatment simply stops one pixel below the width the gate measures.

   Measured live before this block, home footer, links and the bar that holds them:

     width   Privacy Policy   Terms of Service   min-height   .pmlegal bar
     390     74.95 x 44       92.31 x 44         44px         163
     430     74.95 x 44       92.31 x 44         44px         163
     767     74.95 x 44       92.31 x 44         44px         163
     768     87.45 x 21       107.69 x 21        auto         125
     800     87.45 x 21       107.69 x 21        auto         125
     1024    87.45 x 21       107.69 x 21        auto         90
     1440    87.45 x 21       107.69 x 21        auto         90

   Why a plain min-height is not enough here. The bar is
   div.pmlegal (flex, padding 34px 0) > div.pmlegal-left (flex) > p.pmlegal-links (flex) > the
   two anchors, with a 1 by 13 separator between them and p.pmlegal-flag beside them. Every one
   of those boxes is 21px tall and each takes its height from the anchors. Raising the anchors
   to 44 alone raises pmlegal-links, pmlegal-left and then the bar itself to 112 at 1024 and 147
   at 768, a 22px change, which is outside the 8px this fix is allowed.

   So the anchors take the hit area and give the layout back. min-height 44px makes each anchor
   a real 44px pointer target, and a -11.5px block margin removes the 23px it added from the
   flex line, leaving pmlegal-links, pmlegal-left and the bar at the exact heights measured
   above. Nothing moves, nothing repaints, and the anchor box the browser hit tests is 44px tall.
   This is the same idea E-80 already used one block earlier for the four social icons, where
   the hit area went to 44 by 44 while the painted disc stayed 34 by 34.

   The 11.5px the anchor gains on each side lands inside the bar's own 34px padding above and,
   at 768, inside the 14px row gap above p.pmlegal-flag, so the enlarged target overlaps no
   other interactive element at any width.

   Competitor: .elementor-location-footer .pmlegal-links a from E-80 at 0,2,1.
   This rule: .elementor-location-footer.elementor-90 .pmlegal-links a at 0,3,1, which is E-80's
   own .elementor-90 with one class token added, the shape that block already uses for its icon list
   and social icon rules.

   The block starts at 768 so E-80 keeps sole ownership of 767 and below, where the links are
   already 44px tall and the bar is deliberately 163px. Nothing about phone widths changes. */
@media (min-width: 768px) {
  .elementor-location-footer.elementor-90 .pmlegal-links a {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    margin-block: -11.5px !important;
  }
}
/* ===== E-141 (2026-09-01) internal hero scrim, the 901 to 1024 band ===== */
/* Sol's closing audit names this the single biggest reason the front end is not production
   ready. The four width gate reports seven contrast rows at 1024, one per page, all of them the
   secondary heading that sits under the H1 on an internal hero photograph:

     page           element   colour                        worst   unsafe
     specialties    458b9ab   rgb(212,213,206)  18px/600     2.931    4.96%
     imaging        6fcc0ec   rgba(255,255,255,.86) 18/400   3.582   25.97%
     rehab          7d64681   rgba(255,255,255,.86) 18/400   4.149    9.76%
     lab-pharmacy   9c3b05b   rgba(255,255,255,.86) 18/400   3.584    7.91%
     who-we-serve   eb6f832   rgba(255,255,255,.86) 18/600   3.489   18.96%
     why-promed     56cd20b   rgba(255,255,255,.86) 18/600   3.320   20.19%
     faq            5590908   rgb(212,213,206)  18px/600     3.700   19.44%

   Measured across the width range before writing anything, every one of the seven passes at
   900, fails at 901, fails at 1024 and passes again at 1025, 1200 and 1440. So the defect is a
   band, not a page, and the band is exactly 901 to 1024.

   Cause, and it is entirely in CSS. E-70 gives every internal hero two gradient layers over the
   photograph. Above 900 the ::before runs
     linear-gradient(90deg, rgba(0,43,44,.78), rgba(0,43,44,.48) 55%, rgba(0,43,44,.24))
   which fades out towards the right because at desktop the hero is two columns and the copy
   never reaches that side. At 1024 and below Elementor collapses the hero to one column, so the
   heading now runs the full frame and its right hand words land on the .24 end. E-70 already
   anticipated this and carries a denser flat scrim,
     linear-gradient(90deg, rgba(0,43,44,.78), rgba(0,43,44,.60))
   but it put it in a max-width 900px block, one breakpoint short of the 1024 where the layout
   actually changes. 901 to 1024 is the gap between the two.

   Fix, the same treatment E-114 chose for the same class of defect: deepen the overlay stop
   rather than recolour the text, so the warm grey and the 0.86 white stay exactly as designed
   and only the scrim under them changes. This block restates E-70's own narrow width gradient,
   value for value, across 901 to 1024, so the whole single column range now carries one
   consistent scrim instead of two. Nothing above 1024 is touched, so the desktop hero keeps the
   lighter right hand fade and the photograph reads through it as before.

   Competitor: E-70's
   .elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"]::before
   at 0,6,1. This rule doubles the leading .elementor class to reach 0,7,1, the shape E-114 used
   for .pm-closing.pm-closing::before, so it wins on specificity and not on source order.

   Colour: rgba(0,43,44,alpha) is #002B2C, on palette. No new colour is introduced. */
@media (min-width: 901px) and (max-width: 1024px) {
  .elementor.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child[class*="elementor-element-"]::before {
    background-image: linear-gradient(90deg, rgba(0,43,44,.78), rgba(0,43,44,.60)) !important;
  }
}
/* ===== E-142 (2026-09-02) home hero scrim, the 768 to 900 band ===== */
/* Sol's closing audit finding 3. The gate reports three contrast rows on the home hero at 768,
   and only at 768, and all three are copy that runs across the photograph:

     element   run                                        colour                  worst   unsafe
     0f7ffa0   "See Our Solutions" ghost button label     rgb(255,255,255) 13/600  3.239   26.39%
     b9a16f2   the hero paragraph                         rgba(255,255,255,.86) 18 2.466   11.87%
     09dff63   "Credentialed professionals. Contracts..." rgba(255,255,255,.72) 14 1.932   45.88%

   0f7ffa0 is a ghost button over the photograph, not one of the white labels on a solid orange
   or teal fill that LD-031 accepts, so it stays gated and it is fixed here.

   Measured across the width range before writing anything, with every backdrop image decoded
   before sampling so a half painted hero could not report a false pass:

     width  hero box     0f7ffa0        b9a16f2        09dff63
     390    390 x 1432   10.597  0%     5.762  0%      5.591  0%
     600    600 x 1107   10.615  0%     5.240  0%      3.457  11.12%
     700    700 x 1107   10.795  0%     5.381  0%      3.850   0.78%
     767    767 x 1107   10.941  0%     5.637  0%      3.942   0.25%
     768    768 x 1135    3.236 26.83%  2.436 12.06%   1.949  45.34%
     800    800 x 1135    3.360 22.38%  2.576 11.01%   1.969  42.81%
     900    900 x 1135    3.375 20.71%  2.666 10.43%   2.002  42.87%
     950    950 x  900    7.694  0%     4.805  0%      5.915   0%
     1024  1024 x  900    7.558  0%     4.754  0%      6.212   0%
     1440  1440 x  900   12.623  0%     4.474  0%      5.914   0%

   The failing band is exactly 768 to 900, and it is a layout band: the hero box is 1135px tall
   there and the copy runs the full frame, where at 950 and above it is 900px tall and at 767 and
   below it is 1107px.

   Cause, same shape as E-141 one block earlier. The scrim that actually covers the photograph is
   the video container ::before, measured at 768 by 1135 sitting at 0,0 over the whole hero, and
   it runs linear-gradient(90deg, rgba(0,43,44,.78) 0%, rgba(0,43,44,.24) 80%). That fade to .24
   was designed for the desktop hero, where the copy occupies the left column and the clinician
   photograph is meant to read on the right. E-114 already deepened this exact layer, but only
   inside a min-width 901px block, so 768 to 900 kept the light end while the copy moved across
   it. Viewed at 768 the paragraph, the ghost button and the caption all run over the bright
   white coat on the right of the frame.

   Fix, chosen by measurement rather than by taste. Four densities were injected and sampled at
   768 before anything was written:

     scrim                    0f7ffa0        b9a16f2        09dff63
     unchanged                 3.239 26.39%   2.466 11.87%   1.932 45.88%
     .78 to .60                6.509  0%      5.221  0%      3.954  3.19%
     .86 to .74                8.853  0%      6.930  0%      5.183  0%
     .90 to .82               10.643  0%      8.174  0%      6.079  0%
     .92 to .88               11.685  0%      9.184  0%      6.763  0%

   .78 to .60, which is the density E-70 and E-141 use for a single column hero, still leaves the
   14px caption at 3.954 with 3.19 percent unsafe. .86 to .74 is the lightest scrim that clears
   every run with margin, so it is the one shipped: it is the least the photograph has to give up.

   Competitor: E-114's own .elementor-90 at 0,6,1. This block reuses it verbatim and changes only the
   media query, so there is no specificity contest, only two adjacent bands.

   Colour: rgba(0,43,44,alpha) is #002B2C, on palette. No new colour is introduced. */
@media (min-width: 768px) and (max-width: 900px) {
  .elementor-296 .elementor-element.elementor-element-e868dd1 > .e-con-inner > .elementor-background-video-container.elementor-background-video-container::before {
    background-image: linear-gradient(90deg, rgba(0,43,44,.86), rgba(0,43,44,.74)) !important;
  }
}
/* ===== E-143 (2026-09-02) nursing content image, whole frame at 767 and below ===== */
/* Sol's closing audit finding 6, the only photography defect left open. Nursing widget 6d0b45e
   at 390 renders a 314 by 300 box with `object-fit: cover` and `object-position: 0% 50%` over
   `Male-and-Female-Nurse-2`, a 1200 by 628 two person composition. Screenshotted and viewed
   before anything was written: the woman is complete and the man is cut through the face at the
   right edge. The acceptance rule is that no content image may show a cropped head.

   The frame is 314 by 300, so a cover crop shows 658 of the 1200 source pixels, 55 percent of
   the width. The two heads span roughly 200 to 1100, which is 900 pixels. No object position can
   fit 900 pixels of subject into a 658 pixel window, which is exactly what Sol wrote.

   Attachment 1538, Male-and-Female-Nurse-6, was tried first as the brief instructed. Rendered
   into this frame and viewed at both widths: at 390 only the man is in frame and the woman is
   outside it entirely, and at 1440 the woman is cut through the face, which is a NEW cropped
   head at a width that is correct today. A shifted object position of 84 percent puts the man's
   head under the "5 Nursing designations we place" badge. So the swap trades one defect for a
   worse one and the brief's fallback applies.

   Fallback, as briefed: show the whole photograph. `object-fit: contain` on a #C1E0DE ground at
   767 and below fits the complete 1200 by 628 frame inside the 314 by 300 box, so both faces are
   whole and nothing is cut. #C1E0DE is the pale teal already used across the system, so the
   letterbox reads as a card ground rather than as a gap. Above 767 nothing changes, and the
   desktop crop that Sol confirmed as correct is untouched.

   Competitor: the widget's own generated rule in post-302.css,
   `.elementor-302 .elementor-element.elementor-element-6d0b45e img` at 0,3,1 with no important,
   carrying width 100 percent, height 450px, object-fit cover, object-position center left and a
   16px radius, plus the 550px and 300px height overrides at the tablet and mobile breakpoints.
   This rule doubles the element id class to reach 0,4,1 and adds important, so it wins on
   specificity and leaves every other declaration the widget sets in place, the heights and the
   radius included.

   Colour: #C1E0DE, on palette. */
@media (max-width: 767px) {
  .elementor-302 .elementor-element.elementor-element-6d0b45e.elementor-element-6d0b45e img {
    object-fit: contain !important;
    background-color: #C1E0DE !important;
  }
}
/* ===== E-144 (2026-09-02) internal parity at 1024 and 768, nursing H2 at 390 ===== */
/* Renumbered by applier H. Sol lane 19d authored this file as E-139. Applier H had already
   shipped E-139 to E-143 on template 90 while this file was being written, so appending it as
   authored would have put the E-139 header in the sheet twice. Body is byte identical to
   EDITS-PARITY-MID.css from line two onward, proven by diff. Only the header line changed.
   Note on overlap: applier H E-139 sets the same 15px and 22.5px card body on nursing 784059e
   inside the same 1024 block that this file sets at higher specificity. The values are
   identical, so the two agree rather than compete. */

@media (max-width: 1024px) {
  .elementor-298.elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con,
  .elementor-300.elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con,
  .elementor-302.elementor-302.elementor-302 .elementor-element.elementor-element-784059e.e-con,
  .elementor-304.elementor-304.elementor-304 .elementor-element.elementor-element-ff31be8.e-con,
  .elementor-306.elementor-306.elementor-306 .elementor-element.elementor-element-5fee62b.e-con,
  .elementor-308.elementor-308.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con,
  .elementor-310.elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con,
  .elementor-312.elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con,
  .elementor-314.elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con,
  .elementor-316.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da:not(.elementor-motion-effects-element-type-background).e-con {
    padding: 56px 24px !important;
  }

  .elementor-298.elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con > .e-con-inner.e-con-inner,
  .elementor-300.elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con > .e-con-inner.e-con-inner,
  .elementor-302.elementor-302.elementor-302 .elementor-element.elementor-element-784059e.e-con > .e-con-inner.e-con-inner,
  .elementor-304.elementor-304.elementor-304 .elementor-element.elementor-element-ff31be8.e-con > .e-con-inner.e-con-inner,
  .elementor-306.elementor-306.elementor-306 .elementor-element.elementor-element-5fee62b.e-con > .e-con-inner.e-con-inner,
  .elementor-308.elementor-308.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con > .e-con-inner.e-con-inner,
  .elementor-310.elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con > .e-con-inner.e-con-inner,
  .elementor-312.elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con > .e-con-inner.e-con-inner,
  .elementor-316.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con > .e-con-inner.e-con-inner {
    padding: 56px 32px !important;
  }

  .elementor-314.elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con > .e-con-inner.e-con-inner {
    width: calc(100% - 16px) !important;
    max-width: 944px !important;
  }

  .elementor-298.elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con h2.elementor-heading-title,
  .elementor-300.elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con h2.elementor-heading-title,
  .elementor-302.elementor-302.elementor-302 .elementor-element.elementor-element-784059e.e-con h2.elementor-heading-title,
  .elementor-304.elementor-304.elementor-304 .elementor-element.elementor-element-ff31be8.e-con h2.elementor-heading-title,
  .elementor-306.elementor-306.elementor-306 .elementor-element.elementor-element-5fee62b.e-con h2.elementor-heading-title,
  .elementor-308.elementor-308.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con h2.elementor-heading-title,
  .elementor-310.elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con h2.elementor-heading-title,
  .elementor-312.elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con h2.elementor-heading-title,
  .elementor-314.elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con h2.elementor-heading-title,
  .elementor-316.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con h2.elementor-heading-title {
    font-size: 42px !important;
    line-height: 46.2px !important;
  }

  .elementor-298.elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con .elementor-icon-box-description,
  .elementor-300.elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con .elementor-icon-box-description,
  .elementor-302.elementor-302.elementor-302 .elementor-element.elementor-element-784059e.e-con .elementor-icon-box-description,
  .elementor-304.elementor-304.elementor-304 .elementor-element.elementor-element-ff31be8.e-con .elementor-icon-box-description,
  .elementor-306.elementor-306.elementor-306 .elementor-element.elementor-element-5fee62b.e-con .elementor-icon-box-description,
  .elementor-308.elementor-308.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con .elementor-icon-box-description,
  .elementor-310.elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con .elementor-icon-box-description,
  .elementor-312.elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con .elementor-icon-box-description,
  .elementor-316.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con .elementor-icon-box-description {
    font-size: 15px !important;
    line-height: 22.5px !important;
  }

  .elementor-298.elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con .e-grid:has(> .pm-card),
  .elementor-300.elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con .e-grid:has(> .pm-card),
  .elementor-302.elementor-302.elementor-302 .elementor-element.elementor-element-784059e.e-con .e-grid:has(> .pm-card),
  .elementor-304.elementor-304.elementor-304 .elementor-element.elementor-element-ff31be8.e-con .e-grid:has(> .pm-card),
  .elementor-306.elementor-306.elementor-306 .elementor-element.elementor-element-5fee62b.e-con .e-grid:has(> .pm-card),
  .elementor-308.elementor-308.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con .e-grid:has(> .pm-card),
  .elementor-310.elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con .e-grid:has(> .pm-card),
  .elementor-312.elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con .e-grid:has(> .pm-card),
  .elementor-316.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con .e-grid:has(> .pm-card) {
    gap: 20px 24px !important;
    padding: 24px 0 0 !important;
  }

  .elementor-316.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con .elementor-element.elementor-element-ab49d9e.e-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 24px !important;
    padding: 24px 0 0 !important;
  }

  .elementor-298.elementor-298.elementor-298 .elementor-element.elementor-element-f74fd06.e-con,
  .elementor-300.elementor-300.elementor-300 .elementor-element.elementor-element-f785dfd.e-con,
  .elementor-302.elementor-302.elementor-302 .elementor-element.elementor-element-0067777.e-con,
  .elementor-304.elementor-304.elementor-304 .elementor-element.elementor-element-958e0e7.e-con,
  .elementor-306.elementor-306.elementor-306 .elementor-element.elementor-element-f6f32b3.e-con,
  .elementor-308.elementor-308.elementor-308 .elementor-element.elementor-element-3b00a8b.e-con,
  .elementor-310.elementor-310.elementor-310 .elementor-element.elementor-element-c08dba7.e-con,
  .elementor-312.elementor-312.elementor-312 .elementor-element.elementor-element-56c3528.e-con,
  .elementor-314.elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con {
    padding: 190px 32px 56px !important;
  }

  .elementor-298.elementor-298.elementor-298 .elementor-element.elementor-element-f74fd06.e-con > .e-con-inner.e-con-inner,
  .elementor-300.elementor-300.elementor-300 .elementor-element.elementor-element-f785dfd.e-con > .e-con-inner.e-con-inner,
  .elementor-302.elementor-302.elementor-302 .elementor-element.elementor-element-0067777.e-con > .e-con-inner.e-con-inner,
  .elementor-304.elementor-304.elementor-304 .elementor-element.elementor-element-958e0e7.e-con > .e-con-inner.e-con-inner,
  .elementor-306.elementor-306.elementor-306 .elementor-element.elementor-element-f6f32b3.e-con > .e-con-inner.e-con-inner,
  .elementor-308.elementor-308.elementor-308 .elementor-element.elementor-element-3b00a8b.e-con > .e-con-inner.e-con-inner,
  .elementor-310.elementor-310.elementor-310 .elementor-element.elementor-element-c08dba7.e-con > .e-con-inner.e-con-inner,
  .elementor-312.elementor-312.elementor-312 .elementor-element.elementor-element-56c3528.e-con > .e-con-inner.e-con-inner,
  .elementor-314.elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con > .e-con-inner.e-con-inner {
    padding: 64px 32px 80px !important;
  }

  .elementor-298.elementor-298.elementor-298 .elementor-element.elementor-element-f74fd06.e-con h2.elementor-heading-title,
  .elementor-300.elementor-300.elementor-300 .elementor-element.elementor-element-f785dfd.e-con h2.elementor-heading-title,
  .elementor-302.elementor-302.elementor-302 .elementor-element.elementor-element-0067777.e-con h2.elementor-heading-title,
  .elementor-304.elementor-304.elementor-304 .elementor-element.elementor-element-958e0e7.e-con h2.elementor-heading-title,
  .elementor-306.elementor-306.elementor-306 .elementor-element.elementor-element-f6f32b3.e-con h2.elementor-heading-title,
  .elementor-308.elementor-308.elementor-308 .elementor-element.elementor-element-3b00a8b.e-con h2.elementor-heading-title,
  .elementor-310.elementor-310.elementor-310 .elementor-element.elementor-element-c08dba7.e-con h2.elementor-heading-title,
  .elementor-312.elementor-312.elementor-312 .elementor-element.elementor-element-56c3528.e-con h2.elementor-heading-title,
  .elementor-314.elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con h2.elementor-heading-title {
    font-size: clamp(29px, calc(14px + 1.953125vw), 34px) !important;
    line-height: clamp(32.48px, calc(15.68px + 2.1875vw), 38.08px) !important;
  }

  .elementor-298.elementor-298.elementor-298 .elementor-element.elementor-element-f74fd06.e-con::before,
  .elementor-300.elementor-300.elementor-300 .elementor-element.elementor-element-f785dfd.e-con::before,
  .elementor-302.elementor-302.elementor-302 .elementor-element.elementor-element-0067777.e-con::before,
  .elementor-304.elementor-304.elementor-304 .elementor-element.elementor-element-958e0e7.e-con::before,
  .elementor-306.elementor-306.elementor-306 .elementor-element.elementor-element-f6f32b3.e-con::before,
  .elementor-308.elementor-308.elementor-308 .elementor-element.elementor-element-3b00a8b.e-con::before,
  .elementor-310.elementor-310.elementor-310 .elementor-element.elementor-element-c08dba7.e-con::before,
  .elementor-312.elementor-312.elementor-312 .elementor-element.elementor-element-56c3528.e-con::before,
  .elementor-314.elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con::before {
    background-image: linear-gradient(90deg, rgba(0, 43, 44, 0.88), rgba(0, 43, 44, 0.60) 46%, rgba(0, 43, 44, 0.32)) !important;
  }
}

@media (max-width: 767px) {
  .elementor-298.elementor-298.elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con,
  .elementor-300.elementor-300.elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con,
  .elementor-302.elementor-302.elementor-302.elementor-302 .elementor-element.elementor-element-784059e.e-con,
  .elementor-304.elementor-304.elementor-304.elementor-304 .elementor-element.elementor-element-ff31be8.e-con,
  .elementor-306.elementor-306.elementor-306.elementor-306 .elementor-element.elementor-element-5fee62b.e-con,
  .elementor-308.elementor-308.elementor-308.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con,
  .elementor-310.elementor-310.elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con,
  .elementor-312.elementor-312.elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con,
  .elementor-316.elementor-316.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da:not(.elementor-motion-effects-element-type-background).e-con {
    padding: 48px 20px !important;
  }

  .elementor-298.elementor-298.elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con > .e-con-inner.e-con-inner,
  .elementor-300.elementor-300.elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con > .e-con-inner.e-con-inner,
  .elementor-302.elementor-302.elementor-302.elementor-302 .elementor-element.elementor-element-784059e.e-con > .e-con-inner.e-con-inner,
  .elementor-304.elementor-304.elementor-304.elementor-304 .elementor-element.elementor-element-ff31be8.e-con > .e-con-inner.e-con-inner,
  .elementor-306.elementor-306.elementor-306.elementor-306 .elementor-element.elementor-element-5fee62b.e-con > .e-con-inner.e-con-inner,
  .elementor-308.elementor-308.elementor-308.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con > .e-con-inner.e-con-inner,
  .elementor-310.elementor-310.elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con > .e-con-inner.e-con-inner,
  .elementor-312.elementor-312.elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con > .e-con-inner.e-con-inner,
  .elementor-316.elementor-316.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con > .e-con-inner.e-con-inner {
    padding: 48px 18px !important;
  }

  .elementor-298.elementor-298.elementor-298.elementor-298 .elementor-element.elementor-element-0fd5ea9.e-con h2.elementor-heading-title,
  .elementor-300.elementor-300.elementor-300.elementor-300 .elementor-element.elementor-element-3f00faf.e-con h2.elementor-heading-title,
  .elementor-302.elementor-302.elementor-302.elementor-302 .elementor-element.elementor-element-784059e.e-con h2.elementor-heading-title,
  .elementor-304.elementor-304.elementor-304.elementor-304 .elementor-element.elementor-element-ff31be8.e-con h2.elementor-heading-title,
  .elementor-306.elementor-306.elementor-306.elementor-306 .elementor-element.elementor-element-5fee62b.e-con h2.elementor-heading-title,
  .elementor-308.elementor-308.elementor-308.elementor-308 .elementor-element.elementor-element-9c5d01d.e-con h2.elementor-heading-title,
  .elementor-310.elementor-310.elementor-310.elementor-310 .elementor-element.elementor-element-90e0f8f.e-con h2.elementor-heading-title,
  .elementor-312.elementor-312.elementor-312.elementor-312 .elementor-element.elementor-element-c87cb74.e-con h2.elementor-heading-title,
  .elementor-314.elementor-314.elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con h2.elementor-heading-title,
  .elementor-316.elementor-316.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con h2.elementor-heading-title {
    font-size: 30px !important;
    line-height: 33px !important;
  }

  .elementor-314.elementor-314.elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con {
    padding: 56px 20px !important;
  }

  .elementor-314.elementor-314.elementor-314.elementor-314 .elementor-element.elementor-element-f7bfeda.e-con > .e-con-inner.e-con-inner {
    width: 100% !important;
    max-width: 1344px !important;
  }

  .elementor-316.elementor-316.elementor-316.elementor-316 .elementor-element.elementor-element-c33b8da.e-con .elementor-element.elementor-element-ab49d9e.e-grid {
    grid-template-columns: 1fr !important;
  }

  .elementor-298.elementor-298.elementor-298.elementor-298 .elementor-element.elementor-element-f74fd06.e-con,
  .elementor-300.elementor-300.elementor-300.elementor-300 .elementor-element.elementor-element-f785dfd.e-con,
  .elementor-302.elementor-302.elementor-302.elementor-302 .elementor-element.elementor-element-0067777.e-con,
  .elementor-304.elementor-304.elementor-304.elementor-304 .elementor-element.elementor-element-958e0e7.e-con,
  .elementor-306.elementor-306.elementor-306.elementor-306 .elementor-element.elementor-element-f6f32b3.e-con,
  .elementor-308.elementor-308.elementor-308.elementor-308 .elementor-element.elementor-element-3b00a8b.e-con,
  .elementor-310.elementor-310.elementor-310.elementor-310 .elementor-element.elementor-element-c08dba7.e-con,
  .elementor-312.elementor-312.elementor-312.elementor-312 .elementor-element.elementor-element-56c3528.e-con,
  .elementor-314.elementor-314.elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con {
    padding: 190px 18px 56px !important;
  }

  .elementor-298.elementor-298.elementor-298.elementor-298 .elementor-element.elementor-element-f74fd06.e-con > .e-con-inner.e-con-inner,
  .elementor-300.elementor-300.elementor-300.elementor-300 .elementor-element.elementor-element-f785dfd.e-con > .e-con-inner.e-con-inner,
  .elementor-302.elementor-302.elementor-302.elementor-302 .elementor-element.elementor-element-0067777.e-con > .e-con-inner.e-con-inner,
  .elementor-304.elementor-304.elementor-304.elementor-304 .elementor-element.elementor-element-958e0e7.e-con > .e-con-inner.e-con-inner,
  .elementor-306.elementor-306.elementor-306.elementor-306 .elementor-element.elementor-element-f6f32b3.e-con > .e-con-inner.e-con-inner,
  .elementor-308.elementor-308.elementor-308.elementor-308 .elementor-element.elementor-element-3b00a8b.e-con > .e-con-inner.e-con-inner,
  .elementor-310.elementor-310.elementor-310.elementor-310 .elementor-element.elementor-element-c08dba7.e-con > .e-con-inner.e-con-inner,
  .elementor-312.elementor-312.elementor-312.elementor-312 .elementor-element.elementor-element-56c3528.e-con > .e-con-inner.e-con-inner,
  .elementor-314.elementor-314.elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con > .e-con-inner.e-con-inner {
    padding: 24px 18px 48px !important;
  }

  .elementor-298.elementor-298.elementor-298.elementor-298 .elementor-element.elementor-element-f74fd06.e-con h2.elementor-heading-title,
  .elementor-300.elementor-300.elementor-300.elementor-300 .elementor-element.elementor-element-f785dfd.e-con h2.elementor-heading-title,
  .elementor-302.elementor-302.elementor-302.elementor-302 .elementor-element.elementor-element-0067777.e-con h2.elementor-heading-title,
  .elementor-304.elementor-304.elementor-304.elementor-304 .elementor-element.elementor-element-958e0e7.e-con h2.elementor-heading-title,
  .elementor-306.elementor-306.elementor-306.elementor-306 .elementor-element.elementor-element-f6f32b3.e-con h2.elementor-heading-title,
  .elementor-308.elementor-308.elementor-308.elementor-308 .elementor-element.elementor-element-3b00a8b.e-con h2.elementor-heading-title,
  .elementor-310.elementor-310.elementor-310.elementor-310 .elementor-element.elementor-element-c08dba7.e-con h2.elementor-heading-title,
  .elementor-312.elementor-312.elementor-312.elementor-312 .elementor-element.elementor-element-56c3528.e-con h2.elementor-heading-title,
  .elementor-314.elementor-314.elementor-314.elementor-314 .elementor-element.elementor-element-be00412.e-con h2.elementor-heading-title {
    font-size: 26px !important;
    line-height: 29.12px !important;
  }
}

/* ===== E-145 (2026-09-02) no automatic hyphenation anywhere, the no dash rule applies to rendered text =====
   Competitor: the E-73 to E-76 block sets hyphens auto with importance on
   .elementor[data-elementor-type="wp-page"] p (0,2,1), .elementor-widget-text-editor (0,3,0)
   and .elementor-icon-box-description (0,3,0). The engine then breaks words with a visible hyphen at
   phone widths, seen on the nursing badge as "designa-tions". Override repeats the .elementor class
   token once, giving (0,3,1) and (0,4,0). Manual hyphenation honours only an explicit soft hyphen. */
.elementor.elementor[data-elementor-type="wp-page"] p,
.elementor.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor,
.elementor.elementor[data-elementor-type="wp-page"] .elementor-icon-box-description,
.elementor.elementor[data-elementor-type="wp-page"] .elementor-heading-title,
.elementor.elementor[data-elementor-type="wp-page"] li{
  -webkit-hyphens:manual !important;
  hyphens:manual !important;}

/* ===== E-146 (2026-09-02) The BAND pattern, promoted to a GLOBAL component ============
   Lucas, 2026-09-02: "check for similar sections on the internal pages and do the same work
   we did with those sections in the home page because they all look similar."

   Home's "We've Been in Your Shoes" band (page 296, section 7c5d56f, text-editor 5473907)
   renders two white cards with an icon led heading, then a dark teal CTA strip. That whole
   treatment lived ONLY in that one widget's custom CSS.

   Every internal page already has the identical DOM shape for its equivalent band
   (heading + image + text-editor), but the text-editor held bare <p> tags at
   text_columns:2, align:justify, which is exactly why those bands read as two naked
   columns of small text with nothing around them.

   This promotes the treatment to global classes so the eleven internal bands share ONE
   definition instead of eleven copies, and so it carries to the Mobile Imaging build.
   Home is deliberately untouched: it keeps its own widget scoped pm-shoes-* rules and
   renders byte identically. Values below are copied from that widget verbatim.

   Card surface (white, 1px #D4D5CE, 16px radius) already comes from the global .pm-card
   rule in E-91, so pm-band-card only adds padding and typography.
*/
.elementor[data-elementor-type="wp-page"] .pm-band-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;}

.elementor[data-elementor-type="wp-page"] .pm-band-card{
  padding:32px !important;
  min-height:100% !important;
  margin:0 !important;}

.elementor[data-elementor-type="wp-page"] .pm-band-card h3{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin:0 0 16px !important;
  color:#002B2C !important;
  font-family:'Urbanist',sans-serif !important;
  font-size:25px !important;
  line-height:1.2 !important;
  font-weight:500 !important;}

.elementor[data-elementor-type="wp-page"] .pm-band-card h3 i{
  flex:0 0 auto !important;
  color:#00B3B9 !important;
  font-size:22px !important;
  line-height:1 !important;}

.elementor[data-elementor-type="wp-page"] .pm-band-card p{
  margin:0 !important;
  color:#002B2C !important;
  font-family:'Open Sans',sans-serif !important;
  font-size:16px !important;
  line-height:1.65 !important;
  font-weight:400 !important;
  text-align:left !important;}

.elementor[data-elementor-type="wp-page"] .pm-band-card p + p{
  margin-top:14px !important;}

.elementor[data-elementor-type="wp-page"] .pm-band-cta{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  margin-top:24px !important;
  padding:24px 28px !important;
  background:#002B2C !important;
  border-radius:16px !important;}

.elementor[data-elementor-type="wp-page"] .pm-band-cta h3{
  margin:0 0 4px !important;
  color:#FFFFFF !important;
  font-family:'Urbanist',sans-serif !important;
  font-size:25px !important;
  line-height:1.2 !important;
  font-weight:500 !important;}

.elementor[data-elementor-type="wp-page"] .pm-band-cta p{
  margin:0 !important;
  color:rgba(255,255,255,0.85) !important;
  font-family:'Open Sans',sans-serif !important;
  font-size:15px !important;
  line-height:1.5 !important;
  font-weight:400 !important;
  text-align:left !important;}

.elementor[data-elementor-type="wp-page"] .pm-band-cta .elementor-button-icon{
  margin-right:8px !important;}

.elementor[data-elementor-type="wp-page"] .pm-band-cta .pm-primary:hover{
  box-shadow:inset 0 0 0 1px #FFFFFF !important;}

/* The band widget itself: home sits at 1180px centred, not 960px. */
.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor.pm-band{
  width:100% !important;
  max-width:1180px !important;
  margin-inline:auto !important;
  column-count:auto !important;}

.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor.pm-band .elementor-widget-container{
  column-count:auto !important;}

@media(max-width:1024px){
  .elementor[data-elementor-type="wp-page"] .pm-band-card{padding:28px !important;}
  .elementor[data-elementor-type="wp-page"] .pm-band-card h3{font-size:23px !important;}
  .elementor[data-elementor-type="wp-page"] .pm-band-cta h3{font-size:23px !important;}}

@media(max-width:768px){
  .elementor[data-elementor-type="wp-page"] .pm-band-grid{grid-template-columns:1fr !important;}
  .elementor[data-elementor-type="wp-page"] .pm-band-cta{
    flex-direction:column !important;
    align-items:flex-start !important;}}

@media(max-width:390px){
  .elementor[data-elementor-type="wp-page"] .pm-band-card{padding:24px !important;}
  .elementor[data-elementor-type="wp-page"] .pm-band-card h3{font-size:22px !important;}
  .elementor[data-elementor-type="wp-page"] .pm-band-cta{padding:24px !important;}
  .elementor[data-elementor-type="wp-page"] .pm-band-cta .elementor-button{width:100% !important;}}

/* ===== E-147 (2026-09-02) Band component: neutralise the older paragraph as card layer ===
   MEASURED, not assumed:
     home    7c5d56f / 5473907 : widget x80 w1280, cards [80,628] and [732,628], gap 24
     imaging 8bc1b6e / b20acc4 : widget x130 w1180, cards [130,578] and [732,578]
   So home's band is FLUSH with its 1280px image; mine were inset 50px each side. Fixed here.

   A previous session had already tried to fix these bands by turning the text-editor itself
   into a CSS grid and每 <p> into a white card (rules for 0773cad on 316, 2de73d3 on 298 and
   friends). With the new pm-band component those rules produce a card inside a card, and on
   request-staff they squeezed both cards into 277px in the left half of the band. Measured:
     request-staff widget display:grid, cards w277, p background rgb(255,255,255) border 1px pad 32px
     solutions 2de73d3 widget background rgb(255,255,255) border 1px  (a white panel behind white cards)

   Specificity, deliberately: the rule being beaten on the widget is
   `.elementor-316.elementor-316 .elementor-element.elementor-element-0773cad` at (0,4,0) with
   !important, and on the paragraph it is (0,6,1) with !important. Class weight is compared
   before element weight, so the resets below are written at (0,6,0) and (0,7,1). Adding
   `html body` would ADD ELEMENTS and lose; that mistake is documented in E-44.
*/

/* 1. The band widget is a plain block again, full width, no surface of its own. */
.elementor.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor.pm-band.pm-band{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  grid-template-columns:none !important;
  gap:0 !important;
  column-count:auto !important;
  text-align:left !important;}

.elementor.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor.pm-band.pm-band > .elementor-widget-container{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  column-count:auto !important;}

/* 2. Paragraphs inside the new cards are plain text again, never cards themselves. */
.elementor.elementor[data-elementor-type="wp-page"]:not(.elementor-296) .pm-band.pm-band .pm-band-card p{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
  color:#002B2C !important;
  font-family:'Open Sans',sans-serif !important;
  font-size:16px !important;
  line-height:1.65 !important;
  font-weight:400 !important;
  text-align:left !important;}

.elementor.elementor[data-elementor-type="wp-page"]:not(.elementor-296) .pm-band.pm-band .pm-band-card p + p{
  margin-top:14px !important;}

.elementor.elementor[data-elementor-type="wp-page"]:not(.elementor-296) .pm-band.pm-band .pm-band-cta p{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
  color:rgba(255,255,255,0.85) !important;
  font-size:15px !important;
  line-height:1.5 !important;
  text-align:left !important;}

/* 3. Card heading: the icon was vertically centring across a two line heading and floating
      between the lines. Pin it to the first line instead. h3 is 25px at 1.2 = 30px. */
.elementor.elementor[data-elementor-type="wp-page"] .pm-band-card h3{
  align-items:flex-start !important;}
.elementor.elementor[data-elementor-type="wp-page"] .pm-band-card h3 i{
  line-height:30px !important;
  height:30px !important;
  display:inline-flex !important;
  align-items:center !important;}
@media(max-width:1024px){
  .elementor.elementor[data-elementor-type="wp-page"] .pm-band-card h3 i{
    line-height:27.6px !important; height:27.6px !important;}}

/* ===== E-148 (2026-09-02) Internal hero, matched to the approved home hero ===========
   Lucas, 2026-09-02:
     "the top tag, the medical imaging, towards the right. It should be launched to the
      left. Same for the paragraph below the h1. You have it centered. Why can't you make
      everything aligned to the left? all of the heroes."
     "the arts in the back, which looks good, the vector bubble, and then you have a
      transparent person in front, which looks good. But then you have this tag text ...
      aligned to the left, and it should be aligned to the center ... make sure all of
      these three elements are centered ... maybe this tag is right to the bottom covering
      the edge of the transparency person and the arts in the back."

   MEASURED BEFORE (1440):
     home    e868dd1 left col 9fb483b : align-items normal, text-align start,
             eyebrow 8fa96c8 align-self flex-start, every child flush at x80.
     imaging e3a72d9 left col 0fc7ca8 : align-items CENTER, text-align CENTER.
             eyebrow  8baeb36 at x355 w142  (centred, so it reads as indented right)
             h1       50f501c at x96  w659
             lead     6fcc0ec at x132 w588  (centred inside a 659 column)
             buttons  f8fce95 at x96  w659, text-align center
     imaging right col d1a8bed : align-items normal.
             image  d5c5610 x822 w538 ; its ::before is the blob, #C1E0DE under
                    mask masking_1.png, 559x457, already centred on the image.
             caption 666e1cd x822 w375, LEFT aligned in a 538 column, top:-30px.
             caption text d043248 text-align start.

   So the blob and the cutout were already on one axis and the caption was not, which is
   exactly what Lucas described. Nothing here removes the blob: he approved it.
*/

/* ---- LEFT COLUMN: stretch children and align text left, exactly as home does ---- */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:first-child{
  align-items:stretch !important;
  justify-content:center !important;
  text-align:left !important;}

.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:first-child > .elementor-widget,
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:first-child > .e-con{
  align-self:stretch !important;
  text-align:left !important;
  margin-left:0 !important;
  margin-right:0 !important;}

.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:first-child > .elementor-widget .elementor-heading-title{
  text-align:left !important;}

/* the eyebrow is the one child that hugs its own content, as on home (align-self flex-start) */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:first-child > .elementor-widget-heading:first-child{
  align-self:flex-start !important;
  width:auto !important;
  max-width:max-content !important;}

/* the button row starts at the left edge */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:first-child > .e-con{
  justify-content:flex-start !important;
  align-items:center !important;}

/* ---- RIGHT COLUMN: only where it carries the cutout, never the request form ---- */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:has(> .elementor-widget-image){
  align-items:center !important;
  justify-content:center !important;}

/* caption pill: centred on the same axis as the blob and the cutout, and pulled further
   up so it sits over the lower edge of both, as asked */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:has(> .elementor-widget-image) > .e-con{
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  justify-content:center !important;
  text-align:center !important;
  top:-38px !important;}

.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:has(> .elementor-widget-image) > .e-con .e-con,
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:has(> .elementor-widget-image) > .e-con .elementor-widget,
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:has(> .elementor-widget-image) > .e-con .elementor-heading-title{
  text-align:center !important;
  justify-content:center !important;}

/* ---- EYEBROW PILL: the icon contract, promoted from home's widget CSS to a global ----
   Home 8fa96c8 carries its icon inside the heading title as
   <i class="fas fa-hospital"></i><span>Label</span> with this exact layout. */
.elementor[data-elementor-type="wp-page"] .pm-eyebrow .elementor-heading-title{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  font-family:'Open Sans',sans-serif !important;
  font-weight:500 !important;}
.elementor[data-elementor-type="wp-page"] .pm-eyebrow i{
  font-size:13px !important;
  line-height:1 !important;
  flex:0 0 auto !important;}

/* ===== E-149 (2026-09-02) Correction to E-148: the cutout column .elementor-90 over matched ==
   E-148 targeted the cutout column as `> .e-con:has(> .elementor-widget-image)`. On
   request-staff (316) the LEFT column 13b751e also contains a direct child image widget
   (d23bfd7, rendering 0x0), so the rule matched the left column too and applied
   `align-self:center; top:-38px; text-align:center` to the BUTTON ROW 68c2649.
   Measured damage: buttons moved from y508 to y470 while the lead 45cf731 occupies
   y435..y488, so the button row overlapped the paragraph.

   The cutout column is always the LAST child of the hero inner, so :last-child is both
   the correct semantics and a tight enough guard. Undo first, then re-apply narrowed.
*/

/* 1. Undo the over match on any hero column that is NOT the last child. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:not(:last-child) > .e-con{
  align-self:auto !important;
  top:auto !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
  justify-content:flex-start !important;}

.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:not(:last-child){
  align-items:stretch !important;}

/* 2. Re-apply, narrowed to the last column only, and only when it holds the cutout. */
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:last-child:has(> .elementor-widget-image){
  align-items:center !important;
  justify-content:center !important;}

.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:last-child:has(> .elementor-widget-image) > .e-con{
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  justify-content:center !important;
  text-align:center !important;
  top:-38px !important;}

.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:last-child:has(> .elementor-widget-image) > .e-con .e-con,
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:last-child:has(> .elementor-widget-image) > .e-con .elementor-widget,
.elementor[data-elementor-type="wp-page"]:not(.elementor-296) > .e-con:first-child > .e-con-inner > .e-con:last-child:has(> .elementor-widget-image) > .e-con .elementor-heading-title{
  text-align:center !important;
  justify-content:center !important;}

/* ===== E-150 (2026-09-02) Card grids brought onto the home patterns ==================
   MEASURED at 1440 before this block:
     PATTERN B (home 92a7d1f / grid 9349e58): grid 413.328px x3, gap 20px, 6 cards,
       card internals 165 / 247 / 411 over two rows, button background rgb(0,179,185).
     solutions   5f0fbc7 / d45f54a : SAME 413x3 grid, 6 cards. Button rgba(255,255,255,0.17).
     specialties 4b2d93c / f030f83 : SAME 413x3 grid but only 4 cards, so card 04 is
       stranded at the left of row 2 with two empty cells. Button rgba(255,255,255,0).
     who-we-serve 6cc2830 / 32b6893 : grid-template-columns repeat(3,1fr) is already set,
       but all five panels render 1216px wide, i.e. each one spans the full track set, so
       it reads as five stacked full width rows. Button rgba(255,255,255,0.17).
     PATTERN A (home 2189699 / 000316c): grid 302px x4, gap 24px, one row.
       nursing 965fb0f, imaging c8face0, rehab e35af27, lab c657b10 and why-promed 4421a60
       all already match at 302px x4.
     who-we-serve 039c7d6 and why-promed bc72b45 : 628px x2, so four cards land as 2x2.

   So the grids themselves were nearly right. Three real faults: panels spanning all tracks,
   an orphan card stranded left, and the card button losing home's teal fill.

   Card count differs per page (home 6, solutions 6, specialties 4, who-we-serve 5), so a
   fixed three column track leaves a hole whenever the count is not a multiple of three.
   auto-fit at home's exact 413px card keeps the component identical to home and centres
   any short final row instead of stranding it at the left.
*/

/* ---- PATTERN B: keep home's card size, centre a short final row ---- */
.elementor-298 .elementor-element.elementor-element-d45f54a,
.elementor-300 .elementor-element.elementor-element-f030f83,
.elementor-310 .elementor-element.elementor-element-32b6893{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, 413px) !important;
  justify-content:center !important;
  gap:20px !important;}

/* the who-we-serve panels were spanning every track; return them to one cell each */
.elementor-310 .elementor-element.elementor-element-32b6893 > .e-con{
  grid-column:auto !important;
  grid-row:auto !important;
  width:auto !important;
  max-width:none !important;}

/* ---- PATTERN B card button: home's solid teal pill, white label (LD-031) ---- */
.elementor-298 .elementor-element.elementor-element-d45f54a .elementor-button,
.elementor-300 .elementor-element.elementor-element-f030f83 .elementor-button,
.elementor-310 .elementor-element.elementor-element-32b6893 .elementor-button{
  background-color:#00B3B9 !important;
  background-image:none !important;
  border:0 !important;
  border-radius:30px !important;
  padding:12px 24px !important;
  display:inline-flex !important;
  align-items:center !important;
  box-shadow:none !important;}

.elementor-298 .elementor-element.elementor-element-d45f54a .elementor-button,
.elementor-298 .elementor-element.elementor-element-d45f54a .elementor-button .elementor-button-text,
.elementor-300 .elementor-element.elementor-element-f030f83 .elementor-button,
.elementor-300 .elementor-element.elementor-element-f030f83 .elementor-button .elementor-button-text,
.elementor-310 .elementor-element.elementor-element-32b6893 .elementor-button,
.elementor-310 .elementor-element.elementor-element-32b6893 .elementor-button .elementor-button-text{
  color:#FFFFFF !important;}

.elementor-298 .elementor-element.elementor-element-d45f54a .elementor-button:hover,
.elementor-300 .elementor-element.elementor-element-f030f83 .elementor-button:hover,
.elementor-310 .elementor-element.elementor-element-32b6893 .elementor-button:hover{
  background-color:#009BA1 !important;}

/* ---- PATTERN A: four cards across one row, as home does, never 2x2 ---- */
.elementor-310 .elementor-element.elementor-element-039c7d6,
.elementor-312 .elementor-element.elementor-element-bc72b45{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;}

@media(max-width:1024px){
  .elementor-310 .elementor-element.elementor-element-039c7d6,
  .elementor-312 .elementor-element.elementor-element-bc72b45{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;}
  .elementor-298 .elementor-element.elementor-element-d45f54a,
  .elementor-300 .elementor-element.elementor-element-f030f83,
  .elementor-310 .elementor-element.elementor-element-32b6893{
    grid-template-columns:repeat(auto-fit, minmax(300px, 340px)) !important;}}

@media(max-width:767px){
  .elementor-310 .elementor-element.elementor-element-039c7d6,
  .elementor-312 .elementor-element.elementor-element-bc72b45,
  .elementor-298 .elementor-element.elementor-element-d45f54a,
  .elementor-300 .elementor-element.elementor-element-f030f83,
  .elementor-310 .elementor-element.elementor-element-32b6893{
    grid-template-columns:1fr !important;}}
/* Footer columns, Lucas review 2026-09-14. Remove middle column horizontal padding only on desktop. */
@media(min-width:1200px){
.elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356 > .e-con-inner > :is(.elementor-element-eb6bf37,.elementor-element-36f94d3,.elementor-element-3b061bc){padding-inline:0!important;}
}
/* The 1280px content row is capped here; fixed outer tracks avoid fractional rounding. */
@media(min-width:1440px){
.elementor-90.elementor-location-footer .elementor-element.elementor-element-6920356.e-con.e-con > .e-con-inner{grid-template-columns:320px repeat(3,204px) 250px!important;justify-content:start!important;}
}/* End custom CSS */