.elementor-2736 .elementor-element.elementor-element-b2c78ea > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-2736 .elementor-element.elementor-element-b2c78ea:not(.elementor-motion-effects-element-type-background), .elementor-2736 .elementor-element.elementor-element-b2c78ea > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(270deg, var( --e-global-color-text ) 78%, var( --e-global-color-primary ) 100%);}.elementor-2736 .elementor-element.elementor-element-b2c78ea{box-shadow:0px 0px 22px 0px rgba(128, 186.99999999999991, 250, 0.5) inset;transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;z-index:110;}.elementor-2736 .elementor-element.elementor-element-b2c78ea > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-2736 .elementor-element.elementor-element-0c37cce.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-2736 .elementor-element.elementor-element-0c37cce.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-2736 .elementor-element.elementor-element-0c37cce > .elementor-element-populated, .elementor-2736 .elementor-element.elementor-element-0c37cce > .elementor-element-populated > .elementor-background-overlay, .elementor-2736 .elementor-element.elementor-element-0c37cce > .elementor-background-slideshow{border-radius:10px 0px 0px 10px;}.elementor-2736 .elementor-element.elementor-element-0c37cce > .elementor-element-populated{margin:5px 40px 0px 40px;--e-column-margin-right:40px;--e-column-margin-left:40px;}.elementor-2736 .elementor-element.elementor-element-6f1823a{--display:flex;--min-height:110px;--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;}.elementor-2736 .elementor-element.elementor-element-3c0d8ef{width:var( --container-widget-width, 25% );max-width:25%;--container-widget-width:25%;--container-widget-flex-grow:0;}.elementor-2736 .elementor-element.elementor-element-3c0d8ef > .elementor-widget-container{--e-transform-scale:1.2;margin:0px 0px 15px 0px;}.elementor-2736 .elementor-element.elementor-element-3c0d8ef > .elementor-widget-container:hover{--e-transform-scale:1.1;}.elementor-2736 .elementor-element.elementor-element-3c0d8ef.elementor-element{--align-self:flex-start;}.elementor-2736 .elementor-element.elementor-element-7112a65{--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:flex-end;}.elementor-2736 .elementor-element.elementor-element-1f1f115{width:auto;max-width:auto;--e-nav-menu-horizontal-menu-item-margin:calc( 40px / 2 );}.elementor-2736 .elementor-element.elementor-element-1f1f115.elementor-element{--align-self:center;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu .elementor-item{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-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-0db4f03 );fill:var( --e-global-color-0db4f03 );padding-left:10px;padding-right:10px;padding-top:4px;padding-bottom:4px;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--main .elementor-item:focus{color:#FFFFFF;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-primary );}.elementor-2736 .elementor-element.elementor-element-1f1f115 .e--pointer-framed .elementor-item:before,
					.elementor-2736 .elementor-element.elementor-element-1f1f115 .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-primary );}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#000000;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:before,
					.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:after{background-color:#F8F3EF;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .e--pointer-framed .elementor-item.elementor-item-active:before,
					.elementor-2736 .elementor-element.elementor-element-1f1f115 .e--pointer-framed .elementor-item.elementor-item-active:after{border-color:#F8F3EF;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:40px;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-item:before{border-radius:10px;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .e--animation-shutter-in-horizontal .elementor-item:before{border-radius:10px 10px 0 0;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .e--animation-shutter-in-horizontal .elementor-item:after{border-radius:0 0 10px 10px;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .e--animation-shutter-in-vertical .elementor-item:before{border-radius:0 10px 10px 0;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .e--animation-shutter-in-vertical .elementor-item:after{border-radius:10px 0 0 10px;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown a, .elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-menu-toggle{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown{background-color:#FFFFFF;border-radius:10px 10px 10px 10px;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown a:hover,
					.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown a:focus,
					.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown a.highlighted,
					.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-menu-toggle:hover,
					.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-menu-toggle:focus{color:#FFFFFF;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown a:hover,
					.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown a:focus,
					.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown a.highlighted{background-color:var( --e-global-color-bf4910e );}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown .elementor-item, .elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown  .elementor-sub-item{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 );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown li:first-child a{border-top-left-radius:10px;border-top-right-radius:10px;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown li:last-child a{border-bottom-right-radius:10px;border-bottom-left-radius:10px;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown a{padding-left:10px;padding-right:10px;padding-top:8px;padding-bottom:8px;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:2px !important;}.elementor-2736 .elementor-element.elementor-element-c4d8931 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );fill:var( --e-global-color-0db4f03 );color:var( --e-global-color-0db4f03 );border-radius:10px 10px 10px 10px;}.elementor-2736 .elementor-element.elementor-element-c4d8931 .elementor-button:hover, .elementor-2736 .elementor-element.elementor-element-c4d8931 .elementor-button:focus{background-color:var( --e-global-color-bf4910e );color:var( --e-global-color-0db4f03 );}.elementor-2736 .elementor-element.elementor-element-c4d8931{width:var( --container-widget-width, 15 );max-width:15;--container-widget-width:15;--container-widget-flex-grow:0;}.elementor-2736 .elementor-element.elementor-element-c4d8931 > .elementor-widget-container:hover{--e-transform-scale:0.9;}.elementor-2736 .elementor-element.elementor-element-c4d8931 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2736 .elementor-element.elementor-element-c4d8931.elementor-element{--align-self:center;}.elementor-2736 .elementor-element.elementor-element-c4d8931 .elementor-button-content-wrapper{flex-direction:row;}.elementor-2736 .elementor-element.elementor-element-c4d8931 .elementor-button .elementor-button-content-wrapper{gap:12px;}.elementor-2736 .elementor-element.elementor-element-c4d8931 .elementor-button:hover svg, .elementor-2736 .elementor-element.elementor-element-c4d8931 .elementor-button:focus svg{fill:var( --e-global-color-0db4f03 );}.elementor-2736 .elementor-element.elementor-element-e6c00ea{--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;}.elementor-2736 .elementor-element.elementor-element-8907d15{--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:flex-end;}.elementor-2736 .elementor-element.elementor-element-2569e29{width:var( --container-widget-width, 0% );max-width:0%;--container-widget-width:0%;--container-widget-flex-grow:0;}.elementor-2736 .elementor-element.elementor-element-2569e29 > .elementor-widget-container:hover{--e-transform-scaleX:1.2;--e-transform-scaleY:1.2;}.elementor-2736 .elementor-element.elementor-element-2569e29 > .elementor-widget-container{margin:0px 0px 15px 0px;}.elementor-2736 .elementor-element.elementor-element-2569e29.elementor-element{--align-self:flex-start;}.elementor-2736 .elementor-element.elementor-element-63b3f19 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );fill:var( --e-global-color-0db4f03 );color:var( --e-global-color-0db4f03 );border-radius:200px 200px 200px 200px;}.elementor-2736 .elementor-element.elementor-element-63b3f19 .elementor-button:hover, .elementor-2736 .elementor-element.elementor-element-63b3f19 .elementor-button:focus{background-color:var( --e-global-color-bf4910e );color:var( --e-global-color-0db4f03 );}.elementor-2736 .elementor-element.elementor-element-63b3f19{width:var( --container-widget-width, 0% );max-width:0%;--container-widget-width:0%;--container-widget-flex-grow:0;}.elementor-2736 .elementor-element.elementor-element-63b3f19 > .elementor-widget-container:hover{--e-transform-scale:1.1;}.elementor-2736 .elementor-element.elementor-element-63b3f19 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2736 .elementor-element.elementor-element-63b3f19.elementor-element{--align-self:center;}.elementor-2736 .elementor-element.elementor-element-63b3f19 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-2736 .elementor-element.elementor-element-63b3f19 .elementor-button .elementor-button-content-wrapper{gap:5px;}.elementor-2736 .elementor-element.elementor-element-63b3f19 .elementor-button:hover svg, .elementor-2736 .elementor-element.elementor-element-63b3f19 .elementor-button:focus svg{fill:var( --e-global-color-0db4f03 );}.elementor-2736 .elementor-element.elementor-element-81a2fef{width:auto;max-width:auto;}.elementor-2736 .elementor-element.elementor-element-81a2fef.elementor-element{--align-self:center;}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-menu-toggle{margin-left:auto;background-color:#FFFFFF00;border-width:0px;border-radius:0px;}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown a, .elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-menu-toggle{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown{background-color:#FFFFFF;border-radius:10px 10px 10px 10px;}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown a:hover,
					.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown a:focus,
					.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown a.highlighted,
					.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-menu-toggle:hover,
					.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-menu-toggle:focus{color:#FFFFFF;}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown a:hover,
					.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown a:focus,
					.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown a.highlighted{background-color:var( --e-global-color-bf4910e );}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown .elementor-item, .elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown  .elementor-sub-item{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 );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown li:first-child a{border-top-left-radius:10px;border-top-right-radius:10px;}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown li:last-child a{border-bottom-right-radius:10px;border-bottom-left-radius:10px;}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown a{padding-left:10px;padding-right:10px;padding-top:8px;padding-bottom:8px;}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:2px !important;}.elementor-2736 .elementor-element.elementor-element-81a2fef div.elementor-menu-toggle{color:var( --e-global-color-0db4f03 );}.elementor-2736 .elementor-element.elementor-element-81a2fef div.elementor-menu-toggle svg{fill:var( --e-global-color-0db4f03 );}.elementor-2736 .elementor-element.elementor-element-81a2fef div.elementor-menu-toggle:hover, .elementor-2736 .elementor-element.elementor-element-81a2fef div.elementor-menu-toggle:focus{color:var( --e-global-color-bf4910e );}.elementor-2736 .elementor-element.elementor-element-81a2fef div.elementor-menu-toggle:hover svg, .elementor-2736 .elementor-element.elementor-element-81a2fef div.elementor-menu-toggle:focus svg{fill:var( --e-global-color-bf4910e );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1366px){.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu .elementor-item{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-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown .elementor-item, .elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-2736 .elementor-element.elementor-element-c4d8931 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-2736 .elementor-element.elementor-element-63b3f19 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown .elementor-item, .elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}}@media(max-width:1024px){.elementor-2736 .elementor-element.elementor-element-b2c78ea{padding:0px 0px 0px 0px;}.elementor-2736 .elementor-element.elementor-element-3c0d8ef{--container-widget-width:45%;--container-widget-flex-grow:0;width:var( --container-widget-width, 45% );max-width:45%;}.elementor-2736 .elementor-element.elementor-element-3c0d8ef img{height:7vh;object-fit:contain;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu .elementor-item{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-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown .elementor-item, .elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:22px !important;}.elementor-2736 .elementor-element.elementor-element-c4d8931{width:var( --container-widget-width, 28% );max-width:28%;--container-widget-width:28%;--container-widget-flex-grow:0;}.elementor-2736 .elementor-element.elementor-element-c4d8931 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-2736 .elementor-element.elementor-element-2569e29{--container-widget-width:0%;--container-widget-flex-grow:0;width:var( --container-widget-width, 0% );max-width:0%;}.elementor-2736 .elementor-element.elementor-element-2569e29 img{height:7vh;object-fit:contain;}.elementor-2736 .elementor-element.elementor-element-63b3f19{width:var( --container-widget-width, 28% );max-width:28%;--container-widget-width:28%;--container-widget-flex-grow:0;}.elementor-2736 .elementor-element.elementor-element-63b3f19 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown .elementor-item, .elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:22px !important;}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-menu-toggle{border-width:1px;border-radius:0px;}}@media(max-width:880px){.elementor-2736 .elementor-element.elementor-element-3c0d8ef{--container-widget-width:55%;--container-widget-flex-grow:0;width:var( --container-widget-width, 55% );max-width:55%;}.elementor-2736 .elementor-element.elementor-element-3c0d8ef img{width:100%;max-width:100%;height:9vh;}.elementor-2736 .elementor-element.elementor-element-2569e29{--container-widget-width:0%;--container-widget-flex-grow:0;width:var( --container-widget-width, 0% );max-width:0%;}.elementor-2736 .elementor-element.elementor-element-2569e29 img{width:100%;max-width:100%;height:9vh;}}@media(max-width:767px){.elementor-2736 .elementor-element.elementor-element-b2c78ea{padding:0% 2% 0% 0%;}.elementor-2736 .elementor-element.elementor-element-0c37cce > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-2736 .elementor-element.elementor-element-6f1823a{--content-width:100%;--min-height:0px;--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;}.elementor-2736 .elementor-element.elementor-element-3c0d8ef{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-2736 .elementor-element.elementor-element-7112a65{--content-width:50%;}.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu .elementor-item{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-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown .elementor-item, .elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-2736 .elementor-element.elementor-element-c4d8931{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;z-index:0;}.elementor-2736 .elementor-element.elementor-element-c4d8931 > .elementor-widget-container{margin:16px 0px 0px 0px;}.elementor-2736 .elementor-element.elementor-element-c4d8931 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-2736 .elementor-element.elementor-element-e6c00ea{--content-width:100vw;--min-height:110px;--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;--padding-top:10px;--padding-bottom:10px;--padding-left:0px;--padding-right:0px;}.elementor-2736 .elementor-element.elementor-element-8907d15{--content-width:100%;--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:20px;}.elementor-2736 .elementor-element.elementor-element-8907d15.e-con{--align-self:center;}.elementor-2736 .elementor-element.elementor-element-2569e29 > .elementor-widget-container{--e-transform-scale:1.8;margin:0px 0px 0px 0px;}.elementor-2736 .elementor-element.elementor-element-2569e29 > .elementor-widget-container:hover{--e-transform-scaleX:1.2;}.elementor-2736 .elementor-element.elementor-element-2569e29{--container-widget-width:32%;--container-widget-flex-grow:0;width:var( --container-widget-width, 32% );max-width:32%;}.elementor-2736 .elementor-element.elementor-element-2569e29.elementor-element{--align-self:center;}.elementor-2736 .elementor-element.elementor-element-2569e29 img{width:100%;max-width:40%;height:29%;object-fit:contain;object-position:center left;}.elementor-2736 .elementor-element.elementor-element-63b3f19{width:var( --container-widget-width, 60% );max-width:60%;--container-widget-width:60%;--container-widget-flex-grow:0;z-index:0;}.elementor-2736 .elementor-element.elementor-element-63b3f19 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-2736 .elementor-element.elementor-element-63b3f19.elementor-element{--align-self:center;}.elementor-2736 .elementor-element.elementor-element-63b3f19 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown .elementor-item, .elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}}@media(min-width:768px){.elementor-2736 .elementor-element.elementor-element-0c37cce{width:100%;}.elementor-2736 .elementor-element.elementor-element-e6c00ea{--content-width:0px;}.elementor-2736 .elementor-element.elementor-element-8907d15{--content-width:0%;}}@media(min-width:2400px){.elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu .elementor-item{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-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown .elementor-item, .elementor-2736 .elementor-element.elementor-element-1f1f115 .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-2736 .elementor-element.elementor-element-c4d8931 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-2736 .elementor-element.elementor-element-63b3f19 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown .elementor-item, .elementor-2736 .elementor-element.elementor-element-81a2fef .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}}/* Start custom CSS *//* ==========================================================================
   Promethean Restorative: draft redesign design system
   Lives in: Elementor > Header (Draft Redesign) #2736 > Advanced > Custom CSS
   Loads only on: /home-draft/ /contact-draft/ /resources-draft/ /about-draft/
   Brand values come from the Elementor kit (#35): Primary #1E529E,
   Accent #6DB0D9, Button Hover #3270C5, Secondary #4F4F52, font Arimo.
   ========================================================================== */

:root {
  --pr-primary: #1E529E;
  --pr-primary-hover: #3270C5;
  --pr-accent: #6DB0D9;
  --pr-black: #000000;
  --pr-white: #FFFFFF;
  --pr-muted: #C9CED6;
  --pr-line: rgba(255, 255, 255, 0.16);
  --pr-field-bg: #0B1220;
  --pr-field-line: rgba(255, 255, 255, 0.28);
  --pr-error: #FA5B5B;
  --pr-glow: rgba(128, 187, 250, 0.5);
  --pr-radius: 10px;
  --pr-control-h: 48px;
  --pr-font: "Arimo", Arial, sans-serif;
  --pr-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Typography (page content) ---------- */
/* H1 and H2 sizes are enforced so per-widget overrides cannot break the scale */
[data-elementor-type="wp-page"] h1.elementor-heading-title {
  font: 700 46px/1.1 var(--pr-font) !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
}
[data-elementor-type="wp-page"] h2.elementor-heading-title {
  font: 700 36px/1.2 var(--pr-font) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
[data-elementor-type="wp-page"] h3.elementor-heading-title {
  font: 700 24px/1.25 var(--pr-font);
  text-transform: none !important;
}
[data-elementor-type="wp-page"] h4.elementor-heading-title {
  font: 700 20px/1.3 var(--pr-font);
  text-transform: none;
}
[data-elementor-type="wp-page"] .elementor-widget-text-editor,
[data-elementor-type="wp-page"] .elementor-widget-text-editor p {
  font-family: var(--pr-font);
  line-height: 1.5;
}
[data-elementor-type="wp-page"] .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* Eyebrow label used above section headings */
.pr-eyebrow .elementor-heading-title,
[data-elementor-type="wp-page"] .pr-eyebrow h2.elementor-heading-title,
[data-elementor-type="wp-page"] .pr-eyebrow .elementor-heading-title {
  font: 700 18px/1.2 var(--pr-font) !important;
  letter-spacing: .2px !important;
  text-transform: none !important;
  color: var(--pr-accent) !important;
}

@media (max-width: 1024px) {
  [data-elementor-type="wp-page"] h1.elementor-heading-title { font-size: 38px !important; }
  [data-elementor-type="wp-page"] h2.elementor-heading-title { font-size: 30px !important; }
}
@media (max-width: 767px) {
  [data-elementor-type="wp-page"] h1.elementor-heading-title { font-size: 30px !important; }
  [data-elementor-type="wp-page"] h2.elementor-heading-title { font-size: 26px !important; }
  [data-elementor-type="wp-page"] h3.elementor-heading-title { font-size: 21px; }
  [data-elementor-type="wp-page"] h4.elementor-heading-title { font-size: 18px; }
  [data-elementor-type="wp-page"] .elementor-widget-text-editor { font-size: 16px; }
}

/* ---------- Buttons: one system everywhere ---------- */
.elementor-button,
.wpforms-container .wpforms-submit {
  min-height: var(--pr-control-h);
  padding: 0 28px !important;
  border-radius: var(--pr-radius) !important;
  font-family: var(--pr-font) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  line-height: 1.1 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  transition: background-color .2s var(--pr-ease), transform .2s var(--pr-ease), box-shadow .2s var(--pr-ease);
}
/* Icons never add height to a button */
.elementor-button .elementor-button-icon { font-size: 16px; line-height: 1; display: inline-flex; }
.elementor-button .elementor-button-icon svg { width: 16px; height: 16px; }
.elementor-button .elementor-button-text { line-height: 1.1; }
.elementor-button:hover,
.wpforms-container .wpforms-submit:hover {
  background-color: var(--pr-primary-hover) !important;
  box-shadow: 0 6px 18px rgba(30, 82, 158, .45);
  transform: translateY(-1px);
}
.elementor-button:active,
.wpforms-container .wpforms-submit:active { transform: translateY(0); }

/* Visible keyboard focus on every interactive element */
a:focus-visible,
button:focus-visible,
.elementor-button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--pr-accent) !important;
  outline-offset: 3px !important;
}

/* Linked cards (containers used as links) share the card radius */
[data-elementor-type="wp-page"] a.e-con {
  border-radius: var(--pr-radius) !important;
  transition: transform .2s var(--pr-ease), box-shadow .2s var(--pr-ease), background-color .2s var(--pr-ease);
}
[data-elementor-type="wp-page"] a.e-con:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(30, 82, 158, .4);
}

/* ---------- Header (draft) ---------- */
/* Nav text uses the button type style (Arimo 700, sentence case, 16 px like the header Contact Us
   button); !important because the nav widget's own typography otherwise wins */
.elementor-location-header .pr-nav .elementor-nav-menu--main .elementor-item {
  font-family: var(--pr-font) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  line-height: 1.1 !important;
  text-transform: none !important;
  letter-spacing: .2px !important;
  color: var(--pr-white);
  padding: 12px 18px;
}
.elementor-location-header .pr-nav .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .pr-nav .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--pr-accent);
}
.elementor-location-header .pr-nav .elementor-nav-menu--main .elementor-item:after,
.elementor-location-header .pr-nav .elementor-nav-menu--main .elementor-item:before {
  background-color: var(--pr-accent) !important;
  height: 2px !important;
}
.elementor-location-header .elementor-element-7112a65 {
  gap: 24px !important;
  justify-content: flex-end !important;
  align-items: center !important;
}
.elementor-location-header .pr-header__cta .elementor-button { min-height: 44px; padding: 0 22px !important; font-size: 18px !important; }

/* Mobile menu toggle and dropdown */
.elementor-location-header .pr-nav--mobile .elementor-menu-toggle {
  background: transparent;
  color: var(--pr-white);
  border: 1px solid var(--pr-line);
  border-radius: var(--pr-radius);
  width: 44px;
  height: 44px;
  font-size: 22px;
}
.elementor-location-header .pr-nav--mobile .elementor-nav-menu--dropdown {
  background: #05080F;
  border-top: 1px solid var(--pr-line);
  border-bottom: 1px solid var(--pr-line);
}
.elementor-location-header .pr-nav--mobile .elementor-nav-menu--dropdown .elementor-item {
  font-family: var(--pr-font) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  line-height: 1.1 !important;
  text-transform: none !important;
  letter-spacing: .2px !important;
  color: var(--pr-white);
  padding: 16px 24px;
}
.elementor-location-header .pr-nav--mobile .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.elementor-location-header .pr-nav--mobile .elementor-nav-menu--dropdown .elementor-item:hover {
  background: var(--pr-primary);
  color: var(--pr-white);
}

/* ---------- Footer (draft) ---------- */
.pr-footer {
  background: linear-gradient(90deg, var(--pr-primary) 0%, #0A1A33 30%, var(--pr-black) 60%) !important;
  box-shadow: 0 0 10px var(--pr-glow);
  padding: 72px 24px 28px !important;
}
.pr-footer > .e-con-inner { max-width: 1280px; }
.pr-footer__grid {
  display: grid !important;
  grid-template-columns: 1.3fr 1fr 1fr 1.5fr;
  gap: 48px !important;
  align-items: start;
}
.pr-footer__col { gap: 16px !important; }
.pr-footer__title .elementor-heading-title {
  font: 700 18px/1.2 var(--pr-font) !important;
  text-transform: none;
  letter-spacing: .2px;
  color: var(--pr-accent) !important;
}
.pr-footer__logo img { max-width: 240px !important; width: 100% !important; height: auto; }
.pr-footer__logo { text-align: left !important; }
.pr-footer__social .elementor-social-icons-wrapper { justify-content: flex-start !important; gap: 10px; }
.pr-footer__social .elementor-social-icon { width: 44px; height: 44px; font-size: 18px !important; border-radius: 50%; }
.pr-footer .pr-footer__links .elementor-icon-list-item,
.pr-footer .pr-footer__contact .elementor-icon-list-item {
  padding: 0 !important;
  margin: 0 0 12px !important;
  align-items: flex-start !important;
}
.pr-footer .pr-footer__links .elementor-icon-list-text,
.pr-footer .pr-footer__contact .elementor-icon-list-text {
  font: 400 16px/1.45 var(--pr-font) !important;
  color: var(--pr-white) !important;
  transition: color .2s var(--pr-ease);
}
.pr-footer .pr-footer__links a:hover .elementor-icon-list-text,
.pr-footer .pr-footer__contact a:hover .elementor-icon-list-text { color: var(--pr-accent) !important; }
.pr-footer .pr-footer__links .elementor-icon-list-icon,
.pr-footer .pr-footer__contact .elementor-icon-list-icon {
  width: 16px;
  margin-top: 3px;
}
.pr-footer .pr-footer__links .elementor-icon-list-icon i,
.pr-footer .pr-footer__contact .elementor-icon-list-icon i { color: var(--pr-accent) !important; font-size: 14px !important; }
.pr-footer__cta { margin-top: 4px; }
.pr-footer__cta .elementor-button { min-height: 44px; font-size: 18px !important; padding: 0 22px !important; }
.pr-footer__bottom {
  margin-top: 56px !important;
  padding-top: 24px !important;
  border-top: 1px solid var(--pr-line);
}
.pr-footer__copy, .pr-footer__copy p {
  font: 400 14px/1.4 var(--pr-font) !important;
  color: var(--pr-muted) !important;
  margin: 0;
}
@media (max-width: 1024px) {
  .pr-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px !important; }
}
@media (max-width: 767px) {
  .pr-footer { padding: 48px 20px 24px !important; }
  .pr-footer__grid { grid-template-columns: 1fr; gap: 32px !important; }
  .pr-footer__bottom { margin-top: 40px !important; }
}

/* Back-to-top button: brand styling, sits above the TrustedSite seal */
.elementor-location-footer .elementor-element-f6c7c48 .elementor-button {
  background: var(--pr-primary) !important;
  color: var(--pr-white) !important;
  min-height: 44px;
  padding: 0 18px !important;
  font-size: 18px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .45);
}
.elementor-location-footer .elementor-element-f6c7c48 .elementor-button .elementor-button-icon svg,
.elementor-location-footer .elementor-element-f6c7c48 .elementor-button i { fill: var(--pr-white); color: var(--pr-white); }

/* ---------- Contact form (WPForms #574) ---------- */
#wpforms-574,
#wpforms-574 .wpforms-form { font-family: var(--pr-font); }
#wpforms-574 .wpforms-field { padding: 0 0 22px !important; }
#wpforms-574 .wpforms-field-label,
#wpforms-574 legend.wpforms-field-label {
  font: 700 16px/1.3 var(--pr-font) !important;
  color: var(--pr-white) !important;
  margin: 0 0 8px !important;
}
#wpforms-574 .wpforms-required-label { color: var(--pr-accent) !important; }
#wpforms-574 .wpforms-field-sublabel,
#wpforms-574 .wpforms-field-description {
  font: 400 14px/1.4 var(--pr-font) !important;
  color: var(--pr-muted) !important;
  margin-top: 6px !important;
}
#wpforms-574 input[type="text"],
#wpforms-574 input[type="email"],
#wpforms-574 input[type="tel"],
#wpforms-574 input[type="number"],
#wpforms-574 select,
#wpforms-574 textarea {
  background: var(--pr-field-bg) !important;
  border: 1px solid var(--pr-field-line) !important;
  border-radius: var(--pr-radius) !important;
  color: var(--pr-white) !important;
  font: 400 16px/1.4 var(--pr-font) !important;
  min-height: var(--pr-control-h) !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
  max-width: 100% !important;
  transition: border-color .2s var(--pr-ease), box-shadow .2s var(--pr-ease);
}
#wpforms-574 textarea { min-height: 140px !important; resize: vertical; }
#wpforms-574 select option { background: var(--pr-field-bg); color: var(--pr-white); }
#wpforms-574 input::placeholder,
#wpforms-574 textarea::placeholder { color: rgba(255, 255, 255, .5) !important; }
#wpforms-574 input:focus,
#wpforms-574 select:focus,
#wpforms-574 textarea:focus {
  border-color: var(--pr-accent) !important;
  box-shadow: 0 0 0 3px rgba(109, 176, 217, .35) !important;
  outline: none !important;
}
#wpforms-574 .wpforms-field-radio ul {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px !important;
  margin: 4px 0 0 !important;
}
#wpforms-574 .wpforms-field-radio li {
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
}
#wpforms-574 .wpforms-field-radio li label {
  display: flex !important;
  align-items: center;
  gap: 10px;
  min-height: var(--pr-control-h);
  padding: 12px 16px !important;
  border: 1px solid var(--pr-field-line);
  border-radius: var(--pr-radius);
  background: var(--pr-field-bg);
  color: var(--pr-white) !important;
  font: 700 16px/1.2 var(--pr-font) !important;
  cursor: pointer;
  transition: border-color .2s var(--pr-ease), background-color .2s var(--pr-ease);
}
#wpforms-574 .wpforms-field-radio li input[type="radio"] {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0 !important;
  accent-color: var(--pr-accent);
  width: 18px;
  height: 18px;
}
#wpforms-574 .wpforms-field-radio li input[type="radio"] + label { padding-left: 46px !important; }
#wpforms-574 .wpforms-field-radio li input[type="radio"]:checked + label,
#wpforms-574 .wpforms-field-radio li.wpforms-selected label {
  border-color: var(--pr-accent);
  background: rgba(30, 82, 158, .35);
}
#wpforms-574 .wpforms-field-radio li label:hover { border-color: var(--pr-accent); }
#wpforms-574 input[type="range"] { accent-color: var(--pr-accent); width: 100%; }
#wpforms-574 .wpforms-field-number-slider-hint { color: var(--pr-muted) !important; font: 400 14px/1.4 var(--pr-font) !important; }
#wpforms-574 .wpforms-field-divider { padding-top: 8px !important; }
#wpforms-574 .wpforms-field-divider h3 {
  font: 700 18px/1.2 var(--pr-font) !important;
  letter-spacing: .2px;
  text-transform: none;
  color: var(--pr-accent) !important;
  border-top: 1px solid var(--pr-line);
  padding-top: 20px;
}

/* Validation */
#wpforms-574 label.wpforms-error,
#wpforms-574 em.wpforms-error,
#wpforms-574 .wpforms-error-container {
  color: var(--pr-error) !important;
  font: 400 14px/1.4 var(--pr-font) !important;
  margin-top: 6px !important;
}
#wpforms-574 input.wpforms-error,
#wpforms-574 select.wpforms-error,
#wpforms-574 textarea.wpforms-error {
  border-color: var(--pr-error) !important;
  box-shadow: 0 0 0 3px rgba(250, 91, 91, .25) !important;
}

/* Submit and loading state */
#wpforms-574 .wpforms-submit-container { padding-top: 8px !important; display: flex; align-items: center; gap: 12px; }
#wpforms-574 .wpforms-submit {
  background: var(--pr-primary) !important;
  color: var(--pr-white) !important;
  border: 0 !important;
  min-width: 200px;
  cursor: pointer;
}
#wpforms-574 .wpforms-submit[disabled] { opacity: .7; cursor: progress; }
#wpforms-574 .wpforms-submit-spinner { filter: brightness(0) invert(1); }

/* Confirmation (replaces the default lime-green WPForms box) */
.wpforms-confirmation-container-full,
div[id^="wpforms-confirmation-574"] {
  position: relative;
  background: linear-gradient(135deg, rgba(30, 82, 158, .45) 0%, rgba(0, 0, 0, .85) 70%) !important;
  border: 1px solid var(--pr-accent) !important;
  border-radius: var(--pr-radius) !important;
  box-shadow: 0 0 22px rgba(128, 187, 250, .35) !important;
  color: var(--pr-white) !important;
  font: 400 18px/1.5 var(--pr-font) !important;
  padding: 96px 40px 40px !important;
  margin: 0 !important;
  min-height: 104px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.wpforms-confirmation-container-full::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 36px;
  width: 40px;
  height: 40px;
  margin-left: -20px;
  border-radius: 50%;
  background: var(--pr-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 22px no-repeat;
  box-shadow: 0 0 0 4px rgba(109, 176, 217, .25);
}
.wpforms-confirmation-container-full p {
  margin: 0 !important;
  color: var(--pr-white) !important;
  font: inherit !important;
}
/* After a successful submission the form card stretches to the height of the intro column and the
   confirmation sits in its vertical middle, instead of a short card pinned to the top. */
.pr-contact__card:has(.wpforms-confirmation-container-full) { align-self: stretch !important; }
.pr-contact__card:has(.wpforms-confirmation-container-full) > .e-con-inner { justify-content: center !important; height: 100%; }

@media (max-width: 767px) {
  #wpforms-574 .wpforms-field-radio ul { grid-template-columns: 1fr; }
  #wpforms-574 .wpforms-field-row .wpforms-one-half { width: 100% !important; margin-left: 0 !important; }
  #wpforms-574 .wpforms-field-row .wpforms-one-half + .wpforms-one-half { margin-top: 14px; }
  #wpforms-574 .wpforms-submit { width: 100%; }
  .wpforms-confirmation-container-full,
  div[id^="wpforms-confirmation-574"] { padding: 88px 24px 28px !important; }
  .wpforms-confirmation-container-full::before,
  div[id^="wpforms-confirmation-574"]::before { top: 28px; }
}

/* ---------- Contact page layout ---------- */
.pr-contact, .pr-contact > .e-con-inner { gap: 64px !important; align-items: flex-start !important; }
.pr-contact__intro { flex: 1 1 360px !important; max-width: 440px; gap: 20px !important; position: sticky; top: 140px; }
.pr-contact__card {
  flex: 1 1 560px !important;
  background: linear-gradient(180deg, rgba(11, 18, 32, .94), rgba(0, 0, 0, .94));
  border: 1px solid var(--pr-line);
  border-radius: var(--pr-radius);
  box-shadow: 0 0 22px rgba(128, 187, 250, .25);
  gap: 20px !important;
}
.pr-card-title .elementor-heading-title { font: 700 24px/1.25 var(--pr-font) !important; color: var(--pr-white); }
.pr-lead, .pr-lead p { color: var(--pr-muted); font-size: 18px; }
.pr-contact__details .elementor-icon-list-item { margin: 0 0 14px !important; padding: 0 !important; align-items: center !important; }
.pr-contact__details .elementor-icon-list-text { font: 400 17px/1.45 var(--pr-font) !important; color: var(--pr-white) !important; transition: color .2s var(--pr-ease); }
.pr-contact__details a:hover .elementor-icon-list-text { color: var(--pr-accent) !important; }
.pr-contact__details .elementor-icon-list-icon {
  width: 40px !important; height: 40px; flex: 0 0 40px;
  border-radius: 50%;
  background: rgba(30, 82, 158, .45);
  border: 1px solid rgba(109, 176, 217, .5);
  display: inline-flex !important; align-items: center; justify-content: center;
  margin-right: 14px;
}
.pr-contact__details .elementor-icon-list-icon i { color: var(--pr-accent) !important; font-size: 15px !important; }
@media (max-width: 1024px) {
  .pr-contact__intro { position: static; max-width: none; flex-basis: 100% !important; }
  .pr-contact__card { flex-basis: 100% !important; }
}

/* Role cards: radio sits above the label background, brand ring and dot */
#wpforms-574 .wpforms-field-radio li label { width: 100%; }
#wpforms-574 .wpforms-field-radio li input[type="radio"] { z-index: 2; }
#wpforms-574 .wpforms-field-radio li input[type="radio"]::before { background: transparent !important; border: 2px solid rgba(255, 255, 255, .65) !important; box-shadow: none !important; }
#wpforms-574 .wpforms-field-radio li input[type="radio"]:checked::before { border-color: var(--pr-accent) !important; }
#wpforms-574 .wpforms-field-radio li input[type="radio"]:checked::after { background: var(--pr-accent) !important; border-color: var(--pr-accent) !important; }

/* Form fields use the full card width; paired fields split evenly */
#wpforms-574 .wpforms-field-medium,
#wpforms-574 .wpforms-field-small,
#wpforms-574 .wpforms-field-large { max-width: 100% !important; width: 100% !important; }

/* Back-to-top: clear of the TrustedSite seal, shown only after scrolling (pr-scrolled set by footer script) */
.elementor-location-footer .elementor-element-f6c7c48 {
  bottom: 56px !important;
  opacity: 0; visibility: hidden; transform: translateY(12px);
  transition: opacity .25s var(--pr-ease), transform .25s var(--pr-ease), visibility 0s linear .25s;
}
body.pr-scrolled .elementor-location-footer .elementor-element-f6c7c48 {
  opacity: 1; visibility: visible; transform: none;
  transition: opacity .25s var(--pr-ease), transform .25s var(--pr-ease);
}

/* ---------- Homepage hero call to action ---------- */
.elementor-element-812aa60 { position: relative; }
.pr-hero-cta {
  position: absolute !important;
  left: clamp(24px, 3.5vw, 64px);
  bottom: clamp(40px, 11vh, 120px);
  z-index: 6;
  width: auto !important;
  max-width: 560px;
  gap: 18px !important;
}
.pr-hero-cta__lead, .pr-hero-cta__lead p {
  font: 400 20px/1.45 var(--pr-font) !important;
  color: var(--pr-white) !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .8);
}
.pr-hero-cta__buttons { gap: 14px !important; }
@media (max-width: 767px) {
  .pr-hero-cta { position: static !important; max-width: none; padding: 24px 20px 32px !important; }
  .pr-hero-cta__buttons .elementor-widget-button { flex: 1 1 100%; }
  .pr-hero-cta__buttons .elementor-button { width: 100%; }
}

/* Button glow: see "Button glow system" at the end of this file (applies to every draft button). */

/* Secondary (outline) button */
.pr-btn-outline .elementor-button {
  background: transparent !important;
  border: 2px solid var(--pr-accent) !important;
  color: var(--pr-white) !important;
}
.pr-btn-outline .elementor-button:hover { background: var(--pr-primary) !important; border-color: var(--pr-primary) !important; }
.elementor-button .elementor-button-content-wrapper { gap: 10px; align-items: center; }

/* Nav colors win over the widget's own active-state color */
.elementor-location-header .pr-nav .elementor-nav-menu--main .elementor-item { color: var(--pr-white) !important; }
.elementor-location-header .pr-nav .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .pr-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--pr-accent) !important; }
.elementor-location-header .pr-nav--mobile .elementor-nav-menu--dropdown .elementor-item.elementor-item-active { color: var(--pr-white) !important; }

/* Footer sits above the homepage's fixed particle layer */
.elementor-location-footer { position: relative; z-index: 6; }

/* In-page anchors clear the sticky header */
html { scroll-behavior: smooth; }
#dynamis { scroll-margin-top: 110px; }

/* ---------- Resources page ---------- */
.pr-lead--center, .pr-lead--center p { text-align: center; max-width: 720px; margin-left: auto !important; margin-right: auto !important; }
a.pr-jump {
  min-height: 56px !important;
  padding: 14px 24px !important;
  justify-content: center !important;
  border: 1px solid rgba(109, 176, 217, .45) !important;
}
a.pr-jump .elementor-heading-title { font: 700 16px/1.2 var(--pr-font) !important; letter-spacing: .02em; text-align: center !important; }
a.pr-resource-card {
  width: 100% !important;
  max-width: 640px;
  min-height: 88px;
  padding: 14px 20px 14px 14px !important;
  border: 1px solid rgba(109, 176, 217, .45) !important;
  align-items: center !important;
}
/* A card alone in its row spans the full width; add a second card to the same row and they split 50/50. */
a.pr-resource-card:only-child { --width: 100% !important; max-width: none !important; }
a.pr-resource-card img { border-radius: var(--pr-radius); box-shadow: 0 2px 10px rgba(0, 0, 0, .4); }
a.pr-resource-card .elementor-heading-title { font: 700 18px/1.3 var(--pr-font) !important; color: var(--pr-white) !important; }
.pr-resource-meta, .pr-resource-meta p {
  font: 400 14px/1.4 var(--pr-font) !important;
  color: rgba(255, 255, 255, .82) !important;
  margin: 2px 0 0 !important;
}
.pr-coming-soon {
  border: 1px dashed rgba(109, 176, 217, .6);
  border-radius: var(--pr-radius);
  background: rgba(255, 255, 255, .03);
  padding: 20px 24px;
  max-width: 640px;
}
.pr-coming-soon p { margin: 0 0 6px !important; color: var(--pr-muted); font-size: 16px; }
.pr-coming-soon p strong { color: var(--pr-accent); font-size: 18px; font-weight: 700; letter-spacing: .2px; text-transform: none; }
.pr-coming-soon a { color: var(--pr-white); text-decoration: underline; text-underline-offset: 3px; }
.pr-coming-soon a:hover { color: var(--pr-accent); }
.pr-sidebar { border: 1px solid var(--pr-line) !important; border-radius: var(--pr-radius) !important; }
a.pr-side-link { min-height: 56px !important; padding: 14px 18px !important; }
a.pr-side-link .elementor-heading-title { font: 700 16px/1.2 var(--pr-font) !important; }

/* Resource card: thumbnail left, title with meta line stacked beside it */
a.pr-resource-card .e-con:has(> .pr-resource-meta) {
  display: grid !important;
  grid-template-columns: auto 1fr;
  column-gap: 16px;
  row-gap: 2px;
  align-items: center;
}
a.pr-resource-card .e-con:has(> .pr-resource-meta) > .elementor-widget-image { grid-row: 1 / span 2; }
a.pr-resource-card .e-con:has(> .pr-resource-meta) > .elementor-widget-heading { align-self: end; }
a.pr-resource-card .e-con:has(> .pr-resource-meta) > .pr-resource-meta { align-self: start; }

/* ---------- Shared section components (About and future pages) ---------- */
body { background-color: var(--pr-black); }
.pr-section { padding: 104px 24px !important; gap: 40px !important; background-color: var(--pr-black); }
.pr-cta-band__inner > .pr-btn-row { flex: 0 0 auto !important; width: auto !important; }
.pr-section > .e-con-inner { gap: 40px !important; }
.pr-section--glow {
  background: linear-gradient(90deg, #000 55%, var(--pr-primary) 100%) !important;
  box-shadow: inset 0 0 22px 8px rgba(128, 187, 250, .5);
}
.pr-section--tint { background: linear-gradient(180deg, #000 0%, #07101F 100%) !important; }
.pr-about-hero { padding-top: 88px !important; background: radial-gradient(ellipse at 80% 40%, rgba(30, 82, 158, .55) 0%, #000 60%) !important; }
.pr-split { gap: 64px !important; align-items: center !important; }
.pr-split__text { flex: 1 1 560px !important; gap: 20px !important; }
.pr-split__media { flex: 0 1 420px !important; align-items: center !important; }
.pr-about-mark img { max-width: 380px !important; width: 100%; filter: drop-shadow(0 0 32px rgba(128, 187, 250, .45)); }
.pr-narrow { max-width: 820px; margin: 0 auto; gap: 20px !important; }
.pr-body-lg, .pr-body-lg p { font-size: 20px !important; line-height: 1.6 !important; color: var(--pr-white); }
.pr-btn-row { gap: 14px !important; }
.pr-grid-3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px !important;
  align-items: stretch !important;
}
.pr-pillar, .pr-card {
  background: linear-gradient(180deg, rgba(11, 18, 32, .95), rgba(0, 0, 0, .95));
  border: 1px solid var(--pr-line);
  border-radius: var(--pr-radius);
  transition: transform .2s var(--pr-ease), border-color .2s var(--pr-ease), box-shadow .2s var(--pr-ease);
}
.pr-pillar { padding: 32px 28px; }
.pr-pillar:hover, .pr-card:hover { transform: translateY(-3px); border-color: rgba(109, 176, 217, .6); box-shadow: 0 12px 28px rgba(30, 82, 158, .35); }
.pr-pillar .elementor-icon-box-wrapper { text-align: left !important; }
.pr-pillar .elementor-icon-box-icon { margin-bottom: 18px !important; }
.pr-pillar .elementor-icon {
  width: 52px; height: 52px; padding: 0 !important;
  display: inline-flex !important; align-items: center; justify-content: center;
  background: rgba(30, 82, 158, .5); border: 1px solid rgba(109, 176, 217, .55); border-radius: 50%;
  font-size: 20px !important; color: var(--pr-accent) !important;
}
.pr-pillar .elementor-icon i, .pr-pillar .elementor-icon svg { color: var(--pr-accent) !important; fill: var(--pr-accent) !important; width: 20px; height: 20px; }
.pr-pillar .elementor-icon-box-title { font: 700 22px/1.25 var(--pr-font) !important; color: var(--pr-white) !important; margin: 0 0 10px !important; }
.pr-pillar .elementor-icon-box-description { font: 400 17px/1.55 var(--pr-font) !important; color: var(--pr-muted) !important; }
.pr-card { padding: 0 0 24px !important; gap: 14px !important; overflow: hidden; }
.pr-card > .elementor-widget:not(.pr-card__media) { padding: 0 24px; }
.pr-card > .e-con { padding: 0 24px !important; }
.pr-card__media { margin: 0 0 6px !important; }
.pr-card__media img { width: 100% !important; height: 200px !important; object-fit: cover; border-radius: 0 !important; background: #05080F; }
.pr-card__media--contain img { object-fit: contain; padding: 24px; }
.pr-card .elementor-heading-title { font: 700 22px/1.25 var(--pr-font) !important; }
.pr-card__text, .pr-card__text p { font: 400 16px/1.55 var(--pr-font) !important; color: var(--pr-muted) !important; }
.pr-card__links { gap: 18px !important; margin-top: auto !important; }
.pr-btn-link .elementor-button {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  padding: 6px 0 !important; min-height: 0 !important;
  color: var(--pr-accent) !important; font-size: 18px !important;
}
.pr-btn-link .elementor-button:hover { color: var(--pr-white) !important; transform: none; background: transparent !important; }
.pr-badge {
  display: inline-block; padding: 4px 10px; border-radius: 999px;
  background: rgba(109, 176, 217, .15); border: 1px solid rgba(109, 176, 217, .5);
  color: var(--pr-accent); font: 700 12px/1.4 var(--pr-font); letter-spacing: .12em; text-transform: uppercase;
}
.pr-cta-band { background: linear-gradient(90deg, var(--pr-primary) 0%, #0A1A33 55%, #000 100%) !important; padding: 72px 24px !important; }
.pr-cta-band__inner { justify-content: space-between !important; align-items: center !important; gap: 32px !important; }
.pr-cta-band__text { flex: 1 1 480px !important; gap: 10px !important; }
@media (max-width: 1024px) {
  .pr-section { padding: 80px 24px !important; }
  .pr-grid-3 { grid-template-columns: 1fr 1fr; }
  .pr-split__media { flex-basis: 300px !important; }
}
@media (max-width: 767px) {
  .pr-section { padding: 56px 20px !important; }
  .pr-grid-3 { grid-template-columns: 1fr; }
  .pr-split { flex-direction: column-reverse !important; gap: 32px !important; }
  .pr-split__media { flex-basis: auto !important; }
  .pr-about-mark img { max-width: 200px !important; }
  .pr-btn-row .elementor-widget-button { flex: 1 1 100%; }
  .pr-btn-row .elementor-button { width: 100%; }
  .pr-body-lg, .pr-body-lg p { font-size: 18px !important; }
}

/* Icon-box titles used as section headings follow the H2 scale */
[data-elementor-type="wp-page"] h2.elementor-icon-box-title,
[data-elementor-type="wp-page"] h2.elementor-icon-box-title > * {
  font: 700 36px/1.2 var(--pr-font) !important;
  text-transform: none !important;
}
@media (max-width: 1024px) {
  [data-elementor-type="wp-page"] h2.elementor-icon-box-title,
  [data-elementor-type="wp-page"] h2.elementor-icon-box-title > * { font-size: 30px !important; }
}

/* ---------- Mobile fit and touch targets (audit cycle 2) ---------- */
@media (max-width: 767px) {
  .pr-cta-band__inner > .pr-btn-row { flex: 1 1 100% !important; width: 100% !important; }
  .pr-contact__details .elementor-icon-list-text { overflow-wrap: anywhere; }
  .pr-footer .pr-footer__links .elementor-icon-list-item > a,
  .pr-footer .pr-footer__contact .elementor-icon-list-item > a { min-height: 44px; display: flex; align-items: center; }
  .pr-footer .pr-footer__links .elementor-icon-list-item,
  .pr-footer .pr-footer__contact .elementor-icon-list-item { margin-bottom: 0 !important; }
  .pr-btn-link .elementor-button { min-height: 44px !important; }
}
@media (max-width: 360px) {
  #wpforms-574 .g-recaptcha { transform: scale(.86); transform-origin: 0 0; height: 68px; }
  .pr-contact__card { padding-left: 16px !important; padding-right: 16px !important; }
}

/* ---------- Audit cycle 3 ---------- */
/* Mobile dropdown is dark and on-brand (beats the widget's own white panel) */
.elementor-location-header .pr-nav--mobile .elementor-nav-menu--dropdown { background: #05080F !important; }
.elementor-location-header .pr-nav--mobile .elementor-nav-menu--dropdown .elementor-item { background: transparent !important; color: var(--pr-white) !important; text-align: left; }
.elementor-location-header .pr-nav--mobile .elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-location-header .pr-nav--mobile .elementor-nav-menu--dropdown .elementor-item.elementor-item-active { background: var(--pr-primary) !important; color: var(--pr-white) !important; }

/* Tight heading stacks in split layouts */
.pr-split__text .elementor-heading-title { margin: 0 !important; }

/* Product card images show whole */
.pr-card__media img { object-fit: contain !important; padding: 12px; }

@media (max-width: 767px) {
  /* Mobile header: logo, compact CTA and menu toggle on one row */
  .elementor-location-header .elementor-element-8907d15 {
    flex-wrap: nowrap !important; align-items: center !important;
    justify-content: space-between !important; gap: 10px !important;
    padding-top: 8px !important; padding-bottom: 8px !important;
  }
  .elementor-location-header .elementor-element-2569e29 { flex: 0 0 auto !important; width: auto !important; margin: 0 !important; }
  .elementor-location-header .elementor-element-e6c00ea { min-height: 72px !important; }
  .elementor-location-header .elementor-element-8907d15 { padding-left: 16px !important; padding-right: 16px !important; }
  .elementor-location-header .elementor-element-2569e29 img { width: 48px !important; height: 48px !important; max-width: none !important; object-fit: contain; }
  .elementor-location-header .elementor-element-63b3f19 { margin: 0 0 0 auto !important; width: auto !important; }
  .elementor-location-header .pr-header__cta .elementor-button { min-height: 44px; padding: 0 16px !important; font-size: 15px !important; }
  .elementor-location-header .pr-header__cta .elementor-button-icon { display: none !important; }
  .elementor-location-header .pr-nav--mobile { flex: 0 0 auto !important; width: auto !important; margin: 0 !important; }

  /* Back-to-top becomes a compact icon button with an accessible label */
  .elementor-location-footer .elementor-element-f6c7c48 .elementor-button {
    width: 48px; height: 48px; min-height: 48px; padding: 0 !important; border-radius: 50% !important;
  }
  .elementor-location-footer .elementor-element-f6c7c48 .elementor-button-text {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
  }

  .pr-contact__details .elementor-icon-list-text { font-size: 15px !important; overflow-wrap: normal; }
  [data-elementor-type="wp-page"] h2.elementor-icon-box-title,
  [data-elementor-type="wp-page"] h2.elementor-icon-box-title > * { font-size: 26px !important; }
}
@media (max-width: 360px) {
  #wpforms-574 .wpforms-recaptcha-container { transform: scale(.86); transform-origin: 0 0; height: 68px; }
}

/* ---------- Dynamic: DYNAMIS feature tour (home draft, script in HTML widget pr-feature-tour) ---------- */
/* Desktop: each callout layer reveals when its own circle centre reaches the middle of the viewport */
.pr-tour .pr-tour-layer.elementor-element {
  animation: none !important;
  visibility: visible !important;
  opacity: 0;
  transform: scale(.97);
  transition: opacity .6s var(--pr-ease), transform .6s var(--pr-ease);
}
.pr-tour .pr-tour-layer.elementor-element.is-on { opacity: 1; transform: none; }
.pr-tour .pr-tour-layer img { transition: filter .6s var(--pr-ease); }
.pr-tour .pr-tour-layer.is-new img { filter: drop-shadow(0 0 12px rgba(109, 176, 217, .95)) brightness(1.12); }
/* Phones: each round photo fades in (same effect) inside a ring matching the one drawn in the photo, when the
   photo's centre reaches the middle of the viewport */
.pr-tour-dot .elementor-widget-container { position: relative; }
.pr-tour-dot .elementor-widget-container::before {
  content: ""; position: absolute; left: 0; top: 0; width: 100%; aspect-ratio: 1; box-sizing: border-box;
  border: 2.5px solid #1D56A5; border-radius: 50%; box-shadow: 0 0 10px rgba(30, 82, 158, .55); pointer-events: none;
}
.pr-tour-dot img { position: relative; opacity: 0; transform: scale(.97); transition: opacity .6s var(--pr-ease), transform .6s var(--pr-ease), filter .6s var(--pr-ease); }
.pr-tour-dot.is-on img { opacity: 1; transform: none; }
.pr-tour-dot.is-new img { filter: drop-shadow(0 0 10px rgba(109, 176, 217, .95)) brightness(1.12); }
/* Mobile: the feature row in the middle of the screen is in focus */
.pr-js-tour .pr-feature-row { transition: opacity .35s var(--pr-ease), background-color .35s var(--pr-ease); border-radius: var(--pr-radius); }
.pr-js-tour.pr-tour-has-active .pr-feature-row:not(.is-active) { opacity: .6; }
.pr-js-tour .pr-feature-row.is-active { opacity: 1; background-color: rgba(30, 82, 158, .22); }
@media (prefers-reduced-motion: reduce) {
  .pr-tour .pr-tour-layer.elementor-element { opacity: 1 !important; transform: none !important; transition: none !important; }
  .pr-tour .pr-tour-layer img { filter: none !important; }
  .pr-tour-dot img { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
  .pr-js-tour.pr-tour-has-active .pr-feature-row:not(.is-active) { opacity: 1; }
}

/* ---------- Dynamic: Promethean flame reveal (v2, replaces the chevron peel) ----------
   Add class pr-flame-reveal to a section container. Desktop (1025 px+) with motion allowed only.
   The script in the draft footer (pr-footer-scripts.html) draws one SVG cover per section whose top
   edge is a flame boundary drawn after the PR logo flame (leans left like the logo), then slides it
   down as you scroll. Options: pr-flame-pos-NN (flame centre at NN% of the width), pr-flame-mirror
   (flame leans right, for flames left of centre),
   pr-flame-reveal--tint (cover colour matches the dark-blue tint section above). */
.pr-flame-reveal { position: relative; overflow: clip !important; }
.pr-flame-reveal.pr-flame-reveal--tint { --pr-cover: #07101F; }
.pr-flame-reveal .pr-flame-svg {
  position: absolute; left: 0; top: 0; width: 100%;
  z-index: 6; display: block; overflow: visible;
  pointer-events: none; will-change: transform;
}
.pr-flame-reveal .pr-flame-svg path { shape-rendering: geometricPrecision; }
.pr-flame-reveal .pr-flame-cover { fill: var(--pr-cover, #000); }
.pr-flame-reveal .pr-flame-edge {
  fill: none; stroke: #6FD6FF; stroke-width: 2.5;
  stroke-linejoin: round; stroke-linecap: round;
}
.pr-flame-reveal.pr-flame-on .pr-reveal-layer { will-change: transform; }

/* References read at a legible size */
.elementor-element-6949158 li, .elementor-element-6949158 p { font-size: 14px !important; line-height: 1.5 !important; }

/* ---------- Motion: one entrance style, gentler and quicker ---------- */
@keyframes prFadeUp {
  from { opacity: 0; transform: translate3d(0, 24px, 0); }
  to   { opacity: 1; transform: none; }
}
[data-elementor-type="wp-page"] .animated {
  animation-name: prFadeUp !important;
  animation-duration: .7s !important;
  animation-timing-function: var(--pr-ease) !important;
}

@media (prefers-reduced-motion: reduce) {
  .elementor-invisible { visibility: visible !important; opacity: 1 !important; }
  .animated, .pr-reveal { animation: none !important; transition: none !important; transform: none !important; opacity: 1 !important; }
  .elementor-button:hover, [data-elementor-type="wp-page"] a.e-con:hover { transform: none; }
  html { scroll-behavior: auto !important; }
}

/* ==========================================================================
   Button glow system (Oct 29, approved on the home hero, extended to every draft button)
   Filled buttons: blue gradient, light-cyan inset edge rings (no size change), 14 px glow and
   32 px halo. Outline buttons (.pr-btn-outline): dark interior, cyan 2 px border, outer glow.
   Hover and keyboard focus brighten; phones get a softer glow; Reduce Motion removes transitions.
   Scoped to the draft header, page content and footer, so the site cookie popup is untouched.
   Not included on purpose: text links (.pr-btn-link) and document cards (.pr-resource-card).
   ========================================================================== */
:root {
  --pr-glow-fill: linear-gradient(180deg, #2F6FD6 0%, #1E56B0 100%);
  --pr-glow-fill-hover: linear-gradient(180deg, #3A7AE2 0%, #2462C2 100%);
  --pr-glow-primary:
    inset 0 0 0 2px #A5E6FF,
    inset 0 0 0 4px rgba(190, 235, 255, .2),
    inset 0 0 14px rgba(143, 219, 255, .4),
    0 0 14px rgba(70, 175, 255, .9),
    0 0 32px rgba(30, 120, 255, .6);
  --pr-glow-primary-hover:
    inset 0 0 0 2px #C8F0FF,
    inset 0 0 0 4px rgba(190, 235, 255, .28),
    inset 0 0 16px rgba(143, 219, 255, .5),
    0 0 18px rgba(90, 190, 255, 1),
    0 0 42px rgba(30, 120, 255, .7);
  --pr-glow-outline:
    inset 0 0 12px rgba(92, 200, 255, .35),
    0 0 12px rgba(92, 200, 255, .85),
    0 0 30px rgba(30, 140, 255, .5);
  --pr-glow-outline-hover:
    inset 0 0 16px rgba(92, 200, 255, .5),
    0 0 18px rgba(110, 210, 255, 1),
    0 0 40px rgba(30, 140, 255, .65);
}
@media (max-width: 767px) {
  :root {
    --pr-glow-primary: inset 0 0 0 1.5px #8FDBFF, inset 0 0 10px rgba(143, 219, 255, .3), 0 0 8px rgba(64, 170, 255, .7), 0 0 18px rgba(30, 120, 255, .4);
    --pr-glow-outline: inset 0 0 8px rgba(92, 200, 255, .28), 0 0 8px rgba(92, 200, 255, .65), 0 0 18px rgba(30, 140, 255, .35);
  }
}

/* Filled buttons */
.elementor-location-header .elementor-widget-button:not(.pr-btn-outline):not(.pr-btn-link) .elementor-button,
[data-elementor-type="wp-page"] .elementor-widget-button:not(.pr-btn-outline):not(.pr-btn-link) .elementor-button,
.elementor-location-footer .elementor-widget-button:not(.pr-btn-outline):not(.pr-btn-link) .elementor-button,
#wpforms-574 .wpforms-submit,
[data-elementor-type="wp-page"] a.pr-jump,
[data-elementor-type="wp-page"] a.pr-side-link {
  background: var(--pr-glow-fill) !important;
  border: 0 !important;
  color: var(--pr-white) !important;
  box-shadow: var(--pr-glow-primary) !important;
  transition: box-shadow .28s ease, background .28s ease, transform .2s var(--pr-ease) !important;
}
.elementor-location-header .elementor-widget-button:not(.pr-btn-outline):not(.pr-btn-link) .elementor-button:is(:hover, :focus-visible),
[data-elementor-type="wp-page"] .elementor-widget-button:not(.pr-btn-outline):not(.pr-btn-link) .elementor-button:is(:hover, :focus-visible),
.elementor-location-footer .elementor-widget-button:not(.pr-btn-outline):not(.pr-btn-link) .elementor-button:is(:hover, :focus-visible),
#wpforms-574 .wpforms-submit:is(:hover, :focus-visible),
[data-elementor-type="wp-page"] a.pr-jump:is(:hover, :focus-visible),
[data-elementor-type="wp-page"] a.pr-side-link:is(:hover, :focus-visible) {
  background: var(--pr-glow-fill-hover) !important;
  box-shadow: var(--pr-glow-primary-hover) !important;
}

/* Outline buttons */
.elementor-location-header .pr-btn-outline .elementor-button,
[data-elementor-type="wp-page"] .pr-btn-outline .elementor-button,
.elementor-location-footer .pr-btn-outline .elementor-button {
  background: rgba(2, 10, 26, .55) !important;
  border: 2px solid #6FD6FF !important;
  color: var(--pr-white) !important;
  box-shadow: var(--pr-glow-outline) !important;
  transition: box-shadow .28s ease, border-color .28s ease, background .28s ease, transform .2s var(--pr-ease) !important;
}
.elementor-location-header .pr-btn-outline .elementor-button:is(:hover, :focus-visible),
[data-elementor-type="wp-page"] .pr-btn-outline .elementor-button:is(:hover, :focus-visible),
.elementor-location-footer .pr-btn-outline .elementor-button:is(:hover, :focus-visible) {
  background: rgba(2, 16, 40, .72) !important;
  border-color: #A8EAFF !important;
  box-shadow: var(--pr-glow-outline-hover) !important;
}

/* Document cards (.pr-doc-card: Home IFU card, Resources IFU and brochure cards): a softer version
   of the button glow, a 1 px cyan edge and about half the halo, so they read one step below buttons */
:root {
  --pr-glow-card:
    inset 0 0 0 1px rgba(165, 230, 255, .6),
    inset 0 0 10px rgba(143, 219, 255, .18),
    0 0 8px rgba(70, 175, 255, .45),
    0 0 20px rgba(30, 120, 255, .25);
  --pr-glow-card-hover:
    inset 0 0 0 1px rgba(200, 240, 255, .85),
    inset 0 0 12px rgba(143, 219, 255, .28),
    0 0 12px rgba(90, 190, 255, .65),
    0 0 28px rgba(30, 120, 255, .4);
}
@media (max-width: 767px) {
  :root { --pr-glow-card: inset 0 0 0 1px rgba(165, 230, 255, .55), 0 0 6px rgba(70, 175, 255, .4), 0 0 14px rgba(30, 120, 255, .22); }
}
[data-elementor-type="wp-page"] a.pr-doc-card {
  background: linear-gradient(180deg, #2A64C4 0%, #1E52A6 100%) !important;
  border: 0 !important;
  box-shadow: var(--pr-glow-card) !important;
  transition: box-shadow .28s ease, background .28s ease, transform .2s var(--pr-ease) !important;
}
[data-elementor-type="wp-page"] a.pr-doc-card:is(:hover, :focus-visible) {
  background: linear-gradient(180deg, #3170D0 0%, #2258B2 100%) !important;
  box-shadow: var(--pr-glow-card-hover) !important;
}

@media (prefers-reduced-motion: reduce) {
  .elementor-button, .wpforms-submit, a.pr-jump, a.pr-side-link, a.pr-doc-card { transition: none !important; transform: none !important; }
}

/* ---------- Whole-card links (About product cards) ----------
   A card with pr-card-link is clickable anywhere: its main button (widget class pr-card-primary) stretches an
   invisible ::after over the card, so the card follows that button's link. Other buttons in the card (DYNAMIS
   "Resources") sit above the overlay and keep their own links. The button stays the real, focusable link. */
.pr-card.pr-card-link { cursor: pointer; }
.pr-card-link .pr-card__links, .pr-card-link .pr-card-primary { position: static !important; }
.pr-card-link .pr-card-primary a.elementor-button::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.pr-card-link .elementor-widget-button:not(.pr-card-primary) { position: relative !important; z-index: 3; }
.pr-card-link:focus-within { border-color: rgba(109, 176, 217, .6); box-shadow: 0 12px 28px rgba(30, 82, 158, .35); }

/* ---------- Pillar popups (About "What guides our work") ----------
   Icon boxes with pr-pillar-popup open a native <dialog> (script in the draft footer). Same icon, title and
   text as the card, plus an image: set data-pr-popup-image / data-pr-popup-alt in Elementor Attributes;
   until then the media pane shows the card icon on a blue glow with an "Image placeholder" tag. */
.pr-pillar.pr-pillar-popup { cursor: pointer; }
.pr-pillar.pr-pillar-popup:focus-visible { outline: 2px solid var(--pr-accent); outline-offset: 3px; transform: translateY(-3px); border-color: rgba(109, 176, 217, .6); box-shadow: 0 12px 28px rgba(30, 82, 158, .35); }
html.pr-modal-open { overflow: hidden; }
dialog.pr-modal { padding: 0; border: 0; background: transparent; color: var(--pr-white); width: min(880px, calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 48px); overflow: visible; }
dialog.pr-modal::backdrop { background: rgba(2, 6, 14, .74); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.pr-modal__panel { position: relative; display: grid; grid-template-columns: 1fr 1fr; max-height: calc(100dvh - 48px); overflow: auto; background: linear-gradient(180deg, #0D1729 0%, #05080F 100%); border: 1px solid rgba(109, 176, 217, .45); border-radius: var(--pr-radius); box-shadow: 0 0 0 1px rgba(30, 82, 158, .25), 0 24px 70px rgba(0, 0, 0, .6), 0 0 48px rgba(30, 82, 158, .35); }
.pr-modal__media { position: relative; min-height: 340px; background: #05080F; overflow: hidden; }
.pr-modal__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pr-modal__media--placeholder { display: grid; place-items: center; background: radial-gradient(circle at 50% 45%, rgba(58, 134, 232, .45) 0%, rgba(30, 82, 158, .18) 38%, rgba(5, 8, 15, 0) 70%), #05080F; }
.pr-modal__media--placeholder svg { width: 84px; height: 84px; fill: var(--pr-accent); filter: drop-shadow(0 0 18px rgba(111, 214, 255, .55)); }
.pr-modal__tag { position: absolute; left: 16px; bottom: 14px; font: 700 12px/1 var(--pr-font); letter-spacing: .6px; text-transform: uppercase; color: var(--pr-accent); padding: 7px 10px; border: 1px dashed rgba(109, 176, 217, .55); border-radius: 999px; background: rgba(5, 8, 15, .6); }
.pr-modal__body { padding: 48px 44px 44px; display: flex; flex-direction: column; justify-content: center; }
.pr-modal__icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-bottom: 20px; border-radius: 50%; background: rgba(30, 82, 158, .35); border: 1px solid rgba(109, 176, 217, .55); }
.pr-modal__icon svg { width: 22px; height: 22px; fill: var(--pr-accent); }
dialog.pr-modal h2.pr-modal__title { font: 700 30px/1.2 var(--pr-font) !important; color: var(--pr-white) !important; margin: 0 0 14px !important; letter-spacing: 0; text-transform: none !important; }
dialog.pr-modal .pr-modal__text, dialog.pr-modal .pr-modal__text p { font: 400 18px/1.6 var(--pr-font) !important; color: var(--pr-muted) !important; margin: 0 !important; }
.pr-modal__close { position: absolute; top: 12px; right: 12px; z-index: 2; width: 44px; height: 44px; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center; border-radius: 50% !important; border: 1px solid rgba(109, 176, 217, .5) !important; background: rgba(5, 8, 15, .7) !important; color: var(--pr-white) !important; cursor: pointer; box-shadow: none !important; transition: background-color .2s var(--pr-ease), border-color .2s var(--pr-ease); }
.pr-modal__close svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; fill: none; }
.pr-modal__close:hover { background: rgba(30, 82, 158, .55) !important; border-color: var(--pr-accent) !important; }
.pr-modal__close:focus-visible { outline: 2px solid var(--pr-accent); outline-offset: 2px; }
dialog.pr-modal[open] { animation: pr-modal-in .22s var(--pr-ease); }
dialog.pr-modal[open]::backdrop { animation: pr-modal-fade .22s ease-out; }
dialog.pr-modal.is-closing { animation: pr-modal-out .16s ease-in forwards; }
dialog.pr-modal.is-closing::backdrop { animation: pr-modal-fade .16s ease-in reverse forwards; }
@keyframes pr-modal-in { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes pr-modal-out { to { opacity: 0; transform: translateY(8px) scale(.98); } }
@keyframes pr-modal-fade { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 767px) {
  .pr-modal__panel { grid-template-columns: 1fr; }
  .pr-modal__media { min-height: 190px; }
  .pr-modal__body { padding: 28px 24px 30px; }
  dialog.pr-modal h2.pr-modal__title { font-size: 24px !important; }
  dialog.pr-modal .pr-modal__text, dialog.pr-modal .pr-modal__text p { font-size: 17px !important; }
}
@media (prefers-reduced-motion: reduce) {
  dialog.pr-modal[open], dialog.pr-modal[open]::backdrop, dialog.pr-modal.is-closing, dialog.pr-modal.is-closing::backdrop { animation: none; }
}

/* ---------- Our Mission: two columns with the team photo carousel (About) ----------
   Section f979e1d gets pr-mission-split: mission copy (pr-mission-copy) left, carousel column (pr-mission-media)
   right, about 55/45. Below 1025px they stack, copy first. The carousel markup is built by the footer script from the
   Image Gallery widget (pr-team-carousel); the stage keeps the photos' 1852 x 1402 shape, so nothing is cropped
   and changing photos never shifts the layout. Captions share one grid cell, so the caption row is always as
   tall as the longest caption. */
.pr-mission-split > .e-con-inner { flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; gap: 56px !important; }
.pr-mission-split .pr-mission-copy { flex: 1.22 1 0 !important; min-width: 0; max-width: none !important; width: auto !important; margin: 0 !important; gap: 20px !important; }
.pr-mission-split .pr-mission-media { flex: 1 1 0 !important; min-width: 0; width: auto !important; padding: 0 !important; }
@media (max-width: 1024px) {
  .pr-mission-split > .e-con-inner { flex-direction: column !important; align-items: stretch !important; gap: 40px !important; }
  .pr-mission-split .pr-mission-copy, .pr-mission-split .pr-mission-media { flex: 0 0 auto !important; width: 100% !important; max-width: 720px !important; margin: 0 auto !important; }
}
.pr-team-carousel .gallery { display: grid !important; gap: 16px; margin: 0 !important; }
.pr-team-carousel .gallery-item { margin: 0 !important; width: 100% !important; max-width: none !important; }
.pr-team-carousel .gallery-item img { width: 100%; height: auto; border-radius: var(--pr-radius); border: 0 !important; }
.pr-carousel { position: relative; }
.pr-carousel__stage { position: relative; aspect-ratio: 1852 / 1402; border-radius: var(--pr-radius); overflow: hidden; background: #05080F; border: 1px solid rgba(109, 176, 217, .45); box-shadow: 0 0 0 1px rgba(30, 82, 158, .2), 0 18px 44px rgba(0, 0, 0, .55), 0 0 32px rgba(30, 82, 158, .3); touch-action: pan-y; }
.pr-carousel__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .45s var(--pr-ease), visibility 0s linear .45s; }
.pr-carousel__slide.is-active { opacity: 1; visibility: visible; transition: opacity .45s var(--pr-ease), visibility 0s; }
.pr-carousel__slide img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 0 !important; }
.pr-carousel__arrow { position: absolute; top: 50%; z-index: 2; width: 44px; height: 44px; margin-top: -22px; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center; border-radius: 50% !important; border: 1px solid rgba(109, 176, 217, .55) !important; background: rgba(5, 8, 15, .62) !important; color: var(--pr-white) !important; cursor: pointer; box-shadow: none !important; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); transition: background-color .2s var(--pr-ease), border-color .2s var(--pr-ease); }
.pr-carousel__arrow--prev { left: 14px; }
.pr-carousel__arrow--next { right: 14px; }
.pr-carousel__arrow svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.pr-carousel__arrow:hover { background: rgba(30, 82, 158, .75) !important; border-color: var(--pr-accent) !important; }
.pr-carousel__arrow:focus-visible, .pr-carousel__thumb:focus-visible { outline: 2px solid var(--pr-accent); outline-offset: 2px; }
.pr-carousel__meta { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-top: 14px; }
.pr-carousel__captions { display: grid; flex: 1 1 auto; min-width: 0; }
.pr-carousel__caption { grid-area: 1 / 1; margin: 0 !important; font: 400 15px/1.5 var(--pr-font) !important; color: var(--pr-muted) !important; opacity: 0; visibility: hidden; transition: opacity .3s var(--pr-ease); }
.pr-carousel__caption.is-active { opacity: 1; visibility: visible; }
.pr-carousel__count { flex: 0 0 auto; font: 700 13px/1.6 var(--pr-font); letter-spacing: .4px; color: var(--pr-accent); }
.pr-carousel__thumbs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-top: 14px; overflow-x: auto; scrollbar-width: none; }
.pr-carousel__thumbs::-webkit-scrollbar { display: none; }
.pr-carousel__thumb { aspect-ratio: 1852 / 1402; padding: 0 !important; border: 1px solid rgba(255, 255, 255, .14) !important; border-radius: var(--pr-radius) !important; overflow: hidden; background: #05080F !important; cursor: pointer; opacity: .55; box-shadow: none !important; transition: opacity .2s var(--pr-ease), border-color .2s var(--pr-ease), box-shadow .2s var(--pr-ease); }
.pr-carousel__thumb img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 0 !important; }
.pr-carousel__thumb:hover { opacity: .85; }
.pr-carousel__thumb[aria-current="true"] { opacity: 1; border-color: var(--pr-accent) !important; box-shadow: 0 0 0 1px var(--pr-accent), 0 0 14px rgba(109, 176, 217, .35) !important; }
.pr-carousel__live { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@media (max-width: 600px) {
  .pr-carousel__arrow { width: 44px; height: 44px; margin-top: -22px; }
  .pr-carousel__arrow--prev { left: 10px; }
  .pr-carousel__arrow--next { right: 10px; }
  .pr-carousel__thumbs { grid-template-columns: repeat(6, 72px); }
  .pr-carousel__caption { font-size: 14px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .pr-carousel__slide, .pr-carousel__slide.is-active, .pr-carousel__caption { transition: none; }
}

/* ---------- Team carousel auto-advance: pause/play button and progress line ----------
   The thin line along the bottom of the photo fills over the auto-advance delay (--pr-carousel-delay, set by
   the script) and only runs while the carousel is actually advancing. */
.pr-carousel__controls { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 10px; }
.pr-carousel__play { width: 44px; height: 44px; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center; border-radius: 50% !important; border: 1px solid rgba(109, 176, 217, .5) !important; background: rgba(5, 8, 15, .6) !important; color: var(--pr-white) !important; cursor: pointer; box-shadow: none !important; transition: background-color .2s var(--pr-ease), border-color .2s var(--pr-ease); }
.pr-carousel__play[hidden] { display: none; }
.pr-carousel__play svg { width: 14px; height: 14px; fill: currentColor; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.pr-carousel__play:hover { background: rgba(30, 82, 158, .75) !important; border-color: var(--pr-accent) !important; }
.pr-carousel__play:focus-visible { outline: 2px solid var(--pr-accent); outline-offset: 2px; }
.pr-carousel__progress { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; height: 2px; background: linear-gradient(90deg, rgba(111, 214, 255, .35), var(--pr-accent)); transform: scaleX(0); transform-origin: left center; pointer-events: none; }
.pr-carousel.is-running .pr-carousel__progress { animation: pr-carousel-progress var(--pr-carousel-delay, 6000ms) linear forwards; }
@keyframes pr-carousel-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
  .pr-carousel.is-running .pr-carousel__progress { animation: none; }
}

/* ---------- Pillar cards with images (About "What guides our work") ----------
   Boxes with pr-pillar--media show their popup image (data-pr-popup-image) across the top of the card at 16:9.
   The ::before reserves that space before the script adds the image, so the cards never jump. The icon badge
   overlaps the image edge. With an image, the popup stacks (pr-modal--stacked): full-width 16:9 image on top,
   text below, so wide product shots are never cropped. */
.pr-pillar.pr-pillar--media { position: relative; padding-top: 0 !important; overflow: hidden; }
.pr-pillar--media > .elementor-widget-container::before { content: ""; display: block; aspect-ratio: 16 / 9; margin: 0 -28px; }
.pr-pillar__media { position: absolute; top: 0; left: 0; right: 0; z-index: 1; aspect-ratio: 16 / 9; overflow: hidden; background: #05080F; border-bottom: 1px solid rgba(109, 176, 217, .28); pointer-events: none; }
.pr-pillar__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 18, 32, 0) 62%, rgba(11, 18, 32, .55) 100%); }
.pr-pillar__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--pr-ease); }
.pr-pillar--media:hover .pr-pillar__media img, .pr-pillar--media:focus-visible .pr-pillar__media img { transform: scale(1.04); }
.pr-pillar--media .elementor-icon-box-icon { position: relative; z-index: 2; margin-top: -26px !important; }
.pr-pillar--media .elementor-icon { background: #0F2547 !important; box-shadow: 0 0 0 4px #0B1220, 0 6px 16px rgba(0, 0, 0, .45); }
dialog.pr-modal.pr-modal--stacked { width: min(760px, calc(100% - 32px)); }
.pr-modal--stacked .pr-modal__panel { grid-template-columns: 1fr; }
.pr-modal--stacked .pr-modal__media { min-height: 0; aspect-ratio: 16 / 9; border-bottom: 1px solid rgba(109, 176, 217, .28); }
.pr-modal--stacked .pr-modal__body { padding: 0 40px 36px; }
.pr-modal--stacked .pr-modal__icon { position: relative; z-index: 2; margin-top: -26px; background: #0F2547; box-shadow: 0 0 0 4px #0D1729, 0 6px 16px rgba(0, 0, 0, .45); }
@media (max-width: 767px) {
  .pr-modal--stacked .pr-modal__body { padding: 0 24px 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .pr-pillar__media img { transition: none; }
  .pr-pillar--media:hover .pr-pillar__media img, .pr-pillar--media:focus-visible .pr-pillar__media img { transform: none; }
}

/* ---------- Home: DYNAMIS resources with the animation video (section e0b4127) ----------
   pr-res-split puts the video (pr-res-media) left and the title, divider and document cards (pr-res-content)
   right, 50/50; the cards stack (pr-res-docs). Below 1025px everything stacks, video first.
   pr-video styles Elementor's Video widget like the team carousel: 16:9 still frame (image overlay) with a
   glowing round play button; clicking plays the video in place with controls. */
.pr-res-split { flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; gap: 56px !important; }
.pr-res-split > .pr-res-media, .pr-res-split > .pr-res-content { flex: 1 1 0 !important; min-width: 0; width: auto !important; padding: 0 !important; }
.pr-res-content { gap: 20px !important; }
.pr-res-content > .e-con:first-child { flex-wrap: wrap !important; align-items: center !important; gap: 16px 24px !important; padding: 0 !important; }
.pr-res-content .pr-res-docs { flex-direction: column !important; align-items: stretch !important; gap: 16px !important; padding: 0 !important; }
.pr-res-content .pr-res-docs > a.pr-doc-card { width: 100% !important; max-width: none !important; }
@media (max-width: 1024px) {
  .pr-res-split { flex-direction: column !important; align-items: stretch !important; gap: 40px !important; }
  .pr-res-split > .pr-res-media, .pr-res-split > .pr-res-content { flex: 0 0 auto !important; width: 100% !important; }
}
.pr-video { width: 100%; border-radius: var(--pr-radius); overflow: hidden; border: 1px solid rgba(109, 176, 217, .45); background: #05080F; box-shadow: 0 0 0 1px rgba(30, 82, 158, .2), 0 18px 44px rgba(0, 0, 0, .55), 0 0 32px rgba(30, 82, 158, .3); }
.pr-video .elementor-wrapper, .pr-video video, .pr-video .elementor-custom-embed-image-overlay { border-radius: 0 !important; }
.pr-video .elementor-custom-embed-image-overlay::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 50%, rgba(5, 8, 15, 0) 30%, rgba(5, 8, 15, .45) 100%); pointer-events: none; }
.pr-video .elementor-custom-embed-play { z-index: 1; width: 92px; height: 92px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(5, 8, 15, .5); border: 2px solid rgba(255, 255, 255, .9); box-shadow: 0 0 0 6px rgba(109, 176, 217, .18), 0 0 28px rgba(111, 214, 255, .45); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); transition: transform .3s var(--pr-ease), background-color .3s var(--pr-ease), box-shadow .3s var(--pr-ease); }
.pr-video .elementor-custom-embed-play i, .pr-video .elementor-custom-embed-play svg { font-size: 36px !important; width: 36px !important; height: 36px !important; margin-left: 5px; color: #fff !important; fill: #fff !important; opacity: 1 !important; text-shadow: none !important; filter: none !important; }
.pr-video .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play, .pr-video .elementor-custom-embed-play:focus-visible { transform: translate(-50%, -50%) scale(1.07); background: rgba(30, 82, 158, .78); box-shadow: 0 0 0 8px rgba(109, 176, 217, .22), 0 0 40px rgba(111, 214, 255, .6); }
.pr-video .elementor-custom-embed-play:focus-visible { outline: 2px solid var(--pr-accent); outline-offset: 4px; }
@media (max-width: 600px) {
  .pr-video .elementor-custom-embed-play { width: 72px; height: 72px; }
  .pr-video .elementor-custom-embed-play i, .pr-video .elementor-custom-embed-play svg { font-size: 28px !important; width: 28px !important; height: 28px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .pr-video .elementor-custom-embed-play { transition: none; }
}

/* ---------- Nov 2: header show/hide and nav indicator ----------
   The draft footer script gives the header (#hide-header) class pr-autohide and toggles pr-header-hidden.
   The active-page line now sits under the label (it was above), with a faint version on hover and a
   focus ring for keyboard users. */
#hide-header.pr-autohide { transition: transform .3s var(--pr-ease) !important; will-change: transform; }
#hide-header.pr-autohide.pr-header-hidden { transform: translateY(-100%); }
.elementor-location-header .pr-nav .elementor-nav-menu--main .elementor-item { padding: 6px 10px 10px !important; }
.elementor-location-header .pr-nav .elementor-nav-menu--main .elementor-item:before { display: none !important; }
.elementor-location-header .pr-nav .elementor-nav-menu--main .elementor-item:after {
  top: auto !important; bottom: 2px !important; left: 10px !important; right: 10px !important; width: auto !important;
  height: 2px !important; border-radius: 999px; opacity: 0 !important; transform: scaleX(.4); transform-origin: center;
  transition: opacity .2s var(--pr-ease), transform .2s var(--pr-ease) !important;
}
.elementor-location-header .pr-nav .elementor-nav-menu--main .elementor-item:hover:after { opacity: .55 !important; transform: none; }
.elementor-location-header .pr-nav .elementor-nav-menu--main .elementor-item.elementor-item-active:after { opacity: 1 !important; transform: none; }
.elementor-location-header .pr-nav .elementor-nav-menu--main .elementor-item:focus-visible { outline: 2px solid var(--pr-accent); outline-offset: 2px; border-radius: var(--pr-radius); }
@media (prefers-reduced-motion: reduce) {
  #hide-header.pr-autohide, .elementor-location-header .pr-nav .elementor-nav-menu--main .elementor-item:after { transition: none !important; }
}
/* Same 40 px gap between the last nav link and the Contact Us button as between the nav links (desktop) */
@media (min-width: 1025px) { .elementor-location-header .pr-header__cta { margin-left: 20px !important; } }

/* ---------- Nov 2: Contact details icons, form watermark, phone footer ----------
   The contact icons render as inline SVG, which the older "i" rules never reached, so they drew in black on
   dark blue. Now: white glyph, solid brand-blue disc with a light edge and soft glow, glyph centred (the list's
   own end padding removed). The faint PR logo watermark sat on the whole two-column container, so it centred
   between the columns; it now sits on the form card, centred under "Send us a message". On phones the footer
   uses two columns for the short link lists (Explore, Legal) and keeps brand and Contact full width. */
.pr-contact__details .elementor-icon-list-icon {
  background: var(--pr-primary) !important;
  border: 1px solid rgba(143, 227, 255, .65) !important;
  box-shadow: 0 0 12px rgba(111, 214, 255, .35);
  padding: 0 !important;
}
.pr-contact__details .elementor-icon-list-icon svg {
  width: 16px !important; height: 16px !important; margin: 0 !important;
  fill: #FFFFFF !important; color: #FFFFFF !important;
}
.pr-contact__details .elementor-icon-list-icon i { color: #FFFFFF !important; margin: 0 !important; }
.pr-contact::before { background-image: none !important; }
.pr-contact__card {
  background:
    linear-gradient(180deg, rgba(11, 18, 32, .94), rgba(0, 0, 0, .94)),
    url("https://prometheanrestorative.com/wp-content/uploads/2024/05/PR_Logo_White_Circle_Transparent-01-1024x1024.webp") center center / min(70%, 640px) auto no-repeat !important;
}
@media (max-width: 767px) {
  .pr-footer__grid { grid-template-columns: 1fr 1fr !important; column-gap: 20px !important; row-gap: 32px !important; }
  .pr-footer__grid > .pr-footer__brand, .pr-footer__grid > .pr-footer__col:last-child { grid-column: 1 / -1; }
  .pr-footer__brand { flex-direction: row !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; }
  .pr-footer__brand .pr-footer__logo { width: auto !important; max-width: 190px !important; }
  .pr-footer__brand .pr-footer__logo img { max-width: 190px !important; }
  .pr-footer__brand .pr-footer__social { width: auto !important; }
  .pr-footer .pr-footer__links .elementor-icon-list-text { font-size: 15px !important; }
}
@media (max-width: 767px) {
  .pr-footer__social .elementor-social-icon { width: 44px !important; height: 44px !important; }
}

/* ---------- Nov 2: document cards say where they go ----------
   Cards with data-pr-action (Elementor Attributes on the card) show that action as a pill, e.g. "View IFU (PDF)"
   or "Read brochure (PDF)", in place of the bare PDF icon, so a document card can't be mistaken for a
   control that plays the video beside it. The card link also carries an aria-label naming the document and
   that it opens in a new tab. On phones the pill sits on its own line under the title. */
a.pr-doc-card[data-pr-action] > .elementor-widget-icon { display: none !important; }
a.pr-doc-card[data-pr-action]::after {
  content: attr(data-pr-action) " (PDF)";
  order: 2; flex: 0 0 auto; margin-left: auto; align-self: center;
  font: 700 15px/1 var(--pr-font); color: var(--pr-white); letter-spacing: .2px; white-space: nowrap;
  padding: 10px 14px; border: 1px solid rgba(143, 227, 255, .6); border-radius: 999px; background: rgba(5, 8, 15, .35);
  transition: background-color .2s var(--pr-ease);
}
a.pr-doc-card[data-pr-action]:hover::after, a.pr-doc-card[data-pr-action]:focus-visible::after { background: rgba(255, 255, 255, .14); }
@media (max-width: 767px) {
  a.pr-doc-card[data-pr-action] { flex-wrap: wrap !important; row-gap: 12px !important; }
  a.pr-doc-card[data-pr-action]::after { margin-left: 0; flex-basis: auto; }
}

/* ---------- Nov 2: citations link to the references (Home) ----------
   In-text citations are <sup class="pr-cite"><a href="#ref-N" id="cite-N">N</a></sup>, numbered in order of
   first appearance; references are <ol class="pr-refs"> with li#ref-N and a back link (.pr-ref-back) to the
   first citation. Targets stop clear of the sticky header. */
[id^="ref-"], [id^="cite-"] { scroll-margin-top: 160px; }
sup.pr-cite { font-size: .72em; line-height: 0; vertical-align: super; margin-left: 1px; }
sup.pr-cite a { color: var(--pr-accent) !important; font-weight: 700; text-decoration: none; padding: 0 2px; border-radius: 999px; }
sup.pr-cite a:hover { text-decoration: underline; text-underline-offset: 2px; }
sup.pr-cite a:focus-visible, .pr-ref-back:focus-visible { outline: 2px solid var(--pr-accent); outline-offset: 2px; }
ol.pr-refs li:target { background: rgba(30, 82, 158, .28); border-radius: var(--pr-radius); box-shadow: 0 0 0 6px rgba(30, 82, 158, .28); }
.pr-ref-back { color: var(--pr-accent) !important; text-decoration: none; font-weight: 700; margin-left: 4px; }

/* ---------- Nov 2: popup Previous / Next (principles and team bios) ----------
   The shared dialog shows a bar under the panel content when its group has more than one entry: Previous, "n of N",
   Next. Left and right arrow keys do the same (footer script). */
dialog.pr-modal .pr-modal__text p + p { margin-top: 12px !important; }
.pr-modal__nav { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; border-top: 1px solid rgba(109, 176, 217, .28); background: rgba(5, 8, 15, .55); }
.pr-modal__nav[hidden] { display: none; }
.pr-modal__step { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px !important; border-radius: 999px !important; border: 1px solid rgba(109, 176, 217, .5) !important; background: rgba(5, 8, 15, .7) !important; color: var(--pr-white) !important; font: 700 15px/1 var(--pr-font) !important; letter-spacing: .2px; text-transform: none !important; cursor: pointer; box-shadow: none !important; transition: background-color .2s var(--pr-ease), border-color .2s var(--pr-ease); }
.pr-modal__step svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; fill: none; }
.pr-modal__step:hover { background: rgba(30, 82, 158, .55) !important; border-color: var(--pr-accent) !important; }
.pr-modal__step:focus-visible { outline: 2px solid var(--pr-accent); outline-offset: 2px; }
.pr-modal__count { font: 700 13px/1 var(--pr-font); letter-spacing: .12em; text-transform: uppercase; color: var(--pr-accent); white-space: nowrap; }
dialog.pr-modal p.pr-modal__role { font: 700 14px/1.4 var(--pr-font) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--pr-accent) !important; margin: -6px 0 16px !important; }
/* Team variant (Nov 3, after the Dominion leadership popup): one centred column. Round headshot on top with a
   soft blue glow behind it, then name with credentials, title, biography and a LinkedIn button. */
dialog.pr-modal.pr-modal--team { width: min(680px, calc(100% - 32px)); }
.pr-modal--team .pr-modal__panel { grid-template-columns: 1fr; background: radial-gradient(ellipse 70% 42% at 50% 0%, rgba(58, 134, 232, .32) 0%, rgba(30, 82, 158, .1) 55%, rgba(13, 23, 41, 0) 100%), linear-gradient(180deg, #0D1729 0%, #05080F 100%); }
.pr-modal__media--portrait { display: grid; place-items: center; min-height: 0; padding: 44px 24px 4px; background: transparent; overflow: visible; }
.pr-modal__media--portrait img { position: static !important; width: 200px !important; height: 200px !important; border-radius: 50%; object-fit: cover; border: 2px solid rgba(109, 176, 217, .6); box-shadow: 0 0 0 6px rgba(30, 82, 158, .25), 0 0 32px rgba(30, 82, 158, .45); }
.pr-modal--team .pr-modal__icon { display: none; }
.pr-modal--team .pr-modal__body { padding: 24px 48px 40px; align-items: center; text-align: center; }
dialog.pr-modal.pr-modal--team h2.pr-modal__title { font-size: 26px !important; letter-spacing: .04em; text-transform: uppercase !important; margin: 0 0 8px !important; }
dialog.pr-modal.pr-modal--team p.pr-modal__role { font-size: 15px !important; letter-spacing: .06em; text-transform: none; margin: 0 0 22px !important; }
dialog.pr-modal.pr-modal--team .pr-modal__text, dialog.pr-modal.pr-modal--team .pr-modal__text p { font-size: 17px !important; line-height: 1.65 !important; color: rgba(255, 255, 255, .86) !important; }
.pr-modal--team .pr-modal__text[hidden] { display: none; }
.pr-modal__link { display: inline-flex; align-items: center; gap: 10px; min-height: 46px; margin-top: 26px; padding: 0 22px; border: 2px solid var(--pr-accent); border-radius: 10px; background: #05080F; color: var(--pr-white) !important; font: 700 16px/1 var(--pr-font); text-decoration: none !important; box-shadow: 0 0 14px rgba(109, 176, 217, .45); transition: background-color .2s var(--pr-ease), box-shadow .2s var(--pr-ease); }
.pr-modal__link[hidden] { display: none; }
.pr-modal__link svg { width: 16px; height: 16px; fill: currentColor; }
.pr-modal__link:hover { background: var(--pr-primary); box-shadow: 0 0 20px rgba(109, 176, 217, .65); }
.pr-modal__link:focus-visible { outline: 2px solid var(--pr-accent); outline-offset: 3px; }
.pr-modal--team .pr-modal__text[hidden] + .pr-modal__link { margin-top: 4px; }
@media (max-width: 767px) {
  .pr-modal--team .pr-modal__panel { grid-template-columns: 1fr; }
  .pr-modal__media--portrait { min-height: 0; padding: 36px 24px 4px; background: transparent; }
  .pr-modal__media--portrait img { width: 140px !important; height: 140px !important; }
  .pr-modal--team .pr-modal__body { padding: 20px 22px 30px; }
  dialog.pr-modal.pr-modal--team h2.pr-modal__title { font-size: 21px !important; }
  dialog.pr-modal.pr-modal--team .pr-modal__text, dialog.pr-modal.pr-modal--team .pr-modal__text p { font-size: 16px !important; }
  .pr-modal__nav { padding: 12px 14px; }
  .pr-modal__step { padding: 0 12px !important; }
  .pr-modal__step span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* ---------- Nov 2: Leadership team (About). Nov 3: real people, LinkedIn buttons, no bios ----------
   Nov 3: cards are photo (linked to LinkedIn), name (credentials in span.pr-team__cred on their own line),
   role, and a "LinkedIn" button (pr-team__link-btn) pinned to the card bottom so buttons line up.
   Section pr-team: eyebrow, heading, then pr-team__grid of pr-team-card containers (image pr-team__photo,
   heading pr-team__name, text pr-team__role, hidden text pr-team__bio, button pr-team__bio-btn). Pattern: round
   photo overlapping the top of a dark card, name in caps, role in accent. 4 across on desktop, 2 on tablet, 1 on
   phones. The bio text lives in the hidden widget and opens in the shared popup with Previous / Next. */
.pr-team .pr-team__grid, .pr-team .pr-team__grid > .e-con-inner { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px !important; padding: 0 !important; width: 100%; }
.pr-team .pr-team__grid { margin-top: 72px !important; }
.pr-team-card { position: relative; align-items: center !important; text-align: center; gap: 10px !important; padding: 92px 22px 28px !important; background: linear-gradient(180deg, #0D1729 0%, #05080F 100%); border: 1px solid rgba(109, 176, 217, .35); border-radius: var(--pr-radius); box-shadow: 0 12px 28px rgba(0, 0, 0, .35); transition: transform .25s var(--pr-ease), border-color .25s var(--pr-ease), box-shadow .25s var(--pr-ease); }
.pr-team-card:hover { transform: translateY(-3px); border-color: rgba(109, 176, 217, .6); box-shadow: 0 14px 32px rgba(30, 82, 158, .3); }
.pr-team-card .pr-team__photo { position: absolute !important; top: -64px; left: 50%; transform: translateX(-50%); width: 140px !important; margin: 0 !important; }
/* The round frame is the widget container, so each photo can be zoomed and positioned inside it without
   scaling the ring: --pr-photo-x / -y set the focal point, --pr-photo-scale the zoom (1 = whole photo). */
.pr-team-card .pr-team__photo .elementor-widget-container { width: 140px; height: 140px; border-radius: 50%; overflow: hidden; border: 2px solid rgba(109, 176, 217, .6); box-shadow: 0 0 0 5px #0D1729, 0 0 24px rgba(30, 82, 158, .5); background: #0D1729; }
.pr-team-card .pr-team__photo a { display: block; width: 100%; height: 100%; }
.pr-team-card .pr-team__photo img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; border-radius: 0; object-fit: cover; object-position: var(--pr-photo-x, 50%) var(--pr-photo-y, 50%); transform: scale(var(--pr-photo-scale, 1)); transform-origin: var(--pr-photo-x, 50%) var(--pr-photo-y, 50%); border: 0 !important; box-shadow: none !important; }
.pr-team-card .pr-team__photo a[href] img { cursor: pointer; }
.pr-team-card .pr-team__photo img:focus-visible { outline: 2px solid var(--pr-accent); outline-offset: -4px; }
/* Per-person crops (headshots differ: three are 400 px head-and-shoulders, Casey's is an 800 px half-length). */
.pr-team__photo--glenn { --pr-photo-x: 50%; --pr-photo-y: 50%; --pr-photo-scale: 1; }
.pr-team__photo--sean  { --pr-photo-x: 50%; --pr-photo-y: 45%; --pr-photo-scale: 1.05; }
.pr-team__photo--casey { --pr-photo-x: 51%; --pr-photo-y: 5%; --pr-photo-scale: 1.55; }
.pr-team__photo--chase { --pr-photo-x: 48%; --pr-photo-y: 42%; --pr-photo-scale: 1.12; }
.pr-team-card .pr-team__name .elementor-heading-title { font: 700 19px/1.3 var(--pr-font) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--pr-white) !important; margin: 0 !important; }
.pr-team-card .pr-team__cred { display: block; margin-top: 4px; font: 600 13px/1.4 var(--pr-font); letter-spacing: .1em; color: rgba(255, 255, 255, .72); }
/* Nov 3: "About" (filled, opens the popup) sits above "LinkedIn" (outline); the pair is pinned to the card
   bottom and both buttons share one width, so they line up across all four cards. */
.pr-team-card .pr-team__about-btn { margin-top: auto !important; padding-top: 8px; }
.pr-team-card .pr-team__link-btn { margin-top: 0 !important; }
.pr-team-card .pr-team__about-btn .elementor-button, .pr-team-card .pr-team__link-btn .elementor-button { min-width: 208px; justify-content: center; }
.pr-team-card .pr-team__link-btn .elementor-button-icon { font-size: 15px; }
.pr-team-card .pr-team__role, .pr-team-card .pr-team__role p { font: 700 14px/1.4 var(--pr-font) !important; letter-spacing: .06em; color: var(--pr-accent) !important; margin: 0 !important; }
.pr-team-card .pr-team__bio { display: none !important; }
.pr-team-card .pr-team__bio-btn { margin-top: 8px !important; }
@media (max-width: 1024px) {
  .pr-team .pr-team__grid, .pr-team .pr-team__grid > .e-con-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 96px !important; }
}
@media (max-width: 600px) {
  .pr-team .pr-team__grid, .pr-team .pr-team__grid > .e-con-inner { grid-template-columns: 1fr; max-width: 360px; margin-left: auto; margin-right: auto; }
}
/* About principles intro (provisional family-standard copy): readable measure, centred. */
.pr-principles-intro { max-width: 780px !important; margin-left: auto !important; margin-right: auto !important; }

/* ---------- Nov 3: News, formerly Blog (review page /news-draft/ 3055) and Single Post template 3057 ----------
   Listing and recent posts use the Elementor Pro Posts widget (classic skin) with class pr-posts; the featured
   latest article adds pr-posts--featured. Cards adapt Dominion's news cards to Promethean: dark navy card,
   cyan edge, 16:9 image that goes from slightly muted to full colour with a small zoom on hover, date as an
   eyebrow above the title, excerpt clamped to 3 lines and the "Read article" link pinned to the card bottom so
   rows line up. The title link covers the whole card, so the card is one click target. */
.pr-posts .elementor-posts-container { align-items: stretch; }
.pr-posts article.elementor-post {
  position: relative; display: flex !important; flex-direction: column; height: 100%; overflow: hidden;
  background: linear-gradient(180deg, #0D1729 0%, #05080F 100%);
  border: 1px solid rgba(109, 176, 217, .28); border-radius: var(--pr-radius);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .35);
  transition: transform .25s var(--pr-ease), border-color .25s var(--pr-ease), box-shadow .25s var(--pr-ease);
}
.pr-posts article.elementor-post:hover, .pr-posts article.elementor-post:focus-within {
  transform: translateY(-4px); border-color: rgba(111, 214, 255, .75);
  box-shadow: 0 16px 36px rgba(30, 82, 158, .38), 0 0 0 1px rgba(111, 214, 255, .25), 0 0 22px rgba(70, 175, 255, .25);
}
.pr-posts .elementor-post__thumbnail__link { display: block; width: 100% !important; margin: 0 !important; position: relative; }
.pr-posts .elementor-post__thumbnail { position: relative; padding-bottom: 56.25% !important; overflow: hidden; background: #05080F; border-radius: 0 !important; }
.pr-posts .elementor-post__thumbnail img {
  position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important;
  object-fit: cover; transform: none !important; top: 0 !important; left: 0 !important;
  filter: saturate(.75) brightness(.88); transition: filter .4s var(--pr-ease), scale .5s var(--pr-ease);
}
.pr-posts .elementor-post__thumbnail::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(30, 82, 158, .18) 0%, rgba(5, 8, 15, .45) 100%); transition: opacity .4s var(--pr-ease); pointer-events: none; }
.pr-posts article.elementor-post:is(:hover, :focus-within) .elementor-post__thumbnail img { filter: none; scale: 1.05; }
.pr-posts article.elementor-post:is(:hover, :focus-within) .elementor-post__thumbnail::after { opacity: .35; }
.pr-posts .elementor-post__text { display: flex; flex-direction: column; flex: 1 1 auto; gap: 10px; padding: 22px 26px 26px !important; margin: 0 !important; }
.pr-posts .elementor-post__meta-data { order: -1; margin: 0 !important; border: 0 !important; padding: 0 !important; font: 700 13px/1.3 var(--pr-font) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--pr-accent) !important; }
.pr-posts .elementor-post__title { margin: 0 !important; font: 700 21px/1.3 var(--pr-font) !important; text-transform: none !important; letter-spacing: 0 !important; }
.pr-posts .elementor-post__title a { color: var(--pr-white) !important; text-decoration: none; }
.pr-posts .elementor-post__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--pr-radius); }
.pr-posts .elementor-post__title a:focus-visible { outline: none; }
.pr-posts article.elementor-post:has(.elementor-post__title a:focus-visible) { outline: 2px solid var(--pr-accent); outline-offset: 3px; }
.pr-posts .elementor-post__excerpt { margin: 0 !important; }
.pr-posts .elementor-post__excerpt p { margin: 0 !important; font: 400 16px/1.55 var(--pr-font) !important; color: var(--pr-muted) !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pr-posts .elementor-post__read-more { margin-top: auto !important; padding-top: 8px; display: inline-flex !important; align-items: center; gap: 8px; align-self: flex-start; font: 700 15px/1 var(--pr-font) !important; letter-spacing: .02em; text-transform: none !important; color: var(--pr-accent) !important; }
.pr-posts .elementor-post__read-more::after { content: "\2192"; transition: transform .25s var(--pr-ease); }
.pr-posts article.elementor-post:is(:hover, :focus-within) .elementor-post__read-more { color: var(--pr-white) !important; }
.pr-posts article.elementor-post:is(:hover, :focus-within) .elementor-post__read-more::after { transform: translateX(4px); }
/* Featured latest article: image left, text right on desktop; stacks below 1025 px */
@media (min-width: 1025px) {
  .pr-posts--featured article.elementor-post { flex-direction: row; min-height: 380px; }
  .pr-posts--featured .elementor-post__thumbnail__link { flex: 0 0 58%; }
  .pr-posts--featured .elementor-post__thumbnail { height: 100%; min-height: 380px; padding-bottom: 0 !important; }
  .pr-posts--featured .elementor-post__text { justify-content: center; padding: 44px 48px !important; gap: 14px; }
}
.pr-posts--featured .elementor-post__title { font-size: 30px !important; line-height: 1.2 !important; }
.pr-posts--featured .elementor-post__excerpt p { font-size: 18px !important; -webkit-line-clamp: 4; }
.pr-posts--featured .elementor-post__read-more { margin-top: 10px !important; font-size: 16px !important; }
/* Pagination */
.pr-posts .elementor-pagination { margin-top: 48px !important; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.pr-posts .elementor-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; margin: 0 !important; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(109, 176, 217, .45); background: rgba(5, 8, 15, .6); color: var(--pr-white) !important; font: 700 15px/1 var(--pr-font); text-decoration: none; transition: background-color .2s var(--pr-ease), border-color .2s var(--pr-ease); }
.pr-posts .elementor-pagination a.page-numbers:hover { background: rgba(30, 82, 158, .55); border-color: var(--pr-accent); }
.pr-posts .elementor-pagination .page-numbers.current { background: var(--pr-primary); border-color: #6FD6FF; box-shadow: 0 0 12px rgba(70, 175, 255, .45); }
.pr-posts .elementor-pagination .page-numbers.prev, .pr-posts .elementor-pagination .page-numbers.next { padding: 0 22px; gap: 10px; min-width: 132px; }
/* Nov 3: More articles shows 6 per page with Previous / Next only. The inactive end is shown dimmed. */
.pr-posts .elementor-pagination .page-numbers.prev::before { content: "\2190"; }
.pr-posts .elementor-pagination .page-numbers.next::after { content: "\2192"; }
.pr-posts .elementor-pagination span.page-numbers.prev, .pr-posts .elementor-pagination span.page-numbers.next { opacity: .35; cursor: default; }
.pr-posts .elementor-pagination a.page-numbers:focus-visible { outline: 2px solid var(--pr-accent); outline-offset: 3px; }
.pr-posts--grid.is-loading .elementor-pagination { pointer-events: none; opacity: .6; }
.pr-posts--grid .elementor-pagination { gap: 16px; }
@media (max-width: 1024px) { .pr-posts--featured .elementor-post__title { font-size: 26px !important; } }
@media (max-width: 767px) {
  .pr-posts .elementor-post__text { padding: 20px 20px 22px !important; }
  .pr-posts .elementor-post__title, .pr-posts--featured .elementor-post__title { font-size: 20px !important; }
  .pr-posts--featured .elementor-post__excerpt p { font-size: 16px !important; -webkit-line-clamp: 3; }
}
/* Blog page sections */
.pr-blog-hero { padding-top: 40px !important; padding-bottom: 24px !important; background: radial-gradient(ellipse at 80% 30%, rgba(30, 82, 158, .55) 0%, #000 60%) !important; }
.pr-blog-hero > .e-con-inner { gap: 16px !important; }
.pr-blog-intro { max-width: 640px; }
/* New headings inherit the kit grey unless a colour is set; blog headings are white like the rest of the site. */
.pr-blog-hero h1.elementor-heading-title, .pr-post-recent h2.elementor-heading-title, [data-elementor-type="single-post"] h2.elementor-heading-title { color: var(--pr-white) !important; }
.pr-blog-featured { padding-top: 16px !important; padding-bottom: 40px !important; }
.pr-blog-list { padding-top: 40px !important; }
/* Nov 3 (Hannah): News page renamed from Blog; 4% side padding (at least 20 px) on the News page sections and the
   post template, tighter space under the header and between "Latest article" and "More articles". */
.pr-blog-hero, .pr-blog-featured, .pr-blog-list, .pr-post-hero, .pr-post-body, .pr-post-recent { padding-left: max(4%, 20px) !important; padding-right: max(4%, 20px) !important; }
@media (max-width: 767px) { .pr-blog-hero { padding-top: 32px !important; } .pr-blog-featured { padding-bottom: 32px !important; } .pr-blog-list { padding-top: 32px !important; } }
.pr-blog-featured > .e-con-inner, .pr-blog-list > .e-con-inner, .pr-post-recent > .e-con-inner { gap: 24px !important; }

/* Single post template. Pages use [data-elementor-type="wp-page"] for typography and button glows; the
   template is "single-post", so the same rules are repeated here for it. All post sections share the boxed width of the Recent articles section. */
[data-elementor-type="single-post"] h2.elementor-heading-title { font: 700 36px/1.2 var(--pr-font) !important; color: var(--pr-white); }
[data-elementor-type="single-post"] .pr-eyebrow .elementor-heading-title { font: 700 18px/1.2 var(--pr-font) !important; color: var(--pr-accent) !important; }
[data-elementor-type="single-post"] .elementor-widget-button:not(.pr-btn-outline):not(.pr-btn-link) .elementor-button { background: var(--pr-glow-fill) !important; border: 0 !important; color: var(--pr-white) !important; box-shadow: var(--pr-glow-primary) !important; }
[data-elementor-type="single-post"] .pr-btn-outline .elementor-button { background: rgba(2, 10, 26, .55) !important; border: 2px solid #6FD6FF !important; color: var(--pr-white) !important; box-shadow: var(--pr-glow-outline) !important; transition: box-shadow .28s ease, border-color .28s ease, background .28s ease !important; }
[data-elementor-type="single-post"] .pr-btn-outline .elementor-button:is(:hover, :focus-visible) { background: rgba(2, 16, 40, .72) !important; border-color: #A8EAFF !important; box-shadow: var(--pr-glow-outline-hover) !important; }
.pr-post-hero { padding-top: 64px !important; padding-bottom: 48px !important; background: radial-gradient(ellipse at 75% 20%, rgba(30, 82, 158, .55) 0%, #000 62%) !important; }
.pr-post-hero > .e-con-inner { gap: 18px !important; }
.pr-post-back .elementor-button { font-size: 16px !important; gap: 8px; }
.pr-post-back .elementor-button-icon { font-size: 14px; }
.pr-post-meta .elementor-icon-list-items { gap: 0; }
.pr-post-meta .elementor-icon-list-item, .pr-post-meta .elementor-icon-list-text, .pr-post-meta a { font: 700 14px/1.3 var(--pr-font) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--pr-accent) !important; }
.pr-post-meta .elementor-icon-list-item + .elementor-icon-list-item::before { content: "\00B7"; margin: 0 10px; color: rgba(109, 176, 217, .7); }
.pr-post-meta .elementor-icon-list-item::after { display: none !important; }
.pr-post-title .elementor-heading-title { font: 700 46px/1.15 var(--pr-font) !important; color: var(--pr-white) !important; margin: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
.pr-post-lead, .pr-post-lead p { max-width: 900px; margin: 0 !important; font: 400 20px/1.55 var(--pr-font) !important; color: var(--pr-muted) !important; }
.pr-post-feature { margin-top: 18px !important; }
.pr-post-feature img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--pr-radius) !important; border: 1px solid rgba(109, 176, 217, .35); box-shadow: 0 18px 44px rgba(0, 0, 0, .5), 0 0 26px rgba(30, 82, 158, .35); }
.pr-post-body { padding-top: 40px !important; padding-bottom: 48px !important; }
.pr-post-recent { padding-top: 56px !important; }
/* Nov 3 (Hannah): title section, body and share row use the same boxed width as the Recent articles section
   (Elementor boxed width with the 4% side padding), so every block on the post shares one left and right edge. */
.pr-post-body > .e-con-inner > * { width: 100%; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.pr-post-content { color: #D5DAE2; font: 400 18px/1.75 var(--pr-font); }
.pr-post-content p { margin: 0 0 1.25em !important; font: inherit !important; color: inherit !important; }
.pr-post-content h2 { margin: 2em 0 .6em !important; font: 700 30px/1.25 var(--pr-font) !important; color: var(--pr-white) !important; text-transform: none !important; }
.pr-post-content h3 { margin: 1.7em 0 .5em !important; font: 700 23px/1.3 var(--pr-font) !important; color: var(--pr-white) !important; }
.pr-post-content h4 { margin: 1.5em 0 .4em !important; font: 700 19px/1.35 var(--pr-font) !important; color: var(--pr-white) !important; }
.pr-post-content a { color: #8FD3FF !important; text-decoration: underline; text-underline-offset: 3px; }
.pr-post-content a:hover { color: var(--pr-white) !important; }
.pr-post-content ul, .pr-post-content ol { margin: 0 0 1.4em !important; padding-left: 1.4em !important; }
.pr-post-content li { margin: 0 0 .5em; }
.pr-post-content li::marker { color: var(--pr-accent); }
.pr-post-content blockquote { margin: 1.8em 0 !important; padding: 18px 24px !important; border-left: 3px solid #6FD6FF !important; background: rgba(30, 82, 158, .18); border-radius: 0 10px 10px 0; }
.pr-post-content blockquote p { margin: 0 !important; font: 400 20px/1.6 var(--pr-font) !important; color: var(--pr-white) !important; }
.pr-post-content figure { margin: 2em 0 !important; }
.pr-post-content figure img, .pr-post-content p > img { display: block; width: 100%; height: auto; border-radius: var(--pr-radius); border: 1px solid rgba(109, 176, 217, .25); }
.pr-post-content figcaption { margin-top: 10px !important; font: 400 14px/1.5 var(--pr-font) !important; color: var(--pr-muted) !important; text-align: left; }
.pr-post-content hr { border: 0; border-top: 1px solid var(--pr-line); margin: 2.4em 0; }
.pr-post-content > *:first-child, .pr-post-content .elementor-widget-container > *:first-child { margin-top: 0 !important; }
.pr-post-share { flex-wrap: wrap; align-items: center !important; gap: 16px !important; padding: 26px 0 0 !important; border-top: 1px solid var(--pr-line); }
.pr-post-share__label .elementor-heading-title { font: 700 14px/1.2 var(--pr-font) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--pr-accent) !important; margin: 0 !important; }
.pr-share .elementor-share-btn { width: 44px !important; height: 44px !important; border: 1px solid rgba(109, 176, 217, .55) !important; border-radius: 50% !important; background: rgba(5, 8, 15, .6) !important; color: var(--pr-white) !important; transition: background-color .2s var(--pr-ease), border-color .2s var(--pr-ease), box-shadow .2s var(--pr-ease); }
.pr-share .elementor-share-btn__icon { color: var(--pr-white) !important; width: 100% !important; }
.pr-share .elementor-share-btn__icon i, .pr-share .elementor-share-btn__icon svg { color: var(--pr-white) !important; fill: var(--pr-white) !important; font-size: 16px; }
.pr-share .elementor-share-btn:hover { background: var(--pr-primary) !important; border-color: #6FD6FF !important; box-shadow: 0 0 12px rgba(70, 175, 255, .45); }
.pr-post-recent > .e-con-inner > .elementor-widget-heading { margin-bottom: -8px !important; }
.pr-post-all { margin-top: 12px !important; }
@media (max-width: 1024px) {
  .pr-post-title .elementor-heading-title { font-size: 36px !important; }
  [data-elementor-type="single-post"] h2.elementor-heading-title { font-size: 30px !important; }
}
@media (max-width: 767px) {
  .pr-post-hero { padding-top: 40px !important; padding-bottom: 32px !important; }
  .pr-post-body { padding-bottom: 36px !important; }
  .pr-post-recent { padding-top: 40px !important; }
  .pr-post-title .elementor-heading-title { font-size: 29px !important; }
  .pr-post-lead, .pr-post-lead p { font-size: 18px !important; }
  .pr-post-content { font-size: 17px; }
  .pr-post-content h2 { font-size: 25px !important; }
  .pr-post-content h3 { font-size: 21px !important; }
  [data-elementor-type="single-post"] h2.elementor-heading-title { font-size: 26px !important; }
}

/* ---------- News search and category filter (page 3055 /news-draft/, widget 06556c5 at the top of the list section f8a6ca8, in place of the old "Most recent articles" heading; script in footer 2737 widget 97abb7c). Added 2026-11-04, moved 2026-11-04. ---------- */
/* Featured Article section hides itself when no post has the Featured tag (moved here from page 3055 custom CSS so all CSS lives in one place) */
.pr-blog-featured:not(:has(.elementor-post)) { display: none; }

.pr-nf { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 24px; margin: 0; }
#pr-nf .pr-nf__field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
#pr-nf .pr-nf__field--search { flex: 1 1 420px; }
#pr-nf .pr-nf__field--cat { flex: 0 1 340px; }
#pr-nf .pr-nf__label { font: 700 16px/1.2 var(--pr-font); color: var(--pr-white); margin: 0; }
#pr-nf .pr-nf__control { position: relative; }
#pr-nf .pr-nf__input,
#pr-nf .pr-nf__select {
  display: block;
  width: 100%;
  height: var(--pr-control-h);
  margin: 0;
  background: var(--pr-field-bg);
  border: 1px solid var(--pr-field-line);
  border-radius: var(--pr-radius);
  color: var(--pr-white);
  font: 400 16px/1.4 var(--pr-font);
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color .2s var(--pr-ease), box-shadow .2s var(--pr-ease);
}
#pr-nf .pr-nf__input { padding: 0 48px 0 48px; }
#pr-nf .pr-nf__select { padding: 0 48px 0 16px; cursor: pointer; }
#pr-nf .pr-nf__select option { background: var(--pr-field-bg); color: var(--pr-white); }
#pr-nf .pr-nf__input::placeholder { color: rgba(255, 255, 255, .5); opacity: 1; }
#pr-nf .pr-nf__input::-webkit-search-cancel-button,
#pr-nf .pr-nf__input::-webkit-search-decoration { -webkit-appearance: none; appearance: none; }
#pr-nf .pr-nf__input:hover,
#pr-nf .pr-nf__select:hover { border-color: rgba(109, 176, 217, .6); }
#pr-nf .pr-nf__input:focus,
#pr-nf .pr-nf__select:focus,
#pr-nf .pr-nf__input:focus-visible,
#pr-nf .pr-nf__select:focus-visible {
  border-color: var(--pr-accent);
  box-shadow: 0 0 0 3px rgba(109, 176, 217, .35);
  outline: none !important;
}
#pr-nf .pr-nf__icon,
#pr-nf .pr-nf__chevron { position: absolute; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); pointer-events: none; }
#pr-nf .pr-nf__icon { left: 16px; color: var(--pr-accent); }
#pr-nf .pr-nf__chevron { right: 16px; color: var(--pr-white); }
#pr-nf .pr-nf__clear {
  position: absolute;
  top: 50%;
  right: 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: var(--pr-radius);
  background: transparent;
  color: var(--pr-muted);
  box-shadow: none;
  cursor: pointer;
  transform: translateY(-50%);
  transition: color .2s var(--pr-ease), background-color .2s var(--pr-ease);
}
#pr-nf .pr-nf__clear[hidden] { display: none; }
#pr-nf .pr-nf__clear svg { width: 20px; height: 20px; }
#pr-nf .pr-nf__clear:hover { color: var(--pr-white); background: rgba(255, 255, 255, .08); }
#pr-nf .pr-nf__clear:focus-visible { color: var(--pr-white); outline: 2px solid var(--pr-accent) !important; outline-offset: -4px !important; }
#pr-nf .pr-nf__status { flex: 1 1 100%; margin: 0; font: 400 14px/1.5 var(--pr-font); color: var(--pr-muted); }
#pr-nf .pr-nf__status:empty { display: none; }
#pr-nf .pr-nf__status strong { color: var(--pr-white); font-weight: 700; }
#pr-nf .pr-nf__reset-link {
  display: inline;
  min-height: 0;
  margin: 0 0 0 8px;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: var(--pr-accent);
  font: 700 14px/1.5 var(--pr-font);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
#pr-nf .pr-nf__reset-link:hover { color: var(--pr-white); }

/* Filter active: Featured Article stays put (the search covers the Most recent list and leaves the featured post out);
   the server-rendered grid and its pager step aside for the results */
body.pr-nf-on .pr-posts--grid .elementor-posts-container:not(.pr-nf-results),
body.pr-nf-on .pr-posts--grid .elementor-pagination:not(.pr-nf-pager) { display: none !important; }
.pr-posts--grid .pr-nf-results,
.pr-posts--grid .pr-nf-pager,
.pr-posts--grid .pr-nf-empty { display: none; }
body.pr-nf-on .pr-posts--grid .pr-nf-results:not([hidden]) { display: grid; }
body.pr-nf-on .pr-posts--grid .pr-nf-pager:not([hidden]) { display: flex; }
body.pr-nf-on .pr-posts--grid .pr-nf-empty:not([hidden]) { display: block; }
.pr-posts--grid .pr-nf-results { transition: opacity .2s var(--pr-ease); }
.pr-posts--grid .pr-nf-results[aria-busy="true"] { opacity: .5; }
.pr-posts .pr-nf-pager button.page-numbers { cursor: pointer; }
.pr-posts .pr-nf-pager button.page-numbers:not(:disabled):hover { background: rgba(30, 82, 158, .55); border-color: var(--pr-accent); }
.pr-posts .pr-nf-pager button.page-numbers:disabled { opacity: .35; cursor: default; }
.pr-posts .pr-nf-pager button.page-numbers:focus-visible { outline: 2px solid var(--pr-accent) !important; outline-offset: 3px !important; }

/* No results */
.pr-nf-empty {
  max-width: 640px;
  margin: 0 auto;
  padding: 48px 32px;
  text-align: center;
  border: 1px solid var(--pr-line);
  border-radius: var(--pr-radius);
  background: rgba(5, 8, 15, .6);
}
.pr-nf-empty .pr-nf-empty__title { margin: 0 0 12px; font: 700 25px/1.15 var(--pr-font); color: var(--pr-white); }
.pr-nf-empty .pr-nf-empty__text { margin: 0 0 24px; font: 400 16px/1.5 var(--pr-font); color: var(--pr-muted); }
.pr-nf-empty .pr-nf-empty__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--pr-control-h);
  padding: 0 28px;
  border-radius: var(--pr-radius);
  background: rgba(2, 10, 26, .55);
  border: 2px solid #6FD6FF;
  color: var(--pr-white);
  font: 700 18px/1.1 var(--pr-font);
  box-shadow: var(--pr-glow-outline);
  cursor: pointer;
  transition: box-shadow .28s ease, border-color .28s ease, background .28s ease;
}
.pr-nf-empty .pr-nf-empty__btn:is(:hover, :focus-visible) { background: rgba(2, 16, 40, .72); border-color: #A8EAFF; box-shadow: var(--pr-glow-outline-hover); }

@media (max-width: 767px) {
  #pr-nf .pr-nf__field--search,
  #pr-nf .pr-nf__field--cat { flex: 1 1 100%; }
  .pr-nf-empty { padding: 32px 16px; }
  .pr-nf-empty .pr-nf-empty__title { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  #pr-nf .pr-nf__input, #pr-nf .pr-nf__select, .pr-posts--grid .pr-nf-results { transition: none; }
}

/* ---------- Web Design SOP gate fixes, 2026-11-04 (Claude Code for Hannah): 44 px tap targets for text-link buttons and the post "Back to news" link; WPForms container uses the house radius ---------- */
.pr-btn-link .elementor-button { min-height: 44px !important; }
.pr-post-back .elementor-button { min-height: 44px !important; }
#wpforms-574.wpforms-container, .wpforms-container.wpforms-container-full { border-radius: var(--pr-radius) !important; }
/* Home hero tagline ("Patent Pending Thread Design", widget dba4d74 on 2711) is an H2 for heading order but keeps its previous H3 look */
[data-elementor-type="wp-page"] .pr-h-tagline .elementor-heading-title { font-size: 24px !important; line-height: 1.2 !important; }
/* Skip-link target set by the footer script; it receives focus only to move the reading point, so no outline around the whole page */
#content[tabindex="-1"]:focus, #content[tabindex="-1"]:focus-visible { outline: none !important; }/* End custom CSS */