/* Only the approved homepage uses these theme integration rules. */
html.cc-home-v2 body{margin:0}
html.cc-home-v2 .top-notification-bar{position:relative;inset:auto;height:auto;min-height:40px;padding:9px 18px;box-sizing:border-box;background:#369b54;color:#fff;font:13px/1.5 'CC Gotham',Arial,sans-serif;text-align:center}
html.cc-home-v2 .top-notification-bar a{color:#fff;text-decoration:underline}
html.cc-home-v2 header.site_header{position:fixed!important;top:var(--cc-home-header-top,40px)!important;left:0;right:0;width:100%;z-index:1000;margin:0!important;padding:24px 0!important;background:transparent!important;box-shadow:none;transform:none!important}
html.cc-home-v2 header.site_header.cc-home-scrolled{background:#2870a0!important;box-shadow:0 3px 14px #071e2c1f}
html.cc-home-v2 .site_header>.container{position:relative;display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;width:calc(100% - 80px);max-width:1170px;margin:auto}
html.cc-home-v2 .site_header .menu_trigger{position:relative;left:auto;top:auto;grid-column:1;grid-row:1;justify-self:start;width:44px;height:44px;margin:0;float:none}
html.cc-home-v2 .site_header .logo_wrap{position:static;transform:none;grid-column:2;grid-row:1;float:none;width:auto;margin:0}
html.cc-home-v2 .site_header .logo_wrap img{width:300px;height:auto;max-width:100%}
html.cc-home-v2 .site_header .head_call{grid-column:3;grid-row:1;position:static;display:flex;align-items:center;justify-content:flex-end;gap:10px;white-space:nowrap;margin:0;float:none;width:auto;font:14px/1.4 'CC Gotham',Arial,sans-serif}
html.cc-home-v2 .site_header .head_call>a{font:inherit;color:#fff!important}
html.cc-home-v2 .site_header .head_call>.icon{width:18px;height:18px;fill:#fff;flex:none}
html.cc-home-v2 .site_header .head_call .banner_cta{font:700 16px/1.4 'CC Gotham',Arial,sans-serif;color:#fff!important;border:1px solid #fff;background:transparent!important;border-radius:6px;min-height:48px;padding:10px 22px;margin:0 8px 0 0}
html.cc-home-v2 .site_header.cc-home-scrolled .head_call .banner_cta{background:#fff!important;color:#16394d!important}
#cc-home-consistency .elementor-section>.elementor-container{max-width:none!important;display:block}
#cc-home-consistency .elementor-column{width:100%!important}
#cc-home-consistency .elementor-widget-wrap{padding:0!important;display:block}
#cc-home-consistency .elementor-widget{margin:0!important;width:100%}
#cc-home-consistency .elementor-widget-container{margin:0;padding:0}
#cc-home-consistency .elementor-section{padding:0!important;margin:0!important}
#cc-home-consistency .hp-header-space{flex:none;height:96px}
#cc-home-consistency .hp-page{container-type:inline-size}
#cc-home-consistency [id]{scroll-margin-top:130px}
#cc-home-consistency .cc-home-real-inquiry .cc-footform-intro{text-align:left;margin:0 0 28px}
#cc-home-consistency .cc-home-real-inquiry .cc-footform-wrap{max-width:none;margin:0}
html.cc-home-v2 .site_footer{background:#16394d;color:#fff;font:14px/1.6 'CC Gotham',Arial,sans-serif;padding:42px 0 0}
html.cc-home-v2 .site_footer>.container{max-width:1170px;width:calc(100% - 80px);margin:auto}
html.cc-home-v2 .site_footer .foot_boxes{display:grid;grid-template-columns:1.2fr .6fr 1.1fr .9fr;gap:32px}
html.cc-home-v2 .site_footer .footer_col{width:auto;padding:0;margin:0;float:none}
html.cc-home-v2 .site_footer .footer_col_1>img{max-width:260px;width:100%;height:auto;margin:0 0 20px}
html.cc-home-v2 .site_footer ul{list-style:none;margin:0;padding:0}
html.cc-home-v2 .site_footer li{font-size:14px;margin:0 0 8px;padding:0}
html.cc-home-v2 .site_footer a{color:#fff;font-size:inherit;line-height:1.6}
html.cc-home-v2 .site_footer .contact_info .icon{width:17px;height:17px;margin-right:8px;fill:currentColor}
html.cc-home-v2 .site_footer .foot_meta{margin-top:28px;padding:16px 0;background:#102e40;font-size:12px}
html.cc-home-v2 .site_footer .foot_meta .container{width:calc(100% - 80px);max-width:1170px;margin:auto}
@media(max-width:1100px){html.cc-home-v2 .site_header>.container{grid-template-columns:44px 1fr auto;gap:18px}html.cc-home-v2 .site_header .head_call>a,html.cc-home-v2 .site_header .head_call>.icon{display:none}html.cc-home-v2 .site_footer .foot_boxes{grid-template-columns:1fr 1fr}}
@media(max-width:580px){html.cc-home-v2 header.site_header{padding:15px 0!important}html.cc-home-v2 .site_header>.container{width:calc(100% - 36px);grid-template-columns:36px 1fr;gap:10px}html.cc-home-v2 .site_header .logo_wrap{justify-self:end}html.cc-home-v2 .site_header .logo_wrap img{width:250px}html.cc-home-v2 .site_header .head_call{grid-column:1/-1;grid-row:2;justify-content:space-between;border-top:1px solid #ffffff40;padding-top:10px}html.cc-home-v2 .site_header .head_call>a{display:block;font-size:13px}html.cc-home-v2 .site_header .head_call .banner_cta{min-height:44px;font-size:14px;padding:8px 14px}html.cc-home-v2 .site_footer>.container,html.cc-home-v2 .site_footer .foot_meta .container{width:calc(100% - 36px)}html.cc-home-v2 .site_footer .foot_boxes{grid-template-columns:1fr;gap:24px}html.cc-home-v2 .site_footer .footer_col_1>img{max-width:250px}}

#cc-home-consistency .hp-hero h1{color:#fff!important}
html.cc-home-v2 .site_header .menu_trigger{width:30px;height:30px}
/* Fixed-width verification must not become a 300px-tall flex item on phones. */
#cc-home-consistency #formcontact_5 .google-captcha.input-holder{flex:0 0 auto!important;height:auto!important}
html.cc-home-v2 .site_footer .foot_nav li a{padding:0!important;min-height:0;font-size:14px;line-height:1.6}
html.cc-home-v2 .site_footer .foot_nav li{padding:0!important;margin:0 0 8px!important}
@media(max-width:580px){html.cc-home-v2 .site_header>.container{grid-template-columns:36px minmax(0,1fr)}html.cc-home-v2 .site_header .logo_wrap{min-width:0}}
#cc-home-consistency .hp-inquiry-layout .hp-form-wrap{min-width:0}
/* Theme-wide black headings must not override the approved section contrast. */
#cc-home-consistency h3{color:inherit}
/* Legacy theme clearfix boxes otherwise occupy real cells in these grids. */
#cc-home-consistency :is(.hp-about,.hp-service-grid,.hp-partner-grid,.hp-benefits,.hp-solutions,.hp-industries,.hp-blog-grid,.hp-blog-list,.hp-inquiry-layout,.hp-location-card)::before,
#cc-home-consistency :is(.hp-about,.hp-service-grid,.hp-partner-grid,.hp-benefits,.hp-solutions,.hp-industries,.hp-blog-grid,.hp-blog-list,.hp-inquiry-layout,.hp-location-card)::after,
html.cc-home-v2 .site_header>.container::before,
html.cc-home-v2 .site_header>.container::after,
html.cc-home-v2 .site_footer .foot_boxes::before,
html.cc-home-v2 .site_footer .foot_boxes::after{content:none;display:none}

/* Match the approved preview navigation while retaining WordPress menu links. */
html.cc-home-v2 .site_header .site_nav{display:none;position:fixed;inset:calc(var(--cc-home-header-top,0px) + var(--cc-home-header-height,96px)) 0 auto;width:100%;height:auto;max-height:calc(100dvh - var(--cc-home-header-top,0px) - var(--cc-home-header-height,96px));overflow:auto;overscroll-behavior:contain;padding:16px max(40px,calc((100% - 1170px)/2));background:#2870a0;color:#fff;z-index:1001;transition:none;text-align:left}
html.cc-home-v2 .site_header .site_nav.open_nav{display:block}
html.cc-home-v2 .site_header .site_nav>.mainMenu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 28px;margin:0;padding:12px 0;list-style:none}
html.cc-home-v2 .site_header .site_nav li{width:auto;min-width:0;margin:0;padding:0;float:none;list-style:none}
html.cc-home-v2 .site_header .site_nav li a{display:block;position:static;min-height:44px;margin:0;padding:8px 0;border:0;background:transparent;color:#fff;font:400 14px/1.5 'CC Gotham',Arial,sans-serif}
html.cc-home-v2 .site_header .site_nav>.mainMenu>li>a{font-size:16px;font-weight:700}
html.cc-home-v2 .site_header .site_nav li ul.sub-menu{display:block!important;position:static;margin:0;padding:0;background:transparent;width:auto}
html.cc-home-v2 .site_header .site_nav li a:hover,html.cc-home-v2 .site_header .site_nav li a:focus-visible{color:#bce8c7;text-decoration:underline}
html.cc-home-v2 .site_header .site_nav li a::before,html.cc-home-v2 .site_header .site_nav::before,html.cc-home-v2 .site_header .site_nav::after{content:none;display:none}
html.cc-home-v2 .site_header .site_nav li i,html.cc-home-v2 .site_header .site_nav>.overlay,html.cc-home-v2 .site_header .close_nav,html.cc-home-v2 .site_header .site_nav .close_menu{display:none!important}
/* Contact icons occupy their own gutter instead of overlapping text. */
html.cc-home-v2 .site_footer{background:#102e40}
html.cc-home-v2 .site_footer .contact_info{margin-top:22px}
html.cc-home-v2 .site_footer .contact_info li{position:relative;padding:0 0 0 26px!important;margin-bottom:10px;min-height:22px;color:#d7e4ed;overflow-wrap:anywhere}
html.cc-home-v2 .site_footer .contact_info .icon{position:absolute;inset:3px auto auto 0;width:18px;height:18px;margin:0;fill:currentColor}
html.cc-home-v2 .site_footer .foot_meta{background:transparent;text-align:left;color:#b5c8d4;font-size:12px;margin-top:28px;padding:18px 0 20px;border-top:1px solid #ffffff25}
html.cc-home-v2 .site_footer .foot_meta>.container{display:flex;flex-wrap:wrap;align-items:center;gap:12px;text-align:left;font:inherit}
html.cc-home-v2 .site_footer .foot_meta span{display:inline;margin:0;font:inherit}
html.cc-home-v2 .site_footer .foot_meta a{font:inherit;color:inherit}
html.cc-home-v2 .site_footer .tw_ico{display:none}
html.cc-home-v2 .site_footer .foot_meta>.container::before,html.cc-home-v2 .site_footer .foot_meta>.container::after{content:none;display:none}
@media(max-width:860px){html.cc-home-v2 .site_header .site_nav{padding-inline:24px}html.cc-home-v2 .site_header .site_nav>.mainMenu{grid-template-columns:1fr 1fr}}
@media(max-width:580px){html.cc-home-v2 .site_header .site_nav{padding:12px 18px}html.cc-home-v2 .site_header .site_nav>.mainMenu{grid-template-columns:1fr}}

/* Keep the video visible through the open menu until the header is scrolled. */
html.cc-home-v2 .site_header .site_nav{background:rgba(7,30,44,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background-color 180ms ease}
html.cc-home-v2 .site_header.cc-home-scrolled .site_nav{background:#2870a0;backdrop-filter:none;-webkit-backdrop-filter:none}
/* Three identical strokes with equal spacing and a 44px touch target. */
html.cc-home-v2 .site_header .menu_trigger{width:44px;height:44px;padding:0;border:0;background:transparent;box-shadow:none}
html.cc-home-v2 .site_header .menu_trigger::before,
html.cc-home-v2 .site_header .menu_trigger::after,
html.cc-home-v2 .site_header .menu_trigger span{content:'';display:block;position:absolute;left:7px;right:auto;width:30px;height:3px;margin:0;background:#fff;border:0;border-radius:0;transform:none}
html.cc-home-v2 .site_header .menu_trigger::before{top:10px;bottom:auto}
html.cc-home-v2 .site_header .menu_trigger span{top:20px;bottom:auto}
html.cc-home-v2 .site_header .menu_trigger::after{top:30px;bottom:auto}
@media(prefers-reduced-motion:reduce){html.cc-home-v2 .site_header .site_nav{transition:none}}

/* Approved full-width menu refinements. */
/* Layout refinements shared by both background studies. */
html.cc-home-v2 .site_header .site_nav{padding-block:24px 28px;background:#16394d;backdrop-filter:none;-webkit-backdrop-filter:none}
html.cc-home-v2 .site_header .site_nav>.mainMenu{gap:0 40px;padding:0;grid-template-columns:1.15fr 1fr 1.1fr .85fr}
html.cc-home-v2 .site_header .site_nav li a{font-size:13px;line-height:1.45;min-height:34px;padding:7px 0}
html.cc-home-v2 .site_header .site_nav>.mainMenu>li>a,
html.cc-home-v2 .site_header .site_nav .cc-menu-heading{display:block;font:700 16px/1.4 'CC Gotham',Arial,sans-serif;color:#fff;padding:0 0 14px;min-height:0;margin:0}
html.cc-home-v2 .site_header .site_nav>.mainMenu>li>a:hover{color:#bce8c7}
html.cc-home-v2 .site_header .site_nav .sub-menu li:first-child>a{padding-top:7px}
html.cc-home-v2 .site_header .site_nav::before,html.cc-home-v2 .site_header .site_nav::after{content:none;display:none}
html.cc-home-v2 .site_header .site_nav .mainMenu>li{border:0}
html.cc-home-v2 .site_header.cc-home-scrolled .site_nav{background:#2870a0;backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-background=translucent] .site_header:not(.cc-home-scrolled) .site_nav{background:rgba(16,46,64,.94);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
html.cc-home-v2 .site_footer .cc-footer-legal{display:flex;flex-wrap:wrap;gap:8px 22px;flex-basis:100%;padding-top:8px;font-size:12px}
html.cc-home-v2 .site_footer .cc-footer-legal a{font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
html.cc-home-v2 .site_footer .cc-footer-legal::before,html.cc-home-v2 .site_footer .cc-footer-legal::after{content:none;display:none}
html.cc-home-v2 .site_header .site_nav>.mainMenu::before,html.cc-home-v2 .site_header .site_nav>.mainMenu::after{content:none;display:none}

/* A restrained text sheen, inspired by React Bits Shiny Text. */
.cc-shiny-heading{display:inline-block;color:#fff}
@supports (background-clip:text){
 html.cc-home-v2 .site_header .cc-shiny-heading{background:linear-gradient(110deg,#fff 35%,#bce8c7 47%,#fff 58%);background-size:250% 100%;background-position:100% 0;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
 html.cc-home-v2 .site_header .open_nav .cc-shiny-heading{animation:cc-heading-shine 5s linear infinite}
}
@keyframes cc-heading-shine{0%,25%{background-position:100% 0}65%,100%{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){html.cc-home-v2 .site_header .open_nav .cc-shiny-heading{animation:none;background:none;-webkit-text-fill-color:#fff}}
@media(forced-colors:active){html.cc-home-v2 .site_header .cc-shiny-heading{background:none;-webkit-text-fill-color:CanvasText}}
html.cc-home-v2 .site_header:not(.cc-home-scrolled) .site_nav{background:rgba(16,46,64,.94);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
@media(max-width:860px){html.cc-home-v2 .site_header .site_nav>.mainMenu{grid-template-columns:1fr 1fr;gap:26px 32px}}
@media(max-width:580px){html.cc-home-v2 .site_header .site_nav{padding-block:20px}html.cc-home-v2 .site_header .site_nav>.mainMenu{grid-template-columns:1fr;gap:22px}html.cc-home-v2 .site_header .site_nav li a{font-size:15px;min-height:44px;padding:10px 0}html.cc-home-v2 .site_header .site_nav>.mainMenu>li>a,html.cc-home-v2 .site_header .site_nav .cc-menu-heading{font-size:17px;padding-bottom:8px}}
