.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-1344 .elementor-element.elementor-element-2d8f4f5 img{width:170px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{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 );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-menu-toggle{margin:0 auto;background-color:transparent;}.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu .elementor-item{font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.14em;}.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;padding-left:17px;padding-right:17px;padding-top:30px;padding-bottom:30px;}.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .elementor-item:focus{color:#ffffff;fill:#ffffff;}.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#ffffff;}.elementor-1344 .elementor-element.elementor-element-ac2c8a2{--e-nav-menu-horizontal-menu-item-margin:calc( 4px / 2 );}.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:4px;}.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--dropdown a, .elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-menu-toggle{color:#FFFFFF;fill:#FFFFFF;}.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--dropdown{background-color:rgba(9,9,11,.97);border-style:solid;border-width:.1px 0px 0px 0px;border-color:#b60017;}.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--dropdown a:hover,
					.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--dropdown a:focus,
					.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--dropdown a.highlighted,
					.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-menu-toggle:hover,
					.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-menu-toggle:focus{color:#ffffff;}.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--dropdown a:hover,
					.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--dropdown a:focus,
					.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--dropdown a.highlighted{background-color:rgba(9,9,11,.97);}.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--dropdown .elementor-item, .elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:500;}.elementor-1344 .elementor-element.elementor-element-ac2c8a2 div.elementor-menu-toggle{color:#ffffff;}.elementor-1344 .elementor-element.elementor-element-ac2c8a2 div.elementor-menu-toggle svg{fill:#ffffff;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-1344 .elementor-element.elementor-element-a1c0001 .elementor-icon-wrapper{text-align:end;}.elementor-1344 .elementor-element.elementor-element-a1c0001.elementor-view-stacked .elementor-icon{background-color:#ffffff;}.elementor-1344 .elementor-element.elementor-element-a1c0001.elementor-view-framed .elementor-icon, .elementor-1344 .elementor-element.elementor-element-a1c0001.elementor-view-default .elementor-icon{color:#ffffff;border-color:#ffffff;}.elementor-1344 .elementor-element.elementor-element-a1c0001.elementor-view-framed .elementor-icon, .elementor-1344 .elementor-element.elementor-element-a1c0001.elementor-view-default .elementor-icon svg{fill:#ffffff;}.elementor-1344 .elementor-element.elementor-element-a1c0001 .elementor-icon{font-size:24px;}.elementor-1344 .elementor-element.elementor-element-a1c0001 .elementor-icon svg{height:24px;}.elementor-1344 .elementor-element.elementor-element-a1c0002 .e-off-canvas__content{background-color:rgba(7,7,8,.98);border-style:solid;border-width:0px 0px 0px 1px;border-color:rgba(255,255,255,.10);}.elementor-1344 .elementor-element.elementor-element-a1c0002 .e-off-canvas__overlay{background-color:rgba(0,0,0,.6);}.elementor-1344 .elementor-element.elementor-element-a1c0002{--e-off-canvas-justify-content:flex-end;--e-off-canvas-align-items:flex-start;--e-off-canvas-width:380px;--e-off-canvas-height:100vh;--e-off-canvas-content-overflow:auto;--e-off-canvas-animation-duration:0.4s;--e-off-canvas-overlay-opacity:1;}.elementor-1344 .elementor-element.elementor-element-a1c0003{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:28px;--padding-bottom:32px;--padding-left:28px;--padding-right:28px;}.elementor-1344 .elementor-element.elementor-element-a1c0006{margin:-5px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1344 .elementor-element.elementor-element-a1c0006 .elementor-icon-wrapper{text-align:end;}.elementor-1344 .elementor-element.elementor-element-a1c0006.elementor-view-stacked .elementor-icon{background-color:#ffffff;}.elementor-1344 .elementor-element.elementor-element-a1c0006.elementor-view-framed .elementor-icon, .elementor-1344 .elementor-element.elementor-element-a1c0006.elementor-view-default .elementor-icon{color:#ffffff;border-color:#ffffff;}.elementor-1344 .elementor-element.elementor-element-a1c0006.elementor-view-framed .elementor-icon, .elementor-1344 .elementor-element.elementor-element-a1c0006.elementor-view-default .elementor-icon svg{fill:#ffffff;}.elementor-1344 .elementor-element.elementor-element-a1c0006 .elementor-icon{font-size:34px;}.elementor-1344 .elementor-element.elementor-element-a1c0006 .elementor-icon svg{height:34px;}.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-menu-toggle{margin:0 auto;}.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown a, .elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-menu-toggle{color:rgba(255,255,255,.74);fill:rgba(255,255,255,.74);}.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown{background-color:transparent;}.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown a:hover,
					.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown a:focus,
					.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown a.highlighted,
					.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-menu-toggle:hover,
					.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-menu-toggle:focus{color:#ffffff;}.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown a:hover,
					.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown a:focus,
					.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown a.highlighted{background-color:transparent;}.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown .elementor-item, .elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:600;letter-spacing:2px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );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 );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1344 .elementor-element.elementor-element-a1c0005 .elementor-button{background-color:#b60017;font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0.14em;fill:#ffffff;color:#ffffff;border-radius:100px 100px 100px 100px;padding:13px 24px 13px 24px;}.elementor-1344 .elementor-element.elementor-element-a1c0005 .elementor-button:hover, .elementor-1344 .elementor-element.elementor-element-a1c0005 .elementor-button:focus{background-color:#950013;color:#ffffff;}.elementor-1344 .elementor-element.elementor-element-a1c0005{width:100%;max-width:100%;}.elementor-1344 .elementor-element.elementor-element-a1c0005 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-1344 .elementor-element.elementor-element-a1c0005 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-1344 .elementor-element.elementor-element-a1c0005 .elementor-button:hover svg, .elementor-1344 .elementor-element.elementor-element-a1c0005 .elementor-button:focus svg{fill:#ffffff;}.elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button{background-color:#b60017;font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0.14em;fill:#ffffff;color:#ffffff;border-radius:100px 100px 100px 100px;padding:13px 24px 13px 24px;}.elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button:hover, .elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button:focus{background-color:#950013;color:#ffffff;}.elementor-1344 .elementor-element.elementor-element-6715f6d{width:auto;max-width:auto;}.elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button:hover svg, .elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button:focus svg{fill:#ffffff;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1200px){.elementor-1344 .elementor-element.elementor-element-a1c0001 .elementor-icon{font-size:32px;}.elementor-1344 .elementor-element.elementor-element-a1c0001 .elementor-icon svg{height:32px;}}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1344 .elementor-element.elementor-element-a1c0001 .elementor-icon{font-size:32px;}.elementor-1344 .elementor-element.elementor-element-a1c0001 .elementor-icon svg{height:32px;}.elementor-1344 .elementor-element.elementor-element-a1c0002{--e-off-canvas-width:100vw;}.elementor-widget-button .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 );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-1344 .elementor-element.elementor-element-2d8f4f5 img{width:164px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1344 .elementor-element.elementor-element-a1c0001 .elementor-icon{font-size:32px;}.elementor-1344 .elementor-element.elementor-element-a1c0001 .elementor-icon svg{height:32px;}.elementor-1344 .elementor-element.elementor-element-a1c0002{--e-off-canvas-width:100vw;}.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown .elementor-item, .elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:16px;letter-spacing:0.14em;}.elementor-widget-button .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 );}.elementor-1344 .elementor-element.elementor-element-a1c0005 .elementor-button{font-size:12px;}.elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button{font-size:12px;letter-spacing:0.06em;padding:9px 12px 9px 12px;}}/* Start custom CSS for image, class: .elementor-element-2d8f4f5 *//* Phone: logo size */
@media (max-width: 767px){
  .elementor-1344 .elementor-element.elementor-element-2d8f4f5 img{width: 164px; height: auto; display: block;}
}
/* link fills the image exactly (removes the extra line-height space under the logo) */
.elementor-1344 .elementor-element.elementor-element-2d8f4f5 a{display: block; line-height: 0;}/* End custom CSS */
/* Start custom CSS for nav-menu, class: .elementor-element-ac2c8a2 *//* ===== Desktop navigation =====
   Menu items come from Appearance > Menus > "Primary Navigation".
   Items linking to #rs-label are non-clickable small group labels inside dropdowns.
   This widget is hidden on tablet/phone; there the Off-Canvas widget shows the same menu. */
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu a[href="#rs-label"], .elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu a[href="#rs-label"]:hover, .elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu a[href="#rs-label"]:focus{pointer-events: none; cursor: default; background: transparent !important; font-size:12px !important; font-weight: 700 !important; letter-spacing: .24em !important; text-transform: uppercase !important; color: rgba(255,255,255,.3) !important; padding: 0 0 6px !important;}
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .elementor-nav-menu{flex-wrap: nowrap;}
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .elementor-item{white-space: nowrap;}
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .sub-menu{min-width: 320px; border-top: 2px solid #b60017 !important; padding: 26px 28px 28px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);}
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .sub-menu a{padding: 7px 0;}
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .menu-item-1281 > .sub-menu{min-width: 340px;}
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .menu-item-1284 > .sub-menu, .elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .menu-item-1285 > .sub-menu{min-width: 260px;}
/* Dropdown links: thin white underline on hover/focus (grey group labels have no link and stay plain) */
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .sub-menu a.elementor-sub-item:not(.elementor-item-anchor){text-decoration-line: underline !important; text-decoration-color: transparent !important; text-decoration-thickness: 1px !important; text-underline-offset: 6px !important; transition: text-decoration-color .2s ease, color .2s ease;}
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .sub-menu a.elementor-sub-item:not(.elementor-item-anchor):hover, .elementor-1344 .elementor-element.elementor-element-ac2c8a2 .sub-menu a.elementor-sub-item:not(.elementor-item-anchor):focus-visible{text-decoration-color: #ffffff !important; color: #ffffff;}

/* ===== Services dropdown: normal single box; hovering Paid Media or Content & Growth extends the SAME box to the right with its page ===== */
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .menu-item-1281 > .sub-menu .sub-menu{background: rgba(9,9,11,.97); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 0 !important; border-top: 2px solid #b60017 !important; border-left: 0 !important; box-shadow: inset 1px 0 0 rgba(255,255,255,.14); border-radius: 0 !important; margin: 0 !important; padding: 26px 28px 28px; min-width: 300px !important; min-height: 0; box-sizing: border-box; left: 100% !important; top: -2px !important;}
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .menu-item-1281 > .sub-menu > li{position: static;}
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .menu-item-1281 > .sub-menu a.has-submenu.highlighted{text-decoration-color: #ffffff !important;}
/* Arrow on dropdown items that open the extra panel */
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .sub-menu a.has-submenu{display: flex; align-items: center; justify-content: space-between; gap: 16px;}
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .sub-menu .sub-arrow{display: inline-flex; align-items: center; margin-left: auto; padding: 0;}
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main .sub-menu .sub-arrow .e-font-icon-svg{width: 10px; height: 10px; fill: currentColor;}
/* Arrow on top-level items that open a dropdown */
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main > .elementor-nav-menu > li > a .sub-arrow{display: inline-flex; align-items: center; margin-left: 8px; padding: 0;}
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main > .elementor-nav-menu > li > a .sub-arrow .e-font-icon-svg{width: 10px; height: 10px; fill: currentColor; transition: transform .2s ease;}
.elementor-1344 .elementor-element.elementor-element-ac2c8a2 .elementor-nav-menu--main > .elementor-nav-menu > li > a[aria-expanded="true"] .sub-arrow .e-font-icon-svg{transform: rotate(180deg);}/* End custom CSS */
/* Start custom CSS for icon, class: .elementor-element-a1c0001 *//* Hamburger shown on tablet/phone only (hidden on desktop in Advanced > Responsive). Size = the Size control above. */
.elementor-1344 .elementor-element.elementor-element-a1c0001 .elementor-icon{line-height: 1; padding: 8px 0 8px 8px; display: flex; align-items: center; justify-content: flex-end;}
.elementor-1344 .elementor-element.elementor-element-a1c0001 .elementor-icon:hover{color: #cd0b21;}
/* The header row squeezes this box, so keep the icon at its full size */
.elementor-1344 .elementor-element.elementor-element-a1c0001 .elementor-icon svg{flex: 0 0 auto; width: auto; max-width: none;}
@media (max-width: 767px){.elementor-1344 .elementor-element.elementor-element-a1c0001 .elementor-icon svg{margin-right: -8px;}}
@media (min-width: 768px) and (max-width: 1200px){.elementor-1344 .elementor-element.elementor-element-a1c0001{margin-left: 24px; margin-right: 0;}}/* End custom CSS */
/* Start custom CSS for nav-menu, class: .elementor-element-a1c0004 *//* ===== Menu inside the Off-Canvas panel =====
   Same "Primary Navigation" menu. The built-in hamburger is hidden because the Off-Canvas
   widget has its own trigger; the dropdown list is shown in-flow with accordion sub-menus. */
.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-menu-toggle{display: none !important;}
.elementor-1344 .elementor-element.elementor-element-a1c0004 nav.elementor-nav-menu--dropdown{display: block !important; position: static !important; width: 100% !important; margin: 0 !important; transform: none !important; visibility: visible !important; max-height: none !important; height: auto !important; overflow: visible !important; background: transparent !important; box-shadow: none !important;}
.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown a[href="#rs-label"], .elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown a[href="#rs-label"]:hover{pointer-events: none; cursor: default; background: transparent !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .24em !important; text-transform: uppercase !important; color: rgba(255,255,255,0.78) !important; padding: 16px 0 6px 16px !important; min-height: 0 !important; display: block !important;}
.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown .elementor-item{padding: 12px 0;}
.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown .sub-menu{background: transparent;}

/* ===== Text styling matches the desktop main nav (no dropdown box or border) =====
   Top-level items: Montserrat 700, uppercase, wide tracking, white (same as the main nav, sized up to 16px for touch).
   Sub-links: Montserrat 500, sentence case, 16px. Group labels: 12px caps. Every link has a 48px tap target. */
.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown .elementor-nav-menu > li > a.elementor-item{font-family: Montserrat, sans-serif; font-size: 16px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #ffffff; line-height: 1.3; padding: 14px 0; min-height: 48px; display: flex; align-items: center;}
.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item{font-family: Montserrat, sans-serif; font-size: 16px; font-weight: 500; letter-spacing: .01em; text-transform: none; color: rgba(255,255,255,.88); line-height: 1.35; padding: 12px 0 12px 16px; min-height: 44px; display: flex; align-items: center;}
.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown a.elementor-sub-item:hover, .elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown a.elementor-item:hover{color: #ffffff;}
.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown .sub-arrow{padding: 0 4px; font-size: 16px;}
/* Label divider: thin line under each group label to separate it from the links */
.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown a[href="#rs-label"], .elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu--dropdown a[href="#rs-label"]:hover{border-bottom: 1px solid rgba(255,255,255,.28) !important; padding-bottom: 12px !important; margin-bottom: 8px; border-radius: 0 !important;}

/* Group labels (Capabilities etc.): no left border, so the grey underline has square ends */
.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu a[href="#rs-label"]{border-left: 0 !important; padding-left: 24px !important; border-radius: 0 !important;}

/* Mobile menu states: item that is open turns red with a left marker and flipped arrow; tap/hover gets a soft highlight */
.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu a.has-submenu[aria-expanded="true"], .elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu a.has-submenu.highlighted{color: #df404e !important; box-shadow: inset 2px 0 0 #b60017; background: rgba(255,255,255,.04) !important;}
.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu a.has-submenu[aria-expanded="true"] .sub-arrow, .elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu a.has-submenu.highlighted .sub-arrow{transform: rotate(180deg);}
.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu .sub-menu a:not([href="#rs-label"]):hover, .elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu .sub-menu a:not([href="#rs-label"]):focus, .elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu .sub-menu a:not([href="#rs-label"]):active{background: rgba(255,255,255,.06) !important; color: #ffffff !important;}
.elementor-1344 .elementor-element.elementor-element-a1c0004 .elementor-nav-menu .sub-menu a.has-submenu[aria-expanded="true"]{background: rgba(255,255,255,.04) !important;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-a1c0005 *//* Play triangle icon (SVG from Media Library, uses the button text color). Change size here. */
.elementor-1344 .elementor-element.elementor-element-a1c0005 .elementor-button-icon svg{width: 7px; height: 8px; fill: currentColor;}
.elementor-1344 .elementor-element.elementor-element-a1c0005 .elementor-button-icon{display: inline-flex; align-items: center;}
/* Hover: only the icon moves (button does not grow) */
.elementor-1344 .elementor-element.elementor-element-a1c0005 .elementor-button-icon svg{transition: transform .2s ease;}
.elementor-1344 .elementor-element.elementor-element-a1c0005 .elementor-button:hover .elementor-button-icon svg{transform: translateX(4px);}

/* Vertically center text with icon */
.elementor-1344 .elementor-element.elementor-element-a1c0005 .elementor-button-content-wrapper{align-items: center;}
.elementor-1344 .elementor-element.elementor-element-a1c0005 .elementor-button-text{line-height: 1;}
.elementor-1344 .elementor-element.elementor-element-a1c0005 .elementor-button-icon svg{display: block;}/* End custom CSS */
/* Start custom CSS for off-canvas, class: .elementor-element-a1c0002 *//* Mobile scrolling: panel fits the visible screen (dvh handles the phone browser toolbars), scrolls on its own, and leaves room under the last link */
.elementor-1344 .elementor-element.elementor-element-a1c0002 .e-off-canvas, .elementor-1344 .elementor-element.elementor-element-a1c0002 .e-off-canvas__main{height: 100vh; height: 100dvh; max-height: 100dvh;}
.elementor-1344 .elementor-element.elementor-element-a1c0002 .e-off-canvas__content{height: 100%; max-height: 100vh; max-height: 100dvh; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 96px);}
/* Full width: the slide-out covers the whole screen on tablet and phone */
@media (max-width: 1024px){.elementor-1344 .elementor-element.elementor-element-a1c0002 .e-off-canvas__main{width: 100vw !important; max-width: 100vw !important; border-left-width: 0 !important;}}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-6715f6d *//* Play triangle icon (SVG from Media Library, uses the button text color). Change size here. */
.elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button-icon svg{width: 7px; height: 8px; fill: currentColor;}
.elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button-icon{display: inline-flex; align-items: center;}
/* Hover: only the icon moves (button does not grow) */
.elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button-icon svg{transition: transform .2s ease;}
.elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button:hover .elementor-button-icon svg{transform: translateX(4px);}
/* Hidden on phone; the Off-Canvas menu has its own Start A Project button */

/* Vertically center text with icon */
.elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button-content-wrapper{align-items: center;}
.elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button-text{line-height: 1;}
.elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button-icon svg{display: block;}
/* Tablet: keep the label on one line (the column grows to fit, see header CSS) */
@media (min-width: 768px) and (max-width: 1024px){.elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button{white-space: nowrap;} .elementor-1344 .elementor-element.elementor-element-6715f6d .elementor-button-text{white-space: nowrap;}}/* End custom CSS */
/* Start custom CSS *//* ===== RedShift HEADER — template-level CSS (bar + layout) =====
   Widget-specific CSS lives on each widget: select it in the editor > Advanced > Custom CSS.
   - Logo widget: mobile logo size
   - Navigation widget (desktop menu): label items and dropdown panels
   - Off-Canvas widget (tablet/phone menu): panel contents are normal widgets - edit them directly
   - Hamburger icon widget: opens the Off-Canvas (hidden on desktop)
   Scroll state (.rs-nav-solid) is toggled by a small script in the HTML widget. */

/* Fixed bar with 3px brand gradient strip */
header.elementor-location-header{position: fixed; top: 0; left: 0; right: 0; width: 100%; z-index: 80; background-color: transparent; background-image: linear-gradient(90deg, #b60017 0%, #cd0b21 34%, #2b6cb0 78%, rgba(43,108,176,0) 100%); background-repeat: no-repeat; background-size: 100% 3px; background-position: top left; border-bottom: 1px solid transparent; transition: background-color 240ms cubic-bezier(.4,0,.2,1), border-color 240ms cubic-bezier(.4,0,.2,1);}
body.admin-bar header.elementor-location-header{top: 32px;}
/* Solid, blurred bar after scrolling */
/* (no backdrop blur here on purpose: a blur on the header would trap the fixed Off-Canvas panel inside it) */
html.rs-nav-solid header.elementor-location-header{background-color: rgba(7, 7, 8, .96); border-bottom-color: rgba(255, 255, 255, .10);}

/* Content width — same gutter as the footer so logos line up */
:root{--rs-gutter: clamp(20px, 3.9vw, 56px);}
header.elementor-location-header .elementor-element-17d514b{width: 100%; max-width: 1600px; min-height: 84px; margin: 0 auto; padding: 3px var(--rs-gutter) 0 !important; display: flex; flex-direction: row; align-items: center; justify-content: space-between; position: relative; z-index: 12; background-color: transparent;}
header.elementor-location-header .elementor-element-17d514b > .e-flexbox-base{padding-left: 0 !important; padding-right: 0 !important;}

/* Desktop: logo | menu | button columns */
@media (min-width: 1025px){
  header.elementor-location-header .elementor-element-17d514b > .e-flexbox-base{width: auto; padding-top: 0; padding-bottom: 0;}
  header.elementor-location-header .elementor-element-17d514b > .e-flexbox-base:nth-child(1), header.elementor-location-header .elementor-element-17d514b > .e-flexbox-base:nth-child(3){flex: 0 0 auto;}
  header.elementor-location-header .elementor-element-17d514b > .e-flexbox-base:nth-child(2){flex: 1 1 auto; min-width: 0;}
}

/* Phone: logo left, hamburger right; menu opens in the Off-Canvas widget */
@media (max-width: 767px){
  header.elementor-location-header .elementor-element-17d514b{align-items: center; flex-wrap: nowrap !important; justify-content: space-between; min-height: 72px; gap: 8px;}
  header.elementor-location-header .elementor-element-17d514b > .e-flexbox-base{width: auto !important; padding: 0 !important; flex: 0 0 auto; min-width: 0;}
  header.elementor-location-header .elementor-element-17d514b > .e-flexbox-base:nth-child(2){margin-left: auto;}
}

/* rs-offcanvas-nav-pad: keep the open-item red marker off the first letter in the mobile menu */
.elementor-element-a1c0004 .elementor-nav-menu--dropdown .elementor-nav-menu > li > a.elementor-item{padding-left: 14px !important;}

/* rs-offcanvas-no-bar: no red side line on open/hovered mobile menu items */
.elementor-element-a1c0004 .elementor-nav-menu a.has-submenu[aria-expanded="true"], .elementor-element-a1c0004 .elementor-nav-menu a.has-submenu.highlighted, .elementor-element-a1c0004 .elementor-nav-menu a:hover, .elementor-element-a1c0004 .elementor-nav-menu a:focus, .elementor-element-a1c0004 .elementor-nav-menu a:active{box-shadow: none !important; border-left: 0 !important;}



/* rs-tablet-button-col: on tablet the button column sizes to its content so the label stays on one line */
@media (min-width: 768px) and (max-width: 1024px){
  header.elementor-location-header .elementor-element-17d514b > .e-flexbox-base:nth-child(3){width: auto; flex: 0 0 auto;}
}

/* rs-tablet-order: tablet (768-1200px) order is logo, Start A Project button, hamburger at the far right (same corner as phone) */
@media (min-width: 768px) and (max-width: 1200px){
  header.elementor-location-header .elementor-element-17d514b > .e-flexbox-base:nth-child(3){order: 2; margin-left: auto; width: auto; flex: 0 0 auto;}
  header.elementor-location-header .elementor-element-17d514b > .e-flexbox-base:nth-child(2){order: 3; width: auto; flex: 0 0 auto;}
}/* End custom CSS */