/*
Theme Name: flexsourceie
Author: FRD Studio
Description: Custom WordPress Theme
Version: 1.0
*/

body {
  margin: 0;
  font-family: Arial, sans-serif;
  background: #f5f5f5;
	padding:0px !important;		
}



h1, h2 {
  margin: 0 0 10px;
}
.job_filters .search_jobs{
	    display: flex;
    background-color: #ff5e00;
}
.top_head {
    padding: 10px 0pc;
    background-color: #FF5E00;
    align-items: center;
}

form {
    display: inline-block;
    width: 100%;
}
.top_head .form-control {
    padding: 10px;
    font-size: 16px;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
    border-radius: 0;
    width: 100%!important;
}
.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-body-bg);
    background-clip: padding-box;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	font-family: PT Sans, sans-serif;
}
.search_button {
    background: #090909;
    color: #fff;
    transition: all .3s ease-in-out;
    padding: 10px 46px;
    border-radius: 100px;
    font-size: 14px;
    font-weight:600;
    border: 1px solid #090909;
    font-family: "Lato", Sans-serif;
}
.form-select option {
    color: #000000;
}

.form-select:focus {
    border-color: transparent !important;
    outline: none !important;
    box-shadow: none !important;
}

.form-select {
    --bs-form-select-bg-img: url("https://cplhealthcastg.wpenginepowered.com/wp-content/uploads/2026/05/icon.svg.svg");
}
.form-select {
	background-color: transparent;
    border: none;
    color: #fff;
}
.form-control:focus,
.form-select:focus {
    outline: none !important;
    box-shadow: none !important;
    border-color: transparent;
}
	.fa-long-arrow-left:before {
    content: "\f177";
}	
.job-single{
	font-family:PT Sans, sans-serif;
}

.custom-share-bar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 9px;
    padding: 20px 0;
}
.custom-share-bar .share-label {
    font-size: 14px;
    font-weight: 600;
    color: #FF5E00;
    letter-spacing: 1px;
}

.custom-share-bar a {

    color: #000;
    display: flex;
    align-items: center;
    text-decoration: none;
    margin: 0px 10px;
}
.custom-share-bar a:hover {

    color: #FF5E00;
}

.custom-share-bar{
    display:flex;
    align-items:center;
    gap:12px;
}

.custom-share-bar dd{
    margin:0;
}

.custom-share-bar a{
    color:#000;
    font-size:18px;
}


.custom-share-bar{
display:flex;
align-items:center;
gap:8px;
}

.custom-share-bar a {
    color: #000;
    display: flex;
    align-items: center;
    /* gap: 10px; */
    margin: 5px;
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
}

.custom-share-bar a:hover{
	color:#ff5e00;
}
.custom-share-bar svg{
    width:15px;
    height:15px;
}

.job-data a {
    padding: 20px;
    display: block;
    border: 1px solid #0000001a;
    margin-bottom: 15px;
    border-radius: 8px;
    color: #000000;
    font-size: 14px;
    font-family: PT Sans;
    text-decoration: none;
}
.job-listing{
	margin:0;
	padding:0;
	list-style:none;
}

.job-data a{
	padding:20px;
	display:block;
	border:1px solid #0000001a;
	margin-bottom:15px;
	border-radius:8px;
	color:#000000;
	font-size:14px;
	font-family:PT Sans;
	text-decoration:none;
}

.job-data a:hover{
	border-color:#ff5e000d;
	background:#ff5e000d;
}

.post-date{
	color:#20212468;
}

.job-ref{
	color:#20212468;
}

.job-data .xs-heading{
	font-size:20px;
	padding:5px 0;
	font-weight:bold;
	color:#090909 !important;
}

.job-data .xs-heading:hover{
color:#FF5E00;
}


.job-data i{
    color: #FF5E00;
}
.job-data-highlights{
	display:flex;
	gap:20px;
	color:#767c7f;
	list-style:none;
	margin:0;
	padding:5px 0;
	font-weight:400;
	font-size:16px;
	flex-direction: row;
}

 .job-data-highlights span {
	color:#ff5e00;
}

#our_sector_sec{
	    overflow: hidden;
}
.spin_circle {
    animation: spinCircle 6 linear infinite;
    transform-origin: center center;
    will-change: transform;
}

@keyframes spinCircle {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
.elementor-swiper-button:hover .spin_circle{
	animation: spinCircle 6 linear infinite;
    transform-origin: center center;
    will-change: transform;
	display:none;
}
.md-heading {
    font-size: 50px;
    font-size: 3.125rem;
    margin-bottom: 1.875rem;
	font-weight:600;
}
.authorimg img {
    border-radius: 50%;
}
#author-info h3{
	    font-weight: 600;
    color: rgba(var(--vsm-black), 1);
    margin-bottom: .188rem;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1;
}
.blog_disc{
	font-size:1.5rem;
	color:#767c7f;
}
.blog-share a{
	text-decoration:none;
	    margin-left: 7px;
}
.share_txt{
	color:#ff5e00;
	font-size: .875rem;
    font-weight: 600;
}
.article-tags{
    font-weight: 700;
	    color: #767c7f;
}
.share_top{
	    border-top: .063rem solid rgba(0, 0, 0, .1);
}
.share_btm{
	border-top: .063rem solid rgba(0, 0, 0, .1);
    border-bottom: .063rem solid rgba(0, 0, 0, .1);
    margin: 1.25rem 0;
	    padding: 1.25rem 0 1.25rem 0;
}
.related-heading{
	font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 1.875rem;
	    font-weight: 600;
}
.side_img{
	    border-radius: 0.625rem;
}
.side_post_title{
	    color: #090909;
    font-weight: 500;
    font-size: 18px;
    font-size: 1.125rem;
    text-decoration: none;
    line-height: 1.2;
    display: inline-block;
    margin-bottom: .5rem;
}
.side_post_title:hover{
	color:#ff5e00;
}
.side_post_date{
	    font-size: .75rem;
    font-weight: 600;
}
.swiper-backface-hidden .swiper-slide{
	    border-radius: 0.625rem;
   
    padding: 1.875rem 1.875rem;
}

#flex_source .swiper-backface-hidden .swiper-slide{
	    border-radius: 0.625rem;
    background: transparent;
    padding: 0;
}

.meet-teamm .swiper-backface-hidden .swiper-slide{
	   
    background: transparent !important;
    padding: 0px !important;
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
    opacity: .9s;
    cursor: auto;
    pointer-events: none;
}


.job-slider	.swiper-button-next, .job-slider .swiper-button-prev {
    position: absolute;
    background-color: #ff5e00;
/*     border: 2px solid #ff5e00; */
    border-radius: 100px;
    width: 75px;
    height: 75px;
	color:#fff;
	    top: 40%;
  
}

.job-slider	.swiper-button-next, .job-slider .swiper-button-prev:hover{
    background-color: #ff5e00;
	color:#fff;
	border: 2px solid #fff;
}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
	background-color: #fff;
	color:#ff5e00;
    pointer-events: none;
}
.job-slider .swiper-slide:after{
	content: "";
     background: url('/wp-content/uploads/2026/07/colour-brandmark.svg') no-repeat center;
    width: 1.875rem;
    height: 1.875rem;
    display: block;
    position: absolute;
    right: 0.625rem;
    bottom: 0.625rem;
	 background-size: contain;
	position: absolute;
}


.job-slider .swiper-button-next:after, .swiper-button-prev:after{
	font-size:20px !important;
	font-weight:900;
}

.vsm-job-carousel .swiper-navigation {
    position: relative;
    display: flex;
    width: 100%;
    justify-content: flex-end;
}

.sigle-job-slider h2{
	font-size:50px;
	font-family: "Lato", sans-serif;
    font-weight: 600;
	
}

.sigle-job-slider  .job_read{
	margin:20px;
	border:none;
    background-color: #FF5E00;
    font-family: "Open Sans", Sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-transform: capitalize;
    font-style: normal;
    text-decoration: none;
    word-spacing: 0px;
    fill: #000000;
    color: #000000;
    border-radius: 100px 100px 100px 100px;
    padding: 12px 30px 12px 30px;
}
.sigle-job-slider  .job_read:hover{
	  background-color: #fff;
	  color:#FF5E00;
}
.sigle-job-slider a:hover {
    background: #e65c00;
}

.job-slider .swiper-slide{
	height:auto;
    border-radius: 16px;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
	padding:30px;
	background-color:#fff9;
}

.job-slider .swiper-slide:hover{
	background-color:#fff;
}

.job-slider.swiper{
	overflow:visible;
}

.job-slider .post-date{
	color:#ffffff;
	font-size:13px;
	font-family:PT Sans;
	display:none;
}


.job-slider  p{
	font-size:16px;
	font-family:'Open Sans'
	font-weight: 400;
	 color: #767c7f;
	}

.job-slider .job-data-highlights{
	display:block;
	color:#000;
	font-size:18px;
}

.job-slider .job-data-highlights li {
    padding: 5px 0;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 400;
    color: #767c7f;
	font-family:'Open Sans'
}

.job-slider .job-data-highlights li span{
	color:#FF5E00;
	min-width:20px;
	display:inline-block;
		text-align:center;
}
.job-slider .job-data-highlights i{
	color:#FF5E00;
}
.job-slider	.job-data a {
    padding-top: 15px;
    border: 0;
    margin-bottom: 0;
    border-radius: 0;
    color: #ff5e00;
    font-size: 14px;
    font-family: "Lato", Sans-serif;
    text-decoration: none;
    font-weight: bold;
    margin-top: 5px;
    display: inline-block;
}

.job-slider	.job-data a i{
	margin-left:10px;
	color:#FF5E00;
	transition:all .3s ease;
}

.job-slider	.job-data a:hover i{
transform:translate(10px,0); opacity:0;	
}

.job-slider	.job-data a:hover{
	background:none;
}
.swiper-button-prev,.swiper-button-next{
	
	color:#FF5E00;
	background-color: White;
}



.blog_page_link_first a{ font-size: 1.875rem; text-decoration: none; font-weight: 600; color: #090909; padding-top: 28px; }

.blog_page_link_first a:hover{ color: #FF5E00; }

.blog_page_link_first_para{color:#767c7f;}

.author_name_date{ font-size: .75rem !important; }

.blog_date.author_name_date{color:#767c7f;
font-family: 'Open Sans', sans-serif;
}

.blog-box-image img{ border-radius: 0.625rem; }

.blog_page_link a{ text-decoration: none; font-weight: 600; color: #090909; padding-top: 28px; font-size: 1.125rem; }

.blog_page_link a:hover{
color: #FF5E00;
}
.blog_box_small .blog-box-image img{
max-height: 180px;
object-fit: cover;
}


.job-title h1 {
	font-size:50px;
	font-family: "Lato", sans-serif;
    font-weight: 600;

}

.job-data-highlights .rte h2{
	color:#090909 !important;
	font-size:32px;
	font-family: "Lato", sans-serif;
	font-weight:600;
}



.job-title .apply-now:hover{
	color:#fff !important;
}



.job-title a {
    margin: 20px;
    border: none;
    background-color: #FF5E00;
    font-family: "Open Sans", Sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-transform: capitalize;
    font-style: normal;
    text-decoration: none;
    word-spacing: 0px;
    fill: #000000;
    color: #000 !important;
    border-radius: 100px 100px 100px 100px;
    padding: 12px 30px 12px 30px;
}

.job-title a:hover {
    background-color: #000;
    color: #fff;
}

.job-single .container a.back-to-result{
	color:#FF5E00;
	font-size:16px;
	font-weight:700;
	font-family: "Lato", sans-serif;
}

.job-single .container .job-data-highlights i {
    color: #FF5E00;
}
.overflw{
	overflow:hidden
}


.job-content p{
	color:#767c7f;
	font-size:16px;
	font-family:"Open Sans", sans-serif;
	font-weight:400;
	}

.job-content ul li{
	color:#767c7f !important;
	font-size:16px;
	font-family:"Open Sans", sans-serif;
	font-weight:400;
	
}
.team_box .team-image img{
	    width: 128px;
    height: 128px;
    border-radius: 50%;
	object-fit:cover;
}
.team_box {
    border: 1px solid transparent;
    border-radius: 10px;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(-270deg, #ff5e00, #179b9e ) border-box;
	padding:30px  60px 60px 60px;
	text-align:center;
    width: calc(33.333% - 20px);
    margin: 10px
}

.team_box:hover{
    border: 3px solid transparent;

    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(
            90deg,
            #ff5e00,
            #179b9e,
            #ff5e00,
            #179b9e,
            #ff5e00
        ) border-box;

    background-size: 100% 100%, 300% 100%;
    animation: borderFlow 3s linear infinite;
    border-radius: 20px; /* Optional */
}

@keyframes borderFlow{
    from{
        background-position: 0 0, 0% 50%;
    }
    to{
        background-position: 0 0, 300% 50%;
    }
}



.card-body h4 {
	color:#090909;
	font-size:18px;
	font-weight:600;	
	font-family: 'Lato', sans-serif;	
	padding-top:20px;
}

.card-body p  {
	  color:#767c7f;
	  font-size:16px;
	  font-family: 'Open Sans', sans-serif;
}


.card-body .meet_button {
	font-size:14px;
	padding: 10px 30px;
	color:#090909;
	background-color:#ff5e00;
	font-family: 'Lato', sans-serif;
	font-weight:600;
	border-color: #ff5e00;
	border-radius:100px;
	margin-bottom:15px;
	text-decoration:none;
}

.card-body .meet_button:hover{
	background-color:#090909;
	color:#fff;
	border-color:#090909;
}


.card-body .social_link{
    display: flex;
    align-items: center;
    justify-content: center; 
    gap: 0px; 
	color:#ff5e00;
	margin-top:15px;
}

.card-body .social_link a{
    color: #ff5e00;
    text-decoration: none;
    transition: color .3s ease;
}

.card-body .social_link a i{
    color: #ff5e00;
}

.card-body .social_link a:hover,
.card-body .social_link a:hover i{
    color: #179b9e;
}

.team_head h1{
	color:#090909;
	font-size:50px;
	font-family: "Lato", sans-serif;
    font-weight: 600;
	margin-bottom:30px;
}
.team_head p{
	color:#767c7f;
	  font-size:16px;
	  font-family: 'Open Sans', sans-serif;
	margin-bottom:30px;
	
}
.team-image img{
	width:288px;
	height:360px;
}

.contacts{
	list-style:none;
	padding:0px;
	text-align:center;
	margin-top:15px;
}

 .contacts .connect_with{
	width: 100%;
    background: none;
    border: 1px solid #0003 ;
    color: #000;
	 border-radius:100px;
	 
}

  .contacts .connect_with i {
	color:#ff5e00;
	  padding-right:15px;
}
 .contacts .connect_with .connect_me {
	color:#000;
	  font-size:14px;
	 font-family: 'Open Sans', sans-serif;
	 font-weight:700;
}

.contacts{
    display: flex;
    flex-direction: column;
    gap: 15px; 
    list-style: none;
    padding: 0;
   
}

   .contacts .send_cv {
    padding: 10px;
    background-color: #FF5E00;
    width: 100%;
    border-radius: 100px;
    color: #000;
	font-weight:700;
	 font-size:14px !important;
	font-family: 'Open Sans', sans-serif;  
}

   .contacts .send_cv:hover {
    background-color: #090909;
    color: #ffffff;
	}

.contacts .back_teams{
	text-align:left;
}

.top_learning {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.top_learning h2 {
    margin: 0;
}

.top_learning .meet_button_read {
    white-space: nowrap;
}

.meet_button_read{
	font-size:14px;
	padding: 10px 30px;
	color:#000 !important;
	background-color:#ff5e00;
	font-family: 'Lato', sans-serif;
	font-weight:600;
	border-color: #000;
	border-radius:100px;
	margin-bottom:15px;
	text-decoration:none;
	}

.keep_growing{
	width:1320px;
}
.top_learning .meet_button_read:hover{
	
	color:#fff !important;
	background-color:#090909;
	}

.top_learning h2{
	font-size:40px;
	font-family: 'Lato', sans-serif;
	font-weight:600;
	color:#090909;
}

.view-linkback {
	list-style:none;
}

.view-linkback a:hover {
	color:#179b9e;
}

.view-linkback a{
	text-decoration:none;
	font-size:14px;
	color:#ff5e00;
	list-style:none;
	font-weight:700;
}

 .resources_posts .top_learning h2 {
    font-size: 30px;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    color: #090909;
}

.meet_blogs .blog_box .blog_img{
	border-radius:10px;
	width:416px;
	height:234px;
}

.meet_blogs .blog_box .blog_date{
	 font-size: 14px;
    color: #767c7f;
    margin: 16px 0;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
}
.meet_blogs .blog_box .blog_titles {
	color:#090909;
	 font-family: 'Lato', sans-serif;
    font-weight: 700;
	font-size:18px;
	margin-bottom:10px;
	}

.meet_blogs .blog_box .blogs_readmore .text-dark {
	color:#ff5e00 !important;
	font-size:14px;
	 font-family: 'Lato', sans-serif;
	font-weight: 600;
	}

.meet_blogs .blog_box .blogs_readmore .text-dark:hover {
    color: #179b9e !important;
	}


@media (max-width: 600px){
   
	.job-data-highlights{
	display:flex;
	gap:12px;
	color:#767c7f;
	list-style:none;
	margin:0;
	padding:5px 0;
	font-weight:600;
	font-size:16px;
	flex-direction: column;
    flex-wrap: wrap;	
}
	
	
	.job-content p{
	padding-top:15px;
		padding-bottom:15px;
	}
	
	.latest-jobs .job-slider .swiper-button-next .swiper-button-prev {
    position: absolute !important;
    background-color: #ff5e00;
/*     border: 2px solid #ff5e00; */
    border-radius: 100px;
    width: 75px;
    height: 75px;
	color:#fff;
	    top: 40%;
    left: 0%;
}
	
	.sigle-job-slider .latest-jobs .swiper-backface-hidden .swiper-slide{
		padding:30px !important;
	}
	.sigle-job-slider .job-slider	.swiper-button-next, .sigle-job-slider .job-slider .swiper-button-prev {
    position: absolute!important;
    background-color: #ff5e00!important;
    border: 2px solid #ff5e00 !important;
    border-radius: 100px;
    width: 75px;
    height: 75px;
	color:#fff !important;
}

.job-slider .latest-jobs .swiper-button-next, .job-slider .latest-jobs .swiper-button-prev:hover{
    background-color: #fff;
	color:#ff5e00;
	border: 2px solid #fff !important;
}
	
.sigle-job-slider .overflw .btn-primary {
    padding: 10px 30px !important;
    background: #ff5e00 !important;
    color: #000;
    font-weight: 600;
    border: none !important;
    transition: all .5s;
    font-size: 14px;
    font-family: 'Lato', sans-serif;
    border-radius: 100px !important;
}

}


@media (max-width: 600px) {
   
	.sigle-job-slider .swiper-backface-hidden .swiper-slide {
			padding:30px !important;
		}
}

@media (max-width: 767px) {
   
	.blog-item .search_post{
	flex-wrap:wrap;
}
	.sigle-job-slider .btn-primary {
    padding: 10px 30px !important;
    background: #ff5e00 !important;
    color: #000;
    font-weight: 600;
    border: none !important;
    transition: all .5s;
    font-size: 14px;
    font-family: 'Lato', sans-serif;
    border-radius: 8px !important;
}
	
	.top_learning {
        flex-direction: column;
        align-items: flex-start;
    }

    .top_learning .meet_button {
        margin-top: 15px;
    }
	
	.warehouse_slider.swiper-backface-hidden .swiper-slide {
		padding:0px;
	}
	
	
}

a.prev.page-numbers {
       color: #6C757D;
    font-size: 20px;
    font-style: none;
    text-decoration: none;
    margin: o auto;
}

a.next.page-numbers {
    color: #6C757D;
    font-size: 20px;
    font-style: none;
    text-decoration: none;
    margin: o auto;
}

ul.page-numbers {
    text-decoration: none;
    list-style: none;
     display: inline-flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
	color: #FF5E00!important;
}
ul span.page-numbers.current {
color: #FF5E00;
}
a.page-numbers {
    color: color: #FF5E00!important;
}

.feature_job{
	font-weight:600 !important;
	}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
    opacity: 0 !important;
    cursor: auto;
    pointer-events: none;
}

.sigle-job-slider{
    padding: 80px 0;
    background-color: #e1dcd5;
    background-image: url("/wp-content/uploads/2026/07/grey-brandmark.svg");
    background-position: 120% 50%;
    background-repeat: no-repeat;
    background-size: 60%;
    position: relative;
}

.single_job_from{
	
	background-color:#767C7F;
	padding-top:80px;
	padding-bottom:80px;
}

.single_job_from h3{
	
	color:#F4F5F5;
}
.job-single .job-content ul li{
	list-style:none;
	position:relative;
}
.job-single .job-content ul{
	   padding-left: 16px;
}
.job-single .job-content ul li:before {
    content: "";
    position: relative;
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    color: #ff5e00;
    position: absolute;
       left: -14px;
    top: 5px;
}
.job-single .job-content .job-data-highlights {
    padding-left: 0px;
}
.job-single .job-content .job-data-highlights li:before{
	content:none;
}
.job-slider .swiper-button-next:before, .job-slider .swiper-button-prev:before {
    content: "";
    background: url(/wp-content/uploads/2026/07/brandmark-outlined-btn.svg);
    opacity: 0;
    width: 300px;
    height: 300px;
    display: block;
    position: absolute;
    top: -115px;
    left: -115px;
    background-size: cover;
    pointer-events: none;
    transition: opacity 800ms ease-in-out;
}
.job-slider .swiper-button-next:hover:before{
    opacity: 1;
    animation: spin 2s linear infinite;
}
.job-slider .swiper-button-prev:hover:before{
	  opacity: 1;
    animation: spin 2s linear infinite;
}
@keyframes spin {
    from {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(360deg)
    }
}
.job-slider .swiper-button-next:hover, .job-slider .swiper-button-prev:hover{
	background-color: #fff;
    color: #ff5e00;
    border: 2px solid #fff;
}


.job-listing .job-data a:hover{
	color:#ff5e00;
}

.our_sectors .job-slider .swiper-button-next:before, .job-slider .swiper-button-prev:before {
	content: "";
    background: url(/wp-content/uploads/2026/06/brandmark-outlined.svg);
    opacity: 0;
    width: 500px;
    height: 500px;
    display: block;
    position: absolute;
    top: -115px;
    left: -115px;
    background-size: cover;
    pointer-events: none;
    transition: opacity 800ms ease-in-out;
}

.elementor-swiper-button:before {
    content: "";
    background-image: url("/wp-content/uploads/2026/06/brandmark-outlined.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    opacity: 0;
    width: 700px;
    height: 700px;
    display: block;
    position: absolute;
    top: -325px;
    left: -305px;
    pointer-events: none;
    transition: opacity 0.8s ease-in-out;
    pointer-events: none;
    transition: opacity 0.8s ease-in-out;
}
.elementor-swiper-button:hover:before{
    opacity: 1;
    animation: spin 2s linear infinite;
}
.card-body .second-blog-heading{
	font-size:18px;
	font-family: Open Sans;
	color:#090909;
	font-weight:600;
}

.card-body .second-blog-heading:hover {
    color: #ff5e00 !important;
}

.card-body .post-snippet{
	font-size:16px;
	font-family: Open Sans;
	color:#767c7f;
	}

.blog-list li{
	margin-bottom:30px;
	padding-bottom:30px;
	border-bottom:1px solid #0000001a;
}
.blog-list .card-img-top{
	object-fit:cover;
	border-radius:10px;
	height: 192px;
    min-width: 342px;
}
.side-filters .sm-heading{
	font-size:30px;
	font-family:lato;
	font-weight:600;
	color:#090909;
	margin-bottom:20px;
}
.side-filters .typee{
	font-size:16px;
	font-family:lato;
	font-weight:700;
	color:#090909;
	margin-bottom:20px;
}

.side-filters .filter_blog{
	color:#767c7f;
	font-size:18px;
	padding-bottom:40px;
}

.side-filters .outer_filter a{
	text-decoration-color: #ff5e00;

}

.side-filters .outer_filter a span{
	text-decoration: none;
    color: #ff5e00;
    font-size: 18px;
}
.blog-pagination .page-numbers a{
	color:#767c7f;
}
.blog-pagination .page-numbers a:hover{
	color:#ff5e00;
}

.post_article p{
	color:#767c7f !important;
}


/* Flexsource UK - Molten Forge complete design system.
   Harvested from flexsourceidev, deduplicated, cascade order preserved: Customizer -> per-page -> hooks -> mobile.
   Wrapper #fsx -> body.fsx (added via body_class filter).
   Element IDs #fsxContact / #fsxCaseStudies / #fsx-sitemap deliberately unchanged. */

body.fsx *{margin:0;padding:0;box-sizing:border-box}
body.fsx{
  --forge-black:#0A0B0D;--forge-steel:#131519;--forge-panel:#181B20;--forge-graphite:#23272E;
  --hairline:rgba(255,255,255,.08);
  --molten:#FF5E00;--molten-hot:#FF8A1E;--ember:#E23A00;
  --concrete:#F4F1ED;--ash:#9AA0A6;--ash-dim:#6C727A;--white:#fff;
  --heat:linear-gradient(120deg,#FF8A1E,#FF5E00 55%,#E23A00);
  --maxw:1240px;
  font-family:"Lato",system-ui,sans-serif;color:var(--white);
  background:var(--forge-black);line-height:1.7;-webkit-font-smoothing:antialiased;
  overflow-x:clip;position:relative;font-size:16px;
}
body.fsx img{max-width:100%;display:block}
body.fsx a{color:inherit;text-decoration:none}
body.fsx h1,body.fsx h2,body.fsx h3{font-family:"Anton",sans-serif;font-weight:400;text-transform:uppercase;line-height:.94;letter-spacing:.01em}
body.fsx .wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,48px)}
body.fsx .eyebrow{font-family:"Archivo",sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--molten);display:inline-flex;align-items:center;gap:.7em}
body.fsx .eyebrow::before{content:"";width:26px;height:2px;background:var(--heat);display:inline-block}
body.fsx .lead{font-size:clamp(1.05rem,1.5vw,1.28rem);color:var(--ash);max-width:60ch}
body.fsx p{color:var(--ash)}
body.fsx .btn{font-family:"Archivo",sans-serif;font-weight:800;font-size:.82rem;letter-spacing:.12em;
  text-transform:uppercase;display:inline-flex;align-items:center;gap:.7em;padding:1.05em 1.9em;border-radius:100px;
  background:var(--heat);color:#140a03;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s;
  box-shadow:0 10px 30px -10px rgba(255,94,0,.6);white-space:nowrap;border:0;cursor:pointer}
body.fsx .btn:hover{transform:translateY(-3px);box-shadow:0 18px 44px -12px rgba(255,94,0,.75)}
body.fsx .btn--ghost{background:transparent;color:var(--white);border:1.5px solid var(--forge-graphite);box-shadow:none}
body.fsx .btn--ghost:hover{border-color:var(--molten);color:var(--molten);box-shadow:none}
body.fsx .btn .arw{transition:transform .3s}
body.fsx .btn:hover .arw{transform:translateX(4px)}
body.fsx section{position:relative}
body.fsx .nav{display:block}
body.fsx .nav .mnav{margin:0}
body.fsx .salary .card{display:block}
body.fsx .rv{opacity:0;transform:translateY(38px);transition:opacity .9s ease,transform .9s cubic-bezier(.16,.8,.3,1)}
body.fsx .rv.in{opacity:1;transform:none}
body.fsx .rv.d1{transition-delay:.08s}
body.fsx .rv.d2{transition-delay:.16s}
body.fsx .rv.d3{transition-delay:.24s}
body.fsx .nav{position:sticky;top:0;z-index:60;backdrop-filter:blur(14px);
  background:rgba(10,11,13,.72);border-bottom:1px solid var(--hairline)}
body.fsx .nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
body.fsx .brand{font-family:"Anton";font-size:1.5rem;letter-spacing:.02em;display:flex;align-items:center;gap:.5em}
body.fsx .brand .dot{width:30px;height:30px;border-radius:50%;background:var(--heat);box-shadow:0 0 18px rgba(255,94,0,.7)}
body.fsx .desknav{display:flex;gap:1.8rem;font-family:"Archivo";font-weight:600;font-size:.9rem}
body.fsx .desknav a{color:var(--ash);transition:color .25s}
body.fsx .desknav a:hover{color:var(--white)}
body.fsx .navright{display:flex;align-items:center;gap:1rem}
body.fsx .reg{width:44px;height:44px;border-radius:50%;background:var(--heat);display:grid;place-items:center;color:#140a03;font-size:1.2rem;box-shadow:0 0 20px rgba(255,94,0,.6);flex:0 0 auto}
body.fsx .ham{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
body.fsx .ham span{width:26px;height:2px;background:#fff;transition:.3s}
body.fsx .ham[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.fsx .ham[aria-expanded="true"] span:nth-child(2){opacity:0}
body.fsx .ham[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
body.fsx .mnav{display:none;flex-direction:column;background:var(--forge-steel);border-bottom:1px solid var(--hairline)}
body.fsx .mnav a{padding:1rem clamp(20px,5vw,48px);border-top:1px solid var(--hairline);font-family:"Archivo";font-weight:600;color:var(--ash)}
body.fsx .mnav.open{display:flex}
body.fsx .hero{min-height:100vh;display:flex;align-items:center;padding:120px 0 80px;overflow:hidden;position:relative}
body.fsx .hero .glow{position:absolute;inset:-20% -10% auto auto;width:min(90vw,1100px);aspect-ratio:1;
  background:radial-gradient(circle at 50% 50%,rgba(255,138,30,.55),rgba(255,94,0,.25) 32%,rgba(226,58,0,.06) 55%,transparent 70%);
  filter:blur(10px);pointer-events:none;z-index:0;will-change:transform}
body.fsx .hero .ring{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(70vw,760px);aspect-ratio:1;z-index:0;opacity:.9;pointer-events:none}
body.fsx .hero .grid-bg{position:absolute;inset:0;z-index:0;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:64px 64px;-webkit-mask-image:radial-gradient(circle at 70% 45%,#000,transparent 75%);mask-image:radial-gradient(circle at 70% 45%,#000,transparent 75%)}
body.fsx .hero .wrap{position:relative;z-index:2;width:100%}
body.fsx .hero-inner{max-width:920px}
body.fsx .hero h1{font-size:clamp(3.3rem,9vw,7.6rem);margin:.28em 0 .35em;letter-spacing:.005em}
body.fsx .hero h1 .hl{color:transparent;background:var(--heat);-webkit-background-clip:text;background-clip:text}
body.fsx .hero .sub{font-size:clamp(1.05rem,1.7vw,1.35rem);color:#c8ccd1;max-width:52ch}
body.fsx .search{margin-top:2.4rem;display:flex;gap:.6rem;max-width:640px;background:rgba(19,21,25,.9);
  border:1px solid var(--forge-graphite);border-radius:100px;padding:.5rem .5rem .5rem 1.6rem;align-items:center;
  box-shadow:0 24px 60px -24px rgba(0,0,0,.8)}
body.fsx .search svg{flex:0 0 auto;color:var(--ash)}
body.fsx .search input{flex:1;background:none;border:0;outline:none;color:var(--white);font-family:"Lato";font-size:1.05rem;min-width:0}
body.fsx .search input::placeholder{color:var(--ash-dim)}
body.fsx .scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:2;
  font-family:"Archivo";font-weight:600;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ash-dim);
  display:flex;flex-direction:column;align-items:center;gap:.7rem}
body.fsx .scroll-cue .line{width:1px;height:44px;background:linear-gradient(var(--molten),transparent);animation:cue 2.2s infinite}
@keyframes cue{0%{transform:scaleY(.2);transform-origin:top;opacity:.3}50%{transform:scaleY(1);opacity:1}100%{transform:scaleY(.2);transform-origin:bottom;opacity:.3}}
body.fsx .conveyor{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);
  background:var(--forge-steel);padding:1.5rem 0;overflow:hidden;position:relative}
body.fsx .conveyor::before,body.fsx .conveyor::after{content:"";position:absolute;top:0;bottom:0;width:140px;z-index:2;pointer-events:none}
body.fsx .conveyor::before{left:0;background:linear-gradient(90deg,var(--forge-steel),transparent)}
body.fsx .conveyor::after{right:0;background:linear-gradient(270deg,var(--forge-steel),transparent)}
body.fsx .track{display:flex;gap:3.2rem;width:max-content;animation:marq 34s linear infinite}
body.fsx .track span{font-family:"Anton";font-size:1.6rem;text-transform:uppercase;color:#2b2f36;
  display:flex;align-items:center;gap:3.2rem;letter-spacing:.02em;transition:color .3s}
body.fsx .track span::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--molten);box-shadow:0 0 10px var(--molten)}
body.fsx .conveyor:hover .track{animation-play-state:paused}
body.fsx .track span:hover{color:var(--concrete)}
@keyframes marq{to{transform:translateX(-50%)}}
body.fsx .intro{padding:clamp(90px,12vh,150px) 0}
body.fsx .intro .grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,6vw,6rem);align-items:start}
body.fsx .intro h2{font-size:clamp(2.2rem,4.6vw,4rem);position:sticky;top:110px}
body.fsx .intro h2 em{font-style:normal;color:transparent;background:var(--heat);-webkit-background-clip:text;background-clip:text}
body.fsx .intro .body p{font-size:1.12rem;color:#c2c7cd;margin-bottom:1.5rem}
body.fsx .intro .body p:first-child{color:#e8eaed;font-size:1.28rem;line-height:1.6}
body.fsx .gauge{padding:clamp(80px,10vh,130px) 0;background:
  radial-gradient(120% 140% at 15% 0%,rgba(255,94,0,.14),transparent 50%),var(--forge-steel);
  border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
body.fsx .gauge .grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
body.fsx .gauge .num{font-family:"Anton";font-size:clamp(6rem,17vw,15rem);line-height:.8;color:transparent;
  background:var(--heat);-webkit-background-clip:text;background-clip:text;position:relative}
body.fsx .gauge .num sup{font-size:.3em;vertical-align:top;-webkit-text-fill-color:var(--molten);top:.6em;position:relative}
body.fsx .gauge .cap{font-family:"Archivo";font-weight:800;text-transform:uppercase;letter-spacing:.16em;
  font-size:1rem;color:var(--white);margin-top:.5rem}
body.fsx .gauge .spark{width:100%;height:90px;margin-top:1.4rem;overflow:visible}
body.fsx .gauge .spark path.area{fill:url(#sparkgrad);opacity:.25}
body.fsx .gauge .spark path.line{fill:none;stroke:var(--molten);stroke-width:3;stroke-linecap:round;
  stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 2s ease}
body.fsx .gauge.in .spark path.line{stroke-dashoffset:0}
body.fsx .gauge .ctx p{font-size:1.12rem;color:#c2c7cd;max-width:52ch}
body.fsx .sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3rem;flex-wrap:wrap}
body.fsx .sec-head h2{font-size:clamp(2.2rem,4.6vw,4rem);max-width:20ch}
body.fsx .sectors{padding:clamp(90px,12vh,150px) 0}
body.fsx .sec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
body.fsx .scard{position:relative;border-radius:16px;overflow:hidden;min-height:300px;display:flex;flex-direction:column;
  justify-content:flex-end;padding:1.5rem;background:var(--forge-panel);border:1px solid var(--hairline);isolation:isolate}
body.fsx .scard .ph{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;
  filter:grayscale(1) contrast(1.05) brightness(.55);transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s}
body.fsx .scard::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(10,11,13,.1),rgba(10,11,13,.55) 55%,rgba(10,11,13,.92))}
body.fsx .scard:hover .ph{transform:scale(1.08);filter:grayscale(.15) contrast(1.05) brightness(.7) sepia(.3) hue-rotate(-12deg) saturate(1.6)}
body.fsx .scard .idx{position:absolute;top:1.1rem;left:1.3rem;font-family:"Archivo";font-weight:800;font-size:.78rem;
  letter-spacing:.15em;color:var(--ash);z-index:2}
body.fsx .scard h3{font-size:1.5rem;position:relative;z-index:2}
body.fsx .scard .go{position:relative;z-index:2;margin-top:1rem;font-family:"Archivo";font-weight:700;font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--molten);opacity:0;transform:translateY(8px);transition:.4s}
body.fsx .scard:hover .go{opacity:1;transform:none}
body.fsx .scard::before{content:"";position:absolute;inset:0;border-radius:16px;z-index:3;pointer-events:none;
  box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .4s}
body.fsx .scard:hover::before{box-shadow:inset 0 0 0 1.5px rgba(255,94,0,.7),0 30px 60px -30px rgba(255,94,0,.4)}
body.fsx .services{padding:clamp(90px,12vh,150px) 0;background:var(--forge-steel);border-top:1px solid var(--hairline)}
body.fsx .svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
body.fsx .svc{border-radius:18px;padding:clamp(2rem,3vw,3rem);min-height:260px;display:flex;flex-direction:column;
  justify-content:space-between;position:relative;overflow:hidden;border:1px solid var(--hairline);background:var(--forge-panel);transition:transform .4s}
body.fsx .svc h3{font-size:2rem}
body.fsx .svc .go{margin-top:1.6rem;font-family:"Archivo";font-weight:700;font-size:.78rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--molten);display:inline-flex;gap:.6em;align-items:center}
body.fsx .svc--hot{background:var(--heat);color:#160b03}
body.fsx .svc--hot h3{color:#160b03}
body.fsx .svc--hot .go{color:#160b03}
body.fsx .svc--light{background:var(--concrete);color:#14161a}
body.fsx .svc--light h3{color:#14161a}
body.fsx .svc--light .go{color:var(--ember)}
body.fsx .svc:hover{transform:translateY(-4px)}
body.fsx .jobs{padding:clamp(90px,12vh,150px) 0}
body.fsx .job-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;min-height:220px}
body.fsx .job{background:var(--forge-panel);border:1px solid var(--hairline);border-radius:16px;padding:1.8rem;
  display:flex;flex-direction:column;gap:1rem;transition:border-color .4s,transform .4s}
body.fsx .job:hover{border-color:rgba(255,94,0,.5);transform:translateY(-4px)}
body.fsx .job .tag{font-family:"Archivo";font-weight:700;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--molten);border:1px solid rgba(255,94,0,.35);border-radius:100px;padding:.35em .9em;align-self:flex-start}
body.fsx .job h3{font-family:"Archivo";font-weight:800;text-transform:none;font-size:1.3rem;line-height:1.2}
body.fsx .job .meta{font-size:.9rem;color:var(--ash);display:flex;flex-direction:column;gap:.25rem}
body.fsx .job .meta b{color:#d7dade;font-weight:700}
body.fsx .job .vj{margin-top:auto;font-family:"Archivo";font-weight:700;font-size:.78rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--white);display:inline-flex;gap:.5em;align-items:center}
body.fsx .job .vj .arw{color:var(--molten)}
body.fsx .job-load{grid-column:1/-1;color:var(--ash-dim);font-family:"Archivo";letter-spacing:.1em;text-transform:uppercase;font-size:.8rem}
body.fsx .salary{padding:clamp(80px,10vh,130px) 0}
body.fsx .salary .card{position:relative;overflow:hidden;border-radius:24px;padding:clamp(2.4rem,5vw,4.5rem);
  background:radial-gradient(120% 160% at 85% 15%,rgba(255,94,0,.35),transparent 55%),var(--forge-panel);
  border:1px solid var(--forge-graphite)}
body.fsx .salary .card::before{content:"2024";position:absolute;right:-2%;bottom:-14%;font-family:"Anton";
  font-size:clamp(9rem,26vw,22rem);color:rgba(255,255,255,.03);z-index:0;letter-spacing:-.02em}
body.fsx .salary .inner{position:relative;z-index:1;max-width:60ch}
body.fsx .salary h2{font-size:clamp(2rem,4.4vw,3.6rem);margin:.4em 0 .5em}
body.fsx .salary p{font-size:1.1rem;color:#c2c7cd;margin-bottom:2rem}
body.fsx .clients{padding:clamp(90px,12vh,150px) 0;background:var(--forge-steel);border-top:1px solid var(--hairline)}
body.fsx .clients .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
body.fsx .clients p{font-size:1.14rem;color:#c2c7cd}
body.fsx .clients .logos{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);
  border:1px solid var(--hairline);border-radius:14px;overflow:hidden}
body.fsx .clients .logos div{background:var(--forge-panel);aspect-ratio:16/9;display:grid;place-items:center;
  font-family:"Archivo";font-weight:800;color:#3a3f47;font-size:.8rem;letter-spacing:.1em;transition:.4s}
body.fsx .clients .logos div:hover{background:var(--forge-graphite);color:var(--ash)}
body.fsx .cta{padding:clamp(100px,14vh,180px) 0;text-align:center;position:relative;overflow:hidden}
body.fsx .cta .glow2{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(120vw,1000px);aspect-ratio:2/1;
  background:radial-gradient(ellipse at center,rgba(255,94,0,.3),transparent 65%);z-index:0;pointer-events:none}
body.fsx .cta .wrap{position:relative;z-index:1}
body.fsx .cta h2{font-size:clamp(2.6rem,6vw,6rem);max-width:16ch;margin:.3em auto .7em}
body.fsx .cta h2 .hl{color:transparent;background:var(--heat);-webkit-background-clip:text;background-clip:text}
body.fsx .foot{background:var(--forge-black);border-top:1px solid var(--hairline);padding:70px 0 30px;color:var(--ash)}
body.fsx .foot .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:2rem}
body.fsx .foot h4{font-family:"Archivo";font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:var(--white);margin-bottom:1.2rem}
body.fsx .foot a{color:var(--ash);display:block;margin-bottom:.6rem;transition:color .25s}
body.fsx .foot a:hover{color:var(--molten)}
body.fsx .foot .news{display:flex;gap:.5rem;margin-top:1rem;max-width:320px}
body.fsx .foot .news input{flex:1;background:var(--forge-steel);border:1px solid var(--forge-graphite);border-radius:100px;padding:.7rem 1.1rem;color:#fff;outline:none;min-width:0}
body.fsx .foot .news button{border:0;border-radius:100px;background:var(--heat);color:#140a03;padding:0 1.1rem;cursor:pointer;font-size:1.1rem}
body.fsx .foot .bar{border-top:1px solid var(--hairline);margin-top:3rem;padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem}
@media(max-width:960px){
  body.fsx .desknav{display:none}
  body.fsx .ham{display:flex}
  body.fsx .intro .grid,body.fsx .clients .grid{grid-template-columns:1fr}
  body.fsx .intro h2{position:static}
  body.fsx .gauge .grid{grid-template-columns:1fr}
  body.fsx .sec-grid{grid-template-columns:repeat(2,1fr)}
  body.fsx .job-grid,body.fsx .svc-grid{grid-template-columns:1fr}
  body.fsx .foot .top{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){body.fsx .sec-grid{grid-template-columns:1fr}body.fsx .foot .top{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
  body.fsx *{animation:none!important;transition:none!important}
  body.fsx .rv{opacity:1;transform:none}
  body.fsx .gauge .spark path.line{stroke-dashoffset:0}
}
/* ===== interior-page component library (fx-) ===== */
body.fsx .fx-phero{position:relative;overflow:hidden;padding:clamp(130px,20vh,210px) 0 clamp(50px,7vh,90px);border-bottom:1px solid var(--hairline)}
body.fsx .fx-phero .glow{position:absolute;inset:-30% -10% auto auto;width:min(80vw,900px);aspect-ratio:1;background:radial-gradient(circle at 50% 50%,rgba(255,138,30,.4),rgba(255,94,0,.15) 35%,transparent 65%);filter:blur(10px);z-index:0;pointer-events:none}
body.fsx .fx-phero .grid-bg{position:absolute;inset:0;z-index:0;opacity:.4;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(circle at 75% 30%,#000,transparent 70%);mask-image:radial-gradient(circle at 75% 30%,#000,transparent 70%)}
body.fsx .fx-phero .wrap{position:relative;z-index:2}
body.fsx .fx-phero h1{font-size:clamp(2.8rem,7vw,5.8rem);margin:.2em 0 .3em;max-width:20ch}
body.fsx .fx-phero h1 .hl{color:transparent;background:var(--heat);-webkit-background-clip:text;background-clip:text}
body.fsx .fx-band{padding:clamp(70px,10vh,130px) 0}
body.fsx .fx-band--steel{background:var(--forge-steel);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
body.fsx .fx-split{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,6vw,6rem);align-items:start}
body.fsx .fx-split h2{font-size:clamp(2rem,4.4vw,3.6rem);position:sticky;top:110px}
body.fsx .fx-split h2 em{font-style:normal;color:transparent;background:var(--heat);-webkit-background-clip:text;background-clip:text}
body.fsx .fx-prose p{font-size:1.1rem;color:#c2c7cd;margin-bottom:1.4rem}
body.fsx .fx-prose p:first-child{color:#e8eaed}
body.fsx .fx-prose h3{font-size:1.5rem;margin:2.2rem 0 1rem;color:#fff;font-family:"Archivo";font-weight:800;text-transform:none}
body.fsx .fx-prose a{color:var(--molten);text-decoration:underline;text-underline-offset:3px}
body.fsx .fx-prose ul{margin:1rem 0 1.4rem 1.2rem;color:#c2c7cd}
body.fsx .fx-prose li{margin-bottom:.5rem}
body.fsx .fx-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
body.fsx .fx-cards.c2{grid-template-columns:repeat(2,1fr)}
body.fsx .fx-cards.c4{grid-template-columns:repeat(4,1fr)}
body.fsx .fx-card{background:var(--forge-panel);border:1px solid var(--hairline);border-radius:16px;padding:2rem;transition:border-color .4s,transform .4s}
body.fsx .fx-card:hover{border-color:rgba(255,94,0,.4);transform:translateY(-4px)}
body.fsx .fx-card .k{font-family:"Archivo";font-weight:800;font-size:.78rem;letter-spacing:.12em;color:var(--molten);text-transform:uppercase}
body.fsx .fx-card h3{font-family:"Archivo";font-weight:800;text-transform:none;font-size:1.3rem;margin:.4rem 0 .7rem;color:#fff}
body.fsx .fx-card p{font-size:.98rem;color:var(--ash)}
body.fsx .fx-time{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
body.fsx .fx-tstep{position:relative;padding-top:2.2rem;border-top:2px solid var(--forge-graphite)}
body.fsx .fx-tstep::before{content:"";position:absolute;top:-6px;left:0;width:10px;height:10px;border-radius:50%;background:var(--heat);box-shadow:0 0 10px var(--molten)}
body.fsx .fx-tstep .yr{font-family:"Anton";font-size:1.9rem;color:transparent;background:var(--heat);-webkit-background-clip:text;background-clip:text}
body.fsx .fx-tstep p{font-size:.95rem;margin-top:.5rem}
body.fsx .fx-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
body.fsx .fx-chip{font-family:"Archivo";font-weight:600;font-size:.8rem;color:var(--ash);border:1px solid var(--forge-graphite);border-radius:100px;padding:.5em 1em;background:var(--forge-panel)}
body.fsx .fx-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:2rem 1rem}
body.fsx .fx-stat{border-left:2px solid var(--molten);padding-left:1.2rem}
body.fsx .fx-stat .n{font-family:"Anton";font-size:clamp(2.6rem,5vw,4rem);color:transparent;background:var(--heat);-webkit-background-clip:text;background-clip:text;line-height:1}
body.fsx .fx-stat .l{font-family:"Archivo";font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:var(--ash);margin-top:.5rem}
body.fsx .fx-faq{max-width:920px}
body.fsx .fx-faq details{border-bottom:1px solid var(--hairline);padding:1.3rem 0}
body.fsx .fx-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;font-family:"Archivo";font-weight:700;font-size:1.12rem;color:#fff}
body.fsx .fx-faq summary::-webkit-details-marker{display:none}
body.fsx .fx-faq summary::after{content:"+";color:var(--molten);font-size:1.5rem;line-height:1;transition:transform .3s}
body.fsx .fx-faq details[open] summary::after{transform:rotate(45deg)}
body.fsx .fx-faq p{margin-top:1rem;color:var(--ash)}
body.fsx .fx-dl{display:inline-flex;align-items:center;gap:.6em;margin-top:.6rem;font-family:"Archivo";font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--molten)}
@media(max-width:960px){body.fsx .fx-split{grid-template-columns:1fr}body.fsx .fx-split h2{position:static}body.fsx .fx-cards,body.fsx .fx-cards.c4{grid-template-columns:1fr 1fr}body.fsx .fx-time{grid-template-columns:1fr 1fr}}
@media(max-width:560px){body.fsx .fx-cards,body.fsx .fx-cards.c2,body.fsx .fx-cards.c4,body.fsx .fx-time{grid-template-columns:1fr}}
body.fsx .fx-contact{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
body.fsx .fx-offices{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
body.fsx .fx-office{background:var(--forge-panel);border:1px solid var(--hairline);border-radius:14px;padding:1.4rem}
body.fsx .fx-office h3{font-family:"Archivo";font-weight:800;text-transform:none;font-size:1.05rem;color:#fff;margin-bottom:.5rem}
body.fsx .fx-office p{font-size:.9rem;color:var(--ash);margin:0 0 .5rem;line-height:1.5}
body.fsx .fx-office a{color:var(--molten);font-size:.9rem;display:block}
body.fsx .fx-form{background:var(--forge-panel);border:1px solid var(--forge-graphite);border-radius:20px;padding:clamp(1.6rem,3vw,2.6rem)}
body.fsx .fx-form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
body.fsx .fx-form label{display:block;font-family:"Archivo";font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);margin:0 0 .4rem}
body.fsx .fx-form input[type=text],body.fsx .fx-form input[type=email],body.fsx .fx-form input[type=tel],body.fsx .fx-form textarea{width:100%;background:var(--forge-black);border:1px solid var(--forge-graphite);border-radius:10px;padding:.85rem 1rem;color:#fff;font-family:"Lato";font-size:1rem;outline:none;transition:border-color .25s;margin-bottom:1.1rem}
body.fsx .fx-form input:focus,body.fsx .fx-form textarea:focus{border-color:var(--molten)}
body.fsx .fx-form textarea{min-height:120px;resize:vertical}
body.fsx .fx-form .chk{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:1rem;font-size:.82rem;color:var(--ash);line-height:1.5}
body.fsx .fx-form .chk input{width:auto;margin:.2rem 0 0;flex:0 0 auto}
body.fsx .fx-form .chk a{color:var(--molten)}
body.fsx .fx-form .fx-msg{margin-top:1rem;font-family:"Archivo";font-weight:700;font-size:.9rem;min-height:1.2em}
@media(max-width:960px){body.fsx .fx-contact{grid-template-columns:1fr}body.fsx .fx-form .row{grid-template-columns:1fr}}
@media(max-width:560px){body.fsx .fx-offices{grid-template-columns:1fr}}
body.fsx .hasdrop{position:relative;display:inline-flex;align-items:center}
body.fsx .hasdrop>a{display:inline-flex;align-items:center;gap:.35em}
body.fsx .caret{font-size:.62em}
body.fsx .drop{position:absolute;top:100%;left:-.6rem;min-width:180px;background:var(--forge-steel);border:1px solid var(--hairline);border-radius:12px;padding:.4rem;display:none;box-shadow:0 20px 44px -18px rgba(0,0,0,.85);z-index:70}
body.fsx .hasdrop:hover .drop{display:block}
body.fsx .drop a{display:block;padding:.55rem .9rem;border-radius:8px;color:var(--ash);font-family:"Archivo";font-weight:600;font-size:.88rem;transition:.2s}
body.fsx .drop a:hover{background:var(--forge-panel);color:var(--molten)}
body.fsx .salary h2{color:#fff}
body.fsx .clogos{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:14px;overflow:hidden}
body.fsx .clogos div{background:#fff;aspect-ratio:16/9;display:grid;place-items:center;padding:1.1rem}
body.fsx .clogos img{max-height:46px;max-width:80%;width:auto;object-fit:contain;display:block}
@media(max-width:700px){body.fsx .clogos{grid-template-columns:repeat(2,1fr)}}
body.fsx .fx-team{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
body.fsx .fx-tcard{background:var(--forge-panel);border:1px solid var(--hairline);border-radius:16px;overflow:hidden;transition:border-color .4s,transform .4s;display:block}
body.fsx .fx-tcard:hover{border-color:rgba(255,94,0,.5);transform:translateY(-4px)}
body.fsx .fx-tcard .photo{aspect-ratio:1/1;background:var(--forge-graphite);background-size:cover;background-position:center top;filter:grayscale(.35) contrast(1.02);transition:filter .5s,transform .6s}
body.fsx .fx-tcard:hover .photo{filter:grayscale(0)}
body.fsx .fx-tcard .noimg{aspect-ratio:1/1;display:grid;place-items:center;font-family:"Anton";font-size:2.6rem;color:#2b2f36;background:linear-gradient(140deg,#1b1e23,#0f1114)}
body.fsx .fx-tcard .info{padding:1.2rem 1.3rem}
body.fsx .fx-tcard h3{font-family:"Archivo";font-weight:800;text-transform:none;font-size:1.12rem;color:#fff;line-height:1.2}
body.fsx .fx-tcard .role{font-family:"Archivo";font-weight:600;font-size:.82rem;color:var(--molten);margin-top:.35rem}
@media(max-width:960px){body.fsx .fx-team{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){body.fsx .fx-team{grid-template-columns:1fr}}
body.fsx .teamhero .fx-teamhead{display:grid;grid-template-columns:280px 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;margin-top:1.5rem}
body.fsx .fx-tphoto{border-radius:18px;overflow:hidden;border:1px solid var(--forge-graphite);background:var(--forge-panel)}
body.fsx .fx-tphoto img{width:100%;height:auto;object-fit:cover;display:block;filter:grayscale(.15)}
body.fsx .teamhero h1{font-size:clamp(2.4rem,5vw,4rem)}
body.fsx .fx-trole{font-family:"Archivo";font-weight:700;font-size:1rem;letter-spacing:.06em;color:var(--molten);text-transform:uppercase;margin:.6rem 0 1.4rem}
body.fsx .fx-tcontacts{display:flex;gap:.8rem;flex-wrap:wrap}
@media(max-width:700px){body.fsx .teamhero .fx-teamhead{grid-template-columns:1fr}body.fsx .fx-tphoto{max-width:300px}}
body.fsx .fx-artcard{display:block;background:var(--forge-panel);border:1px solid var(--hairline);border-radius:16px;overflow:hidden;transition:border-color .4s,transform .4s}
body.fsx .fx-artcard:hover{border-color:rgba(255,94,0,.5);transform:translateY(-4px)}
body.fsx .fx-artcard .thumb{aspect-ratio:16/10;background:var(--forge-graphite) center/cover;filter:grayscale(.3);transition:filter .5s}
body.fsx .fx-artcard:hover .thumb{filter:grayscale(0)}
body.fsx .fx-artcard .ainfo{padding:1.5rem}
body.fsx .fx-artcard .date{font-family:"Archivo";font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--molten)}
body.fsx .fx-artcard h3{font-family:"Archivo";font-weight:800;text-transform:none;font-size:1.2rem;color:#fff;margin:.6rem 0;line-height:1.25}
body.fsx .fx-artcard p{font-size:.92rem;color:var(--ash)}
body.fsx .fx-artgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media(max-width:900px){body.fsx .fx-artgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){body.fsx .fx-artgrid{grid-template-columns:1fr}}
body.fsx .arthero h1{font-size:clamp(2.2rem,4.6vw,3.8rem);max-width:24ch;margin-top:.4rem}
body.fsx .artmeta{display:flex;gap:1.4rem;margin-top:1.3rem;font-family:"Archivo";font-weight:600;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ash)}
body.fsx .artfeat img{width:100%;height:auto;border-radius:18px;border:1px solid var(--forge-graphite);display:block}
body.single-post .elementor-location-header,body.single-post .elementor-location-footer{display:none!important}
body.single-post{background:#0A0B0D}
/* theme custom css */




::selection {
    background-color: #ff5e00;
    color: #fff;
	}
#mobile_topbannner{
	display:none;
}
.oursource {
	color:#ff5e00!important;
  text-decoration:underline!important;
}
.oursource:hover{
	color:#179b9e!important;
	  text-decoration:none!important;
}
.zoom-bg {
    overflow: hidden;
    background-size: 124% !important;
    background-position: center center;
    transition: background-size 4s ease-in-out;
}
.zoom-bg:hover {
    background-size: 100% !important;
}
.zoom-slide {
    position: relative;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 220% !important; /* Start zoomed in */
    transition: background-size 0.3s ease;
    min-height: 600px!important; /* Adjust as needed */
}
.zoom-slide:hover {
    background-size: 210% !important; /* Zoom out */
}
@media (max-width: 600px) {

	#temporary{
		display:none;
	}
	
	.swiper-backface-hidden .swiper-slide{
		padding:0px !important;
	}
		
.zoom-slide-menu {
    position: relative;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 120% !important; /* Start zoomed in */
    transition: background-size 0.3s ease;
    min-height: 600px!important; /* Adjust as needed */
}

.zoom-slide-menu:hover {
    background-size: 110% !important; /* Zoom out */
}



/* job search page */
.career-apply-section{
    background:transparent;
    padding:40px 0;
}

.career-apply-box{
    position:relative;
    overflow:hidden;
    border-radius:28px;
    padding:70px 60px;
    background:
    linear-gradient(
        90deg,
        rgba(0,49,97,0.96) 0%,
        rgba(0,49,97,0.88) 42%,
        rgba(0,49,97,0.18) 100%
    ),
    linear-gradient(135deg,#131519,#0A0B0D);

    background-size:cover;
    background-position:center;
}


/* Medium white circle */
.career-apply-box::after{
    content:"";
    position:absolute;
    top:2px;
    right:0px;
    } 

.career-content{
    position:relative;
    z-index:2;
    max-width:620px;
}

.career-content h2{
    font-size:40px;
    line-height:44px;
    color:#fff;
    font-weight:700;
    margin-bottom:10px;
}

.career-content p{
    font-size:16px;
    line-height:1.7;
    color:#fff;
    margin-bottom:35px;
}

.career-apply-btn{
    display:inline-block;
    background:#008a86;
    color:#fff;
    padding:10px 46px;
    border-radius:12px;
    font-weight:700;
    border:1px solid #fff;
    text-decoration:none;
    transition:0.3s ease;
}

.career-apply-btn:hover{
    background:#006f6b;
    color:#fff;
}

/* Mobile */
@media(max-width:768px){
	#mobile_topbannner{
		display:none;
	}
	
	
.job-slider.swiper .swiper-backface-hidden .swiper-slide{
		padding:30px !important;
	}
	
	
	.zoom-bg, .zoom-bg:hover {
    background-size: cover !important;
    transition: none !important;
}
	
	.sigle-job-slider{
		overflow:hidden;
	}
	
    .career-apply-box{
        padding:45px 25px;
        min-height:auto;
    }

    .career-content h2{
        font-size:38px;
			color:#fff;
    }

    .career-content p{
        font-size:18px;
    }

    .career-apply-box::before{
        width:220px;
        height:220px;
        right:-90px;
        top:-40px;
}
.top_slider_bg{
	position: absolute;
    z-index: 0;
    left: 0px;
	width:380px;
}	
	
}
/* Tablet */
@media (max-width: 1024px) and (min-width: 769px) {
    .zoom-bg {
        background-size: cover !important;
    }
}

	
.top_slider_bg{
	position: absolute;
    z-index: 0;
    left: -96px;
}
.small-heading {
    font-size: 18px;
    color: #202124;
    font-weight: 700;
    font-family: 'PT Sans';
}

.sigle-job-slider .btn-primary{
	padding:10px 46px !important;
	background:#00837b !important;
	color:#fff;
	font-weight:600;
	border:none !important;
	transition:all .5s;
	font-size:14px;
	font-family:PT Sans;
	border-radius:8px !important;
}

.feature_heading{
	font-size:40px;
	color:#00837b;
	font-weight:700;
}

.btn-primary:hover{
	background:#00837b !important;
	color:#ffffff;
}
.job-slider	.swiper-button-next, .job-slider .swiper-button-prev {
    position: static;
    background: #fff;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    transition: all .2s ease-in-out;
    border: 2px solid #003a70 !important;
    color: #003a70 !important;
}
	
	.elementor-widget-n-carousel .elementor-swiper-button-prev{
    opacity: 1;
    visibility: visible;
    transition: opacity .3s ease, visibility .3s ease;
}
	
.prv_link{
    text-decoration: underline !important;
    color: #FF5E00;
    ;
}

.prv_link:hover{
    text-decoration: none !important;
    color:#179B9E;
    ;
}
	
.arrow-animate .elementor-button-icon {
  opacity: 1;
  will-change: transform, opacity;
}


@keyframes arrowFadeMove {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  45% {
    opacity: 0;
    transform: translateX(8px);
  }
  46% {
    opacity: 0;
    transform: translateX(-8px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}



.arrow-animate:hover .elementor-button-icon {
  animation: arrowFadeMove 0.5s linear infinite;
}
	





}
/* ===== MOLTEN JOB APPLY BLOCK — single job: Apply form mimics Contact form + Share spacing (2026-07-21) ===== */
body.fsx .jobshare{display:flex;align-items:center;flex-wrap:wrap;gap:1.6rem;margin:2.6rem 0 0}
body.fsx .jobshare>span{font-family:"Archivo",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--ash);margin-right:.8rem}
body.fsx .jobshare a{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--forge-graphite);color:#fff;text-decoration:none;transition:transform .25s,border-color .25s,color .25s}
body.fsx .jobshare a:hover{border-color:var(--molten);color:var(--molten);transform:translateY(-3px)}
body.fsx .jobshare a i{font-size:1.05rem;line-height:1}
body.fsx .fx-applybox{margin-top:3.6rem}
body.fsx .fx-applybox>h3{font-family:"Anton",sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;color:#fff;font-size:clamp(2rem,3.4vw,2.8rem);line-height:1.02;margin:0 0 1.4rem}
body.fsx .fx-applybox .container{padding:0;max-width:none}
body.fsx .fx-applybox .form-wrapper{background:var(--forge-panel);border:1px solid var(--forge-graphite);border-radius:20px;box-shadow:none;padding:clamp(1.6rem,3vw,2.6rem);color:#fff}
body.fsx .fx-applybox .form-wrapper h3{font-family:"Anton",sans-serif;font-weight:400;color:#fff;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.05;margin:0 0 1.6rem;text-align:left}
body.fsx .fx-applybox .form-wrapper p{margin:0 0 1rem}
body.fsx .fx-applybox label,body.fsx .fx-applybox .form-label{display:block;font-family:"Archivo",sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);margin:0 0 .45rem}
body.fsx .fx-applybox .form-control,body.fsx .fx-applybox .form-select,body.fsx .fx-applybox .wpcf7-text,body.fsx .fx-applybox .wpcf7-email,body.fsx .fx-applybox .wpcf7-tel,body.fsx .fx-applybox .wpcf7-url,body.fsx .fx-applybox .wpcf7-select,body.fsx .fx-applybox .wpcf7-textarea,body.fsx .fx-applybox .wpcf7-file,body.fsx .fx-applybox input[type=text],body.fsx .fx-applybox input[type=email],body.fsx .fx-applybox input[type=tel],body.fsx .fx-applybox input[type=url],body.fsx .fx-applybox select,body.fsx .fx-applybox textarea{width:100%;background:var(--forge-black);border:1px solid var(--forge-graphite);border-radius:10px;padding:.85rem 1rem;color:#fff;font-family:"Lato",sans-serif;font-size:1rem;outline:none;box-shadow:none;transition:border-color .25s}
body.fsx .fx-applybox .form-control:hover,body.fsx .fx-applybox .form-select:hover{border-color:var(--forge-graphite)}
body.fsx .fx-applybox .form-control:focus,body.fsx .fx-applybox .form-select:focus,body.fsx .fx-applybox input:focus,body.fsx .fx-applybox select:focus,body.fsx .fx-applybox textarea:focus{border-color:var(--molten);box-shadow:none}
body.fsx .fx-applybox textarea{min-height:120px;resize:vertical}
body.fsx .fx-applybox select{-webkit-appearance:none;appearance:none;color:#fff}
body.fsx .fx-applybox select option{color:#111}
body.fsx .fx-applybox .custom-upload{background:var(--forge-black);border:1px solid var(--forge-graphite);border-radius:10px;height:auto;padding:.55rem 1rem;gap:1rem}
body.fsx .fx-applybox .custom-upload #file-name{color:var(--ash)}
body.fsx .fx-applybox .upload-icon{background:var(--heat);color:#140a03;border:0}
body.fsx .fx-applybox .upload-icon i{color:#140a03}
body.fsx .fx-applybox .terms-text{color:var(--ash);font-size:.82rem;line-height:1.6}
body.fsx .fx-applybox .prv_link{color:var(--molten)}
body.fsx .fx-applybox .terms .wpcf7-list-item{margin:0}
body.fsx .fx-applybox .wpcf7-list-item-label{color:var(--ash)}
body.fsx .fx-applybox .job_btn{text-align:center}
body.fsx .fx-applybox .wpcf7-submit,body.fsx .fx-applybox input[type=submit].btn-primary,body.fsx .fx-applybox .job_btn .btn{font-family:"Archivo",sans-serif;font-weight:800;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:.6em;width:auto;padding:1.05em 2.4em;border-radius:100px;background:var(--heat)!important;color:#140a03!important;border:0!important;cursor:pointer;box-shadow:0 10px 30px -10px rgba(255,94,0,.6);transition:transform .3s,box-shadow .3s}
body.fsx .fx-applybox .wpcf7-submit:hover,body.fsx .fx-applybox input[type=submit].btn-primary:hover,body.fsx .fx-applybox .job_btn .btn:hover{background:var(--heat)!important;color:#140a03!important;border:0!important;transform:translateY(-3px);box-shadow:0 18px 44px -12px rgba(255,94,0,.75)}
/* ===== FLEXSOURCE LOGO (replaces wordmark) ===== */
body.fsx .brand{display:inline-flex;align-items:center;line-height:0}
body.fsx .brand .dot{display:none}
body.fsx .brand img.brandlogo{height:30px;width:auto;display:block;max-width:100%}
body.fsx .foot .brand{margin-bottom:1rem}
body.fsx .foot .brand img.brandlogo{height:34px}
@media(max-width:600px){body.fsx .nav .brand img.brandlogo{height:26px}}
/* ===== HIDE VENN HEADER ON TEMPLATE PAGES (only body.fsx nav should show) ===== */
body.single-job_listing .elementor-location-header,body.single-job_listing .elementor-location-footer,
body.single-team .elementor-location-header,body.single-team .elementor-location-footer,
body.single-post .elementor-location-header,body.single-post .elementor-location-footer{display:none!important}
body.page-template-job-search .elementor-location-header,body.page-template-job-search .elementor-location-footer{display:none!important}
/* ===== FIX MEET-THE-TEAM REVEAL (cards were stuck opacity:0 below the fold) ===== */
body.fsx .fx-team .fx-tcard{opacity:1!important;transform:none!important}
/* ===== FIX TEAM PHOTO DISPLAY (.photo span was display:inline -> 0x0, headshots invisible) ===== */
body.fsx .fx-tcard .photo{display:block!important;width:100%}
/* ===== BLOCK 1 HEADER CHANGES (2026-07-21 v2) ===== */
body.fsx .reg{font-size:0!important}
body.fsx .reg::before{content:"";display:block;width:20px;height:20px;background:url(/wp-content/uploads/2026/07/email-icon.svg) center/contain no-repeat}
body.fsx .drop a{font-family:"Lato",sans-serif!important}
body.fsx .mnav a{font-family:"Lato",sans-serif!important}
body.fsx .mnav a.has-sub{display:flex!important;align-items:center;justify-content:space-between}
body.fsx .mnav a.has-sub::after{content:"\25BE";margin-left:1rem;font-size:.75rem;transition:transform .3s;flex:0 0 auto}
body.fsx .mnav a.has-sub.open::after{transform:rotate(180deg)}
/* ===== BLOCK 2 FOOTER + CAROUSEL (2026-07-21) ===== */
body.fsx .foot .fsoc{display:flex;gap:.85rem;margin-top:.5rem}
body.fsx .foot .fsoc a{width:38px;height:38px;border-radius:50%;border:1px solid var(--hairline);display:inline-flex;align-items:center;justify-content:center;color:var(--ash);transition:border-color .25s,color .25s,transform .25s}
body.fsx .foot .fsoc a:hover{border-color:var(--molten);color:var(--molten);transform:translateY(-2px)}
body.fsx .foot .fsoc i{font-size:1rem;line-height:1}
body.fsx .foot .bar a{color:var(--ash);transition:color .2s}
body.fsx .foot .bar a:hover{color:var(--molten)}
body.fsx .jobs .fjcar{display:flex;align-items:center;gap:.6rem}
body.fsx .jobs .fjtrack{display:flex!important;grid-template-columns:none!important;flex-wrap:nowrap;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;gap:1.5rem;flex:1 1 auto;min-height:220px;scrollbar-width:none;-ms-overflow-style:none}
body.fsx .jobs .fjtrack::-webkit-scrollbar{display:none}
body.fsx .jobs .fjtrack > .job{flex:0 0 clamp(260px,31%,340px);scroll-snap-align:start}
body.fsx .jobs .fjnav{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:1px solid var(--forge-graphite);background:var(--forge-panel);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .25s,color .25s}
body.fsx .jobs .fjnav:hover{border-color:var(--molten);color:var(--molten)}
@media(max-width:700px){body.fsx .jobs .fjtrack > .job{flex:0 0 82%}body.fsx .jobs .fjnav{width:40px;height:40px;font-size:1.4rem}}
body.fsx .foot .bar a{display:inline}
body.fsx .foot .bar span:last-child{display:inline}
/* ===== BLOCK 3 (2026-07-21) ===== */
body.fsx .gauge .num{line-height:1.12!important;padding:.16em .16em .26em!important}
body.fsx .clients .ccar{width:100%}
body.fsx .clients .crow{display:flex;align-items:center;gap:.8rem}
body.fsx .clients .cviewport{flex:1 1 auto;min-width:0;overflow:hidden;border:1px solid var(--hairline);border-radius:14px}
body.fsx .clients .ctrack{display:flex;transition:transform .45s ease}
body.fsx .clients .cslide{flex:0 0 100%;background:#fff;min-height:150px;display:grid;place-items:center;padding:1.6rem}
body.fsx .clients .cslide img{max-height:82px;max-width:60%;width:auto;object-fit:contain;filter:grayscale(1);transition:filter .4s}
@media(hover:hover) and (pointer:fine){body.fsx .clients .cslide img:hover{filter:grayscale(0)}}
body.fsx .clients .cnav{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:1px solid var(--forge-graphite);background:var(--forge-panel);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .25s,color .25s}
body.fsx .clients .cnav:hover{border-color:var(--molten);color:var(--molten)}
body.fsx .clients .cdots{display:flex;justify-content:center;gap:.5rem;margin-top:1.1rem;flex-wrap:wrap}
body.fsx .clients .cdots button{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:var(--forge-graphite);cursor:pointer;transition:.25s}
body.fsx .clients .cdots button.active{background:var(--molten);transform:scale(1.3)}
/* ===== BLOCK 4 — Our Story (2026-07-21) ===== */
body.fsx .fx-media-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:stretch}
body.fsx .fx-media-split > div{align-self:center}
body.fsx .fx-img{border-radius:16px;overflow:hidden;min-height:320px;max-height:600px}
body.fsx .fx-img img{display:block;width:100%;height:100%;object-fit:cover;border-radius:16px}
@media(max-width:860px){body.fsx .fx-media-split{grid-template-columns:1fr}body.fsx .fx-img{min-height:240px;max-height:420px}}
body.fsx .fx-video{position:relative;width:100%;aspect-ratio:16/9;margin-top:2.5rem;border-radius:16px;overflow:hidden;background:var(--forge-panel)}
body.fsx .fx-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
body.fsx .fx-dei-split{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:start}
body.fsx .fx-dei-split h2{font-size:clamp(2rem,4.4vw,3.4rem)}
body.fsx .fx-dei-right{display:flex;flex-direction:column;gap:1.2rem}
body.fsx .fx-white{background:#fff;border-radius:16px;padding:1.8rem}
body.fsx .fx-white h3{color:#0A0B0D}
body.fsx .fx-white p{color:#3a3f45}
body.fsx .fx-white .fx-dl{color:var(--molten)}
@media(max-width:860px){body.fsx .fx-dei-split{grid-template-columns:1fr}}
body.fsx .fx-award{position:relative;background-size:cover;background-position:center;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border:0}
body.fsx .fx-award::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,11,13,.94) 12%,rgba(10,11,13,.5) 55%,rgba(10,11,13,.12));z-index:0}
body.fsx .fx-award > *{position:relative;z-index:1}
body.fsx .fx-award .k{color:#fff}
body.fsx .fx-award p{color:rgba(255,255,255,.86)}
/* ===== TEAM CAROUSEL (Our Story, 2026-07-21) ===== */
body.fsx .tmcar{margin-top:2.5rem}
body.fsx .tmcar .crow{display:flex;align-items:center;gap:.6rem}
body.fsx .tmviewport{flex:1 1 auto;min-width:0;overflow:hidden}
body.fsx .tmtrack{display:flex;transition:transform .5s ease}
body.fsx .tmcard{flex:0 0 33.333%;box-sizing:border-box;padding:.6rem}
body.fsx .tmcard-in{background:var(--forge-panel);border:1px solid var(--hairline);border-radius:16px;padding:1.8rem;height:100%;display:flex;flex-direction:column;gap:.5rem;transition:border-color .35s}
body.fsx .tmcard-in:hover{border-color:rgba(255,94,0,.5)}
body.fsx .tmcard-in h3{font-size:1.2rem;color:#fff;margin:0}
body.fsx .tmrole{font-family:"Archivo",sans-serif;font-weight:600;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;color:var(--molten)}
body.fsx .tmmore{margin-top:auto;padding-top:.8rem;display:inline-flex;align-items:center;gap:.5em;font-family:"Archivo",sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);transition:color .25s}
body.fsx .tmmore:hover{color:var(--molten)}
body.fsx .tmnav{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:1px solid var(--forge-graphite);background:var(--forge-panel);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .25s,color .25s}
body.fsx .tmnav:hover{border-color:var(--molten);color:var(--molten)}
body.fsx .tmdots{display:flex;justify-content:center;gap:.5rem;margin-top:1.2rem;flex-wrap:wrap}
body.fsx .tmdots button{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:var(--forge-graphite);cursor:pointer;transition:.25s}
body.fsx .tmdots button.active{background:var(--molten);transform:scale(1.3)}
@media(max-width:760px){body.fsx .tmcard{flex:0 0 100%}}
/* === CENTER EMAIL ICON IN NAV CIRCLE (fix grid phantom-text-row offset) === */
body.fsx .reg{position:relative!important}
body.fsx .reg::before{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}
/* === CLICKABLE SECTOR TICKER (conveyor words -> filtered job search) === */
body.fsx .track a{font-family:"Anton",sans-serif;font-size:1.6rem;text-transform:uppercase;color:#2B2F36;display:flex;align-items:center;gap:3.2rem;letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:color .3s}
body.fsx .track a::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--molten);box-shadow:0 0 10px var(--molten);flex:0 0 auto}
body.fsx .track a:hover{color:var(--molten)}
body.fsx .track a:focus-visible{outline:2px solid var(--molten);outline-offset:4px;color:var(--molten)}
body.fsx .conveyor:focus-within .track{animation-play-state:paused}
/* === TEAM CAROUSEL PHOTOS (About page) === */
body.fsx .tmphoto{display:block;width:100%;aspect-ratio:1/1;border-radius:12px;overflow:hidden;margin-bottom:1.1rem;background:linear-gradient(135deg,#1E2126,#14161A)}
body.fsx .tmphoto img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:grayscale(.35);transition:filter .4s,transform .4s}
body.fsx .tmcard-in:hover .tmphoto img{filter:grayscale(0);transform:scale(1.04)}
body.fsx .tmphoto.tmnoimg{display:grid;place-items:center;font-family:"Anton",sans-serif;font-size:2.6rem;color:var(--molten);letter-spacing:.02em}
/* === NAV "REGISTER" PILL (replaces the email-icon circle) === */
body.fsx .reg{width:auto!important;height:auto!important;border-radius:999px!important;padding:.62rem 1.35rem!important;font-family:"Archivo",sans-serif!important;font-weight:800!important;font-size:.8rem!important;line-height:1!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#0A0B0D!important;text-decoration:none!important;place-items:center!important}
body.fsx .reg::before{content:none!important;display:none!important}
/* === AWARD BOXES: show full photo (was too zoomed) === */
body.fsx .fx-award{background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;background-color:#0F1115}
/* === AWARD LOGO CAROUSEL (About page) === */
body.fsx .awcar{display:flex;align-items:center;gap:.6rem;margin-top:3rem}
body.fsx .awviewport{flex:1 1 auto;min-width:0;overflow:hidden}
body.fsx .awtrack{display:flex;transition:transform .5s ease}
body.fsx .awslide{flex:0 0 25%;box-sizing:border-box;padding:0 1.1rem;display:flex;align-items:center;justify-content:center}
body.fsx .awslide img{max-width:100%;width:auto;height:auto;max-height:96px;object-fit:contain;filter:grayscale(1);opacity:.8}
body.fsx .awnav{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:1px solid var(--forge-graphite);background:var(--forge-panel);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.25s}
body.fsx .awnav:hover{border-color:var(--molten);color:var(--molten)}
@media(max-width:760px){body.fsx .awslide{flex:0 0 100%}}
/* === MOBILE NAV: lock background scroll, scroll menu internally === */
body.mnav-open{overflow:hidden!important}
body.fsx .mnav.open{max-height:calc(100vh - var(--mnav-top,77px));overflow-y:auto;-webkit-overflow-scrolling:touch}
/* ===== BLOCK 5 — Clients (2026-07-22) ===== */
body.fsx .fxproc{display:grid;grid-template-columns:auto 1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
body.fsx .fxproc-nav{display:flex;flex-direction:column;gap:1.1rem;position:sticky;top:110px}
body.fsx .fxproc-num{background:none;border:0;padding:0 0 0 1.1rem;margin:0;cursor:pointer;font-family:"Anton",sans-serif;font-size:clamp(2.6rem,4.6vw,3.8rem);line-height:1;opacity:.3;position:relative;text-align:left;transition:opacity .3s}
body.fsx .fxproc-num::before{content:"";position:absolute;left:0;top:8%;height:0;width:3px;background:var(--molten);border-radius:2px;transition:height .35s}
body.fsx .fxproc-num:hover{opacity:.6}
body.fsx .fxproc-num.active{opacity:1}
body.fsx .fxproc-num.active::before{height:84%}
body.fsx .fxproc-body{min-width:0}
body.fsx .fxproc-panel{display:none}
body.fsx .fxproc-panel.active{display:block;animation:fxprocfade .45s ease}
@keyframes fxprocfade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:960px){body.fsx .fxproc{grid-template-columns:1fr;gap:1.3rem}body.fsx .fxproc-nav{flex-direction:row;position:static;gap:1.3rem;border-bottom:1px solid var(--hairline);padding-bottom:.3rem;flex-wrap:wrap}body.fsx .fxproc-num{padding:0 0 .5rem 0;font-size:2.1rem}body.fsx .fxproc-num::before{left:0;top:auto;bottom:0;width:0;height:3px}body.fsx .fxproc-num.active::before{width:100%;height:3px}}
body.fsx .fx-clients-split{align-items:center}
body.fsx .fx-clients-split h2{position:static}
/* ===== BLOCK 6 — Related Content (Candidates) 2026-07-22 ===== */
body.fsx .fx-rc{background:#404345;padding:clamp(70px,10vh,120px) 0}
body.fsx .fx-rc .sec-head h2{color:#fff}
body.fsx .rc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
body.fsx .rc-card{display:flex;flex-direction:column;background:#26292c;border:1px solid rgba(255,255,255,.07);border-radius:16px;overflow:hidden;text-decoration:none;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
body.fsx .rc-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(0,0,0,.4);border-color:rgba(255,94,0,.5)}
body.fsx .rc-thumb{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#1b1d21;display:block}
body.fsx .rc-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
body.fsx .rc-card:hover .rc-thumb img{transform:scale(1.05)}
body.fsx .rc-thumb.rc-noimg{background:linear-gradient(135deg,#23272c,#15171b)}
body.fsx .rc-thumb.rc-noimg::before{content:"";position:absolute;inset:0;background:radial-gradient(75% 90% at 82% 12%,rgba(255,138,30,.32),rgba(255,94,0,.06) 45%,transparent 68%)}
body.fsx .rc-thumb.rc-noimg::after{content:"";position:absolute;left:16px;bottom:16px;width:12px;height:12px;border-radius:50%;background:var(--molten);box-shadow:0 0 12px var(--molten)}
body.fsx .rc-body{padding:1.25rem 1.4rem 1.6rem;display:flex;flex-direction:column;gap:.55rem}
body.fsx .rc-date{font-family:"Archivo",sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--molten-hot,#FF8A1E)}
body.fsx .rc-title{font-family:"Archivo",sans-serif;font-weight:800;font-size:1.16rem;line-height:1.32;color:#fff}
body.fsx .rc-load{grid-column:1/-1;color:#d4d7da;padding:1rem 0}
@media(max-width:860px){body.fsx .rc-grid{grid-template-columns:1fr}}
/* TITLE→PARAGRAPH SPACING (round 2026-07-22) */
body.fsx h2 + .fx-prose{margin-top:1.8rem!important}
/* ===== BLOCK 7 — Services zigzag (2026-07-22) ===== */
body.fsx .fx-zz-text{display:flex;flex-direction:column;align-items:flex-start}
body.fsx .fx-zz-text .fx-prose{margin-bottom:0}
body.fsx .fx-zz-text .fx-prose p:last-child{margin-bottom:0}
body.fsx .fx-zz-cta{margin-top:2rem}
body.fsx .fx-zz--pl .fx-zz-media{order:-1}
@media(max-width:860px){body.fsx .fx-zz--pl .fx-zz-media{order:0}}
/* ===== JOB APPLY FORM — FOLLOW-UP FIXES 2026-07-23 ===== */
/* 1. consent row: checkbox + full sentence side-by-side on one line; text fills the row and wraps on small screens with the checkbox pinned to the first line (width fix 2026-07-23) */
body.fsx .fx-applybox .terms{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:8px}
body.fsx .fx-applybox .terms .wpcf7-form-control-wrap[data-name="terms"],
body.fsx .fx-applybox .terms .wpcf7-acceptance,
body.fsx .fx-applybox .terms .wpcf7-list-item{display:flex;align-items:center;width:auto;flex:0 0 auto;margin:0;padding:0}
body.fsx .fx-applybox .terms .wpcf7-form-control-wrap[data-name="terms"]{margin-top:3px}
body.fsx .fx-applybox .terms .terms-text{flex:1 1 auto;min-width:0;margin:0}
body.fsx .fx-applybox .terms input[type=checkbox]{position:static;top:auto;margin:0}
/* 2. spacing between consent row and APPLY NOW (desktop + mobile) */
body.fsx .fx-applybox .form-wrapper .job_btn{margin-top:1.8rem}
/* 3. horizontal gap between paired fields; mobile still stacks */
@media(min-width:768px){
 body.fsx .fx-applybox .form-wrapper .row.g-4{column-gap:1.5rem}
 body.fsx .fx-applybox .form-wrapper .row.g-4>.col-md-6{flex:0 0 calc(50% - .75rem);max-width:calc(50% - .75rem);width:calc(50% - .75rem)}
}
/* 4. centre orange circle vertically within CV Upload field */
body.fsx .fx-applybox .custom-upload p{margin:0}
/* ===== END JOB APPLY FORM FOLLOW-UP ===== */




/* ===== SITEMAP HTML — page margin (match site .wrap container) 2026-07-23 ===== */
body.fsx .sm-sec #fsx-sitemap{max-width:var(--maxw);margin-left:auto;margin-right:auto;padding-left:clamp(20px,5vw,48px);padding-right:clamp(20px,5vw,48px);box-sizing:border-box}
/* ===== END SITEMAP HTML page margin ===== */


/* ===== FONT CONSISTENCY — remove default italic on <em> accent where section scoping missed it (Flexsource, /candidates/) 2026-07-24 ===== */
body.fsx .fx-media-split h2 em{font-style:normal}
/* ===== END font consistency italic fix ===== */


/* ===== FULL-COLOUR IMAGES SITE-WIDE + remove dark/grayscale hover effect 2026-07-24 ===== */
body.fsx .scard .ph,body.fsx .scard:hover .ph,body.fsx .fx-tcard .photo,body.fsx .fx-tcard:hover .photo,body.fsx .fx-tphoto img,body.fsx .fx-artcard .thumb,body.fsx .fx-artcard:hover .thumb,body.fsx .clients .cslide img,body.fsx .clients .cslide img:hover,body.fsx .tmphoto img,body.fsx .tmcard-in:hover .tmphoto img,body.fsx .awslide img{filter:none!important}
body.fsx .awslide img{opacity:1!important}
/* ===== END full-colour images ===== */


/* ===== NAV: larger logo (~40px) + larger nav font (16px) to match live site 2026-07-24 ===== */
body.fsx .nav .brand img.brandlogo{height:40px!important}
@media(max-width:600px){body.fsx .nav .brand img.brandlogo{height:32px!important}}
body.fsx .desknav{font-size:1rem!important}
body.fsx .drop a{font-size:.95rem!important}
/* ===== END nav logo/font ===== */


/* ===== MEDIA HUB — hide article publication date on cards 2026-07-24 ===== */
body.fsx .fx-artcard .ainfo .date,body.fsx .fx-artcard .date{display:none!important}
/* ===== END media hub date ===== */


/* ===== OUR CLIENTS CAROUSEL — remove white tile background (logos stay full colour) 2026-07-24 ===== */
body.fsx .clients .cslide{background:transparent!important}
/* ===== END clients carousel bg ===== */


/* ===== FLATTEN ORANGE GRADIENT to solid block #ff5e00 on buttons + text (remove --heat gradient) sitewide 2026-07-24 ===== */
body.fsx{--heat:#ff5e00!important}
/* ===== END flatten orange gradient ===== */


/* ===== HOMEPAGE SECTOR TICKER — white text (was gray #2B2F36), keep orange hover 2026-07-24 ===== */
body.fsx .conveyor .track a{color:#fff}
body.fsx .conveyor .track a:hover{color:var(--molten)}
/* ===== END ticker white ===== */

body.fsx *{margin:0;padding:0;box-sizing:border-box}
body{margin:0;background:#0A0B0D}
/* ===== Live Jobs page (215): filters, stacked list, pagination, CV banner ===== */
body.fsx .lj-filters{display:flex;gap:.7rem;flex-wrap:wrap;align-items:stretch;max-width:840px}
body.fsx .lj-filters .lj-search{margin:0;flex:1 1 320px}
body.fsx .lj-type{position:relative;flex:0 0 auto;display:flex;align-items:center}
body.fsx .lj-type select{appearance:none;-webkit-appearance:none;background:rgba(19,21,25,.9);border:1px solid var(--forge-graphite);border-radius:100px;color:#fff;font-family:"Lato",sans-serif;font-size:1.02rem;padding:.95rem 3rem .95rem 1.5rem;cursor:pointer;outline:none;min-width:210px}
body.fsx .lj-type select:focus{border-color:var(--molten)}
body.fsx .lj-type select option{background:#181B20;color:#fff}
body.fsx .lj-type-caret{position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);color:var(--ash);pointer-events:none}
body.fsx .lj-list{display:flex;flex-direction:column;gap:1rem;min-height:220px}
body.fsx .lj-row{position:relative;display:block;background:#1c2025;border:1px solid var(--hairline);border-radius:16px;padding:1.7rem 1.9rem;transition:border-color .35s,transform .35s,background .35s}
body.fsx .lj-row:hover{border-color:rgba(255,94,0,.5);transform:translateY(-3px);background:#20242a}
body.fsx .lj-row .tag{display:inline-block;font-family:"Archivo";font-weight:700;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--molten);border:1px solid rgba(255,94,0,.35);border-radius:100px;padding:.35em .9em;margin-bottom:.9rem}
body.fsx .lj-ref{position:absolute;top:1.55rem;right:1.9rem;font-family:"Archivo";font-weight:700;font-size:.8rem;letter-spacing:.04em;color:#fff}
body.fsx .lj-title{font-family:"Archivo";font-weight:800;text-transform:none;font-size:1.4rem;line-height:1.2;color:#fff;margin:0 0 .7rem;padding-right:9rem}
body.fsx .lj-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;font-size:.95rem;color:var(--ash);margin-bottom:.8rem}
body.fsx .lj-meta b{color:#e7e9ec;font-weight:700}
body.fsx .lj-excerpt{font-size:.98rem;color:var(--ash);line-height:1.6;margin:0 0 1.1rem;max-width:92ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.fsx .lj-row .vj{font-family:"Archivo";font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;display:inline-flex;gap:.5em;align-items:center}
body.fsx .lj-row .vj .arw{color:var(--molten);transition:transform .3s}
body.fsx .lj-row:hover .vj .arw{transform:translateX(4px)}
body.fsx .lj-pager{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:2.6rem}
body.fsx .lj-pg{min-width:44px;height:44px;padding:0 .9rem;border-radius:100px;border:1px solid var(--forge-graphite);background:var(--forge-panel);color:var(--ash);font-family:"Archivo";font-weight:700;font-size:.85rem;cursor:pointer;transition:.25s}
body.fsx .lj-pg:hover:not(:disabled){border-color:var(--molten);color:#fff}
body.fsx .lj-pg.is-active{background:var(--heat);color:#140a03;border-color:transparent}
body.fsx .lj-pg:disabled{opacity:.4;cursor:default}
body.fsx .lj-cvband{padding:clamp(80px,11vh,140px) 0;background:var(--forge-steel);border-top:1px solid var(--hairline);position:relative;overflow:hidden}
body.fsx .lj-cvband .glow2{position:absolute;left:8%;top:50%;transform:translate(-50%,-50%);width:min(90vw,760px);aspect-ratio:1;background:radial-gradient(circle at center,rgba(255,94,0,.28),transparent 62%);z-index:0;pointer-events:none}
body.fsx .lj-cvband .wrap{position:relative;z-index:1}
body.fsx .lj-cvgrid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
body.fsx .lj-cvcopy h2{font-size:clamp(2.4rem,5vw,4.2rem);margin:.35em 0 .5em}
body.fsx .lj-cvcopy h2 .hl{color:transparent;background:var(--heat);-webkit-background-clip:text;background-clip:text}
body.fsx .lj-select{appearance:none;-webkit-appearance:none;width:100%;background:var(--forge-black);border:1px solid var(--forge-graphite);border-radius:10px;padding:.85rem 1rem;color:#fff;font-family:"Lato";font-size:1rem;outline:none;margin-bottom:1.1rem;cursor:pointer}
body.fsx .lj-select:focus{border-color:var(--molten)}
body.fsx .lj-select option{background:#181B20;color:#fff}
body.fsx .lj-file{width:100%;background:var(--forge-black);border:1px dashed var(--forge-graphite);border-radius:10px;padding:.8rem 1rem;color:var(--ash);font-family:"Lato";font-size:.95rem;outline:none;margin-bottom:1.1rem;cursor:pointer}
body.fsx .lj-file::-webkit-file-upload-button{background:var(--heat);color:#140a03;border:0;border-radius:100px;padding:.5rem 1rem;font-family:"Archivo";font-weight:800;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-right:1rem;cursor:pointer}
body.fsx .lj-file::file-selector-button{background:var(--heat);color:#140a03;border:0;border-radius:100px;padding:.5rem 1rem;font-family:"Archivo";font-weight:800;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-right:1rem;cursor:pointer}
body.fsx .lj-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--ash-dim)}
body.fsx .lj-cvform .chk{text-transform:none}
body.fsx .lj-cvform .chk span{font-weight:400;text-transform:none}
@media(max-width:860px){body.fsx .lj-cvgrid{grid-template-columns:1fr}}
@media(max-width:640px){body.fsx .lj-filters{flex-direction:column}body.fsx .lj-type select{width:100%}body.fsx .lj-row{padding:1.5rem 1.4rem}body.fsx .lj-ref{position:static;display:block;margin-bottom:.6rem}body.fsx .lj-title{padding-right:0}}
body.fsx .lj-row .tag{margin-bottom:.55rem}
body.fsx .lj-row .lj-date{display:block;font-family:"Archivo",sans-serif;font-weight:600;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ash);margin:0 0 .6rem}
@media(max-width:640px){body.fsx .lj-filters .lj-search{flex:0 0 auto;width:100%;min-height:3.75rem;height:auto;padding-top:.5rem;padding-bottom:.5rem;box-sizing:border-box;align-items:center}}
/* ===== LIVE JOBS full light rebuild (page 215) 2026-07-24 ===== */
body.fsx .lj-board{background:linear-gradient(165deg,#e6e3dd 0%,#f4f2ee 60%)}
body.fsx .lj-board .wrap{max-width:1260px}
body.fsx .lj-layout{display:grid;grid-template-columns:300px 1fr;gap:2.2rem;align-items:start}
@media(max-width:900px){body.fsx .lj-layout{grid-template-columns:1fr}}
body.fsx .lj-refine-h{font-family:"Archivo",sans-serif;font-weight:800;font-size:1.55rem;color:#14161A;margin:0 0 1.15rem;text-transform:none}
body.fsx .lj-facet{background:#fff;border:1px solid rgba(20,16,10,.08);border-radius:14px;margin-bottom:1.25rem;overflow:hidden;box-shadow:0 4px 16px rgba(20,16,10,.05)}
body.fsx .lj-facet-head{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:0;cursor:pointer;font-family:"Archivo",sans-serif;font-weight:700;font-size:1.08rem;color:#ff5e00;padding:1.05rem 1.25rem;text-transform:none}
body.fsx .lj-facet-head .lj-caret{transition:transform .3s;font-size:.72rem}
body.fsx .lj-facet[aria-collapsed="1"] .lj-facet-head .lj-caret{transform:rotate(180deg)}
body.fsx .lj-facet[aria-collapsed="1"] .lj-facet-body{display:none}
body.fsx .lj-facet-body{padding:.2rem 1.25rem 1.1rem}
body.fsx .lj-facet-empty{color:#8b8f94;font-size:.9rem;padding:.4rem 0 .5rem}
body.fsx .lj-optlist{display:flex;flex-direction:column}
body.fsx .lj-opt{position:relative;display:flex;align-items:center;gap:.7rem;padding:.44rem 0;cursor:pointer;color:#3c4046;font-size:.98rem;line-height:1.3}
body.fsx .lj-opt input{position:absolute;opacity:0;width:1px;height:1px}
body.fsx .lj-opt .lj-box,body.fsx .lj-opt .lj-radio{flex:0 0 auto;width:20px;height:20px;background:#f2ddd1;border:1px solid #e6c9b6;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
body.fsx .lj-opt .lj-box{border-radius:5px}
body.fsx .lj-opt .lj-radio{border-radius:50%}
body.fsx .lj-opt input:checked+.lj-box{background:#ff5e00;border-color:#ff5e00}
body.fsx .lj-opt input:checked+.lj-box::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}
body.fsx .lj-opt input:checked+.lj-radio{background:#ff5e00;border-color:#ff5e00}
body.fsx .lj-opt input:checked+.lj-radio::after{content:"";width:7px;height:7px;border-radius:50%;background:#fff}
body.fsx .lj-opt input:focus-visible+.lj-box,body.fsx .lj-opt input:focus-visible+.lj-radio{outline:2px solid #ff5e00;outline-offset:2px}
body.fsx .lj-opt .lj-optname{flex:1}
body.fsx .lj-opt .lj-cnt{flex:0 0 auto;background:#3a3d42;color:#fff;font-size:.72rem;font-weight:700;border-radius:20px;min-width:24px;text-align:center;padding:.2em .55em;font-family:"Archivo",sans-serif}
body.fsx .lj-saltabs{display:flex;gap:1.4rem;border-bottom:1px solid rgba(20,16,10,.1);margin:.2rem 0 .7rem}
body.fsx .lj-saltab{background:none;border:0;border-bottom:2px solid transparent;cursor:pointer;font-family:"Archivo",sans-serif;font-weight:700;font-size:.95rem;color:#9a9ea3;padding:.2rem 0 .55rem;margin-bottom:-1px}
body.fsx .lj-saltab.is-active{color:#14161A;border-bottom-color:#14161A}
body.fsx .lj-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
body.fsx .lj-showing{font-family:"Archivo",sans-serif;font-weight:800;font-size:1.4rem;color:#14161A}
body.fsx .lj-viewtoggle{display:inline-flex;align-items:center;gap:.5rem;background:#ff5e00;color:#140a03;border:0;border-radius:100px;font-family:"Archivo",sans-serif;font-weight:700;font-size:.9rem;padding:.72rem 1.4rem;cursor:pointer}
body.fsx .lj-viewtoggle .lj-vt-ico{font-size:1rem;line-height:1}
body.fsx .lj-board .lj-list{display:flex;flex-direction:column;gap:1.1rem;min-height:220px}
body.fsx .lj-board .lj-row{position:relative;display:block;background:#f8f7f4;border:1px solid rgba(20,16,10,.09);border-radius:14px;padding:1.5rem 1.7rem;transition:border-color .3s,transform .3s,background .3s,box-shadow .3s}
body.fsx .lj-board .lj-row:hover{border-color:rgba(255,94,0,.5);background:#fff;box-shadow:0 8px 24px rgba(20,16,10,.10);transform:translateY(-2px)}
body.fsx .lj-board .lj-row .lj-date{display:inline-block;color:#8b8f94;font-size:.9rem;margin-bottom:.5rem}
body.fsx .lj-board .lj-row .lj-ref{position:absolute;top:1.5rem;right:1.7rem;font-family:"Archivo",sans-serif;font-weight:600;font-size:.85rem;letter-spacing:.02em;color:#9a9ea3}
body.fsx .lj-board .lj-row .tag{display:none}
body.fsx .lj-board .lj-row .lj-title{font-family:"Archivo",sans-serif;font-weight:800;text-transform:none;font-size:1.35rem;line-height:1.2;color:#14161A;margin:0 0 .85rem;padding-right:9rem}
body.fsx .lj-board .lj-row .lj-meta{display:flex;flex-wrap:wrap;gap:.5rem 2rem;font-size:.95rem;color:#5f6368;margin-bottom:.75rem}
body.fsx .lj-board .lj-row .lj-meta .mi{display:inline-flex;align-items:center;gap:.5rem}
body.fsx .lj-board .lj-row .lj-meta .mi .mic{color:#ff5e00;display:inline-flex;flex:0 0 auto;align-items:center}
body.fsx .lj-board .lj-row .lj-excerpt{font-size:.96rem;color:#5f6368;line-height:1.6;margin:0;max-width:96ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.fsx .lj-board .lj-row .vj{display:none}
body.fsx .lj-board .lj-list.is-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.1rem}
body.fsx .lj-board .lj-list.is-grid .lj-row{padding:1.4rem 1.5rem}
body.fsx .lj-board .lj-list.is-grid .lj-row .lj-title{padding-right:0;font-size:1.2rem}
body.fsx .lj-board .lj-list.is-grid .lj-row .lj-ref{position:static;display:block;margin-bottom:.4rem}
body.fsx .lj-board .lj-list.is-grid .lj-row .lj-meta{flex-direction:column;gap:.5rem}
body.fsx .lj-board .lj-pager{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:2rem}
body.fsx .lj-board .lj-pager .lj-pg{background:#fff;border:1px solid rgba(20,16,10,.12);color:#3c4046;border-radius:9px;padding:.55rem .95rem;cursor:pointer;font-family:"Archivo",sans-serif;font-weight:700;font-size:.9rem}
body.fsx .lj-board .lj-pager .lj-pg.is-active{background:#ff5e00;border-color:#ff5e00;color:#fff}
body.fsx .lj-board .lj-pager .lj-pg[disabled]{opacity:.4;cursor:default}
/* ===== Managed Services blocks (glow bullets + labelled process tabs) 2026-07-22 ===== */
body.fsx .fx-gbul{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:1rem}
body.fsx .fx-gbul li{position:relative;padding-left:2rem;color:#c2c7cd;font-size:1.06rem;line-height:1.6}
body.fsx .fx-gbul li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;border-radius:50%;background:var(--heat);box-shadow:0 0 10px var(--molten),0 0 20px rgba(255,94,0,.55)}
body.fsx .fx-part-head{text-align:center;margin-bottom:2.4rem}
body.fsx .fx-part-head h2{font-size:clamp(2rem,4.4vw,3.4rem)}
body.fsx .fx-part-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,4rem)}
body.fsx .fx-part-cols .fx-gbul{margin-top:0}
body.fsx .fxproc--labels{grid-template-columns:minmax(200px,.85fr) 1fr}
body.fsx .fxproc-side{position:sticky;top:110px;align-self:start}
body.fsx .fxproc-side .fxproc-nav{position:static}
body.fsx .fxproc-heading{font-family:"Anton",sans-serif;font-weight:400;text-transform:uppercase;line-height:.96;font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:1.6rem;color:#fff}
body.fsx .fxproc--labels .fxproc-num{font-family:"Archivo",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:1.12rem;line-height:1.2;padding:.35rem 0 .35rem 1.1rem;color:var(--ash);opacity:1;transition:color .25s,opacity .25s}
body.fsx .fxproc--labels .fxproc-num:hover{color:#fff;opacity:1}
body.fsx .fxproc--labels .fxproc-num.active{color:var(--molten);opacity:1}
body.fsx .fxproc--labels .fxproc-num::before{top:10%;height:0}
body.fsx .fxproc--labels .fxproc-num.active::before{height:80%}
@media(max-width:960px){body.fsx .fxproc--labels{grid-template-columns:1fr}body.fsx .fxproc-side{position:static}body.fsx .fxproc-side .fxproc-nav{flex-direction:row;flex-wrap:wrap;gap:1rem;border-bottom:1px solid var(--hairline);padding-bottom:.4rem}body.fsx .fxproc--labels .fxproc-num{padding:0 0 .5rem 0;font-size:1rem}body.fsx .fxproc--labels .fxproc-num::before{left:0;top:auto;bottom:0;width:0;height:3px}body.fsx .fxproc--labels .fxproc-num.active::before{width:100%;height:3px}}
@media(max-width:760px){body.fsx .fx-part-cols{grid-template-columns:1fr}}
/* ===== SERVICE PAGE: light bands (#e1dcd5) ===== */body.fsx section.fx-band--light{background:#e1dcd5 !important;border-top:1px solid rgba(20,16,10,.10) !important;border-bottom:1px solid rgba(20,16,10,.10) !important}
body.fsx .fx-band--light h1,body.fsx .fx-band--light h2,body.fsx .fx-band--light h3,body.fsx .fx-band--light h4{color:#14161A !important}
body.fsx .fx-band--light p{color:#3c4046 !important}
body.fsx .fx-band--light .fx-prose p:first-of-type{color:#14161A !important}
body.fsx .fx-band--light .fx-prose ul,body.fsx .fx-band--light .fx-prose ol,body.fsx .fx-band--light .fx-prose li{color:#3c4046 !important}
body.fsx .fx-band--light .fx-prose a:not(.btn){color:#c74a00 !important}
body.fsx .fx-band--light .fx-prose strong,body.fsx .fx-band--light .fx-prose b{color:#14161A !important}
body.fsx .fx-band--light .lead{color:#3c4046 !important}
body.fsx .fx-band--light .eyebrow{color:var(--molten) !important}
body.fsx .fx-band--light .fx-chip{color:#2f3338 !important;background:rgba(255,255,255,.62) !important;border-color:rgba(20,16,10,.16) !important}
body.fsx .fx-band--light a.btn--ghost{color:#14161A !important;border-color:rgba(20,16,10,.28) !important}
body.fsx .fx-band--light a.btn--ghost:hover{color:var(--molten) !important;border-color:var(--molten) !important}
body.fsx .fx-band--light .fx-img{box-shadow:0 14px 36px rgba(20,16,10,.16)}
body.fsx .fx-band--light .fxproc-num{opacity:.45}
body.fsx .fx-band--light .fxproc-num:hover{opacity:.75}
body.fsx .fx-band--light .fxproc-num.active{opacity:1}
@media(max-width:960px){body.fsx .fx-band--light .fxproc-nav{border-bottom-color:rgba(20,16,10,.14) !important}}
/* ===== MANAGED SERVICES: light bands extended to gauge / labelled tabs / glow bullets ===== */body.fsx section.gauge.fx-band--light{background:#e1dcd5 !important}
body.fsx .fx-band--light .fx-stat .l{color:#3c4046 !important}
body.fsx .gauge.fx-band--light .cap{color:#14161A !important}
body.fsx .gauge.fx-band--light .ctx p{color:#3c4046 !important}
body.fsx .fx-band--light .fx-gbul li{color:#3c4046 !important}
body.fsx .fx-band--light .fx-gbul li::before{box-shadow:0 0 8px rgba(255,94,0,.45)}
body.fsx .fx-band--light .fxproc-heading{color:#14161A !important}
body.fsx .fx-band--light .fxproc--labels .fxproc-num{color:#4a4f56 !important;opacity:1 !important}
body.fsx .fx-band--light .fxproc--labels .fxproc-num:hover{color:#14161A !important;opacity:1 !important}
body.fsx .fx-band--light .fxproc--labels .fxproc-num.active{color:#c74a00 !important;opacity:1 !important}
body.fsx .fx-artcard .thumb{display:block;width:100%;aspect-ratio:16/10;background:var(--forge-graphite) center/cover;filter:grayscale(.3);transition:filter .5s}
/* ===== MEDIA HUB: article grid on light band (#e1dcd5) ===== */body.fsx section.fx-band--light{background:#e1dcd5 !important;border-top:1px solid rgba(20,16,10,.10) !important;border-bottom:1px solid rgba(20,16,10,.10) !important}
body.fsx .fx-band--light .fx-artcard{background:#fff !important;border-color:rgba(20,16,10,.10) !important;box-shadow:0 8px 26px rgba(20,16,10,.07)}
body.fsx .fx-band--light .fx-artcard:hover{border-color:rgba(255,94,0,.55) !important;box-shadow:0 14px 34px rgba(20,16,10,.13)}
body.fsx .fx-band--light .fx-artcard h3{color:#14161A !important}
body.fsx .fx-band--light .fx-artcard p{color:#3c4046 !important}
body.fsx .fx-band--light .fx-artcard .date{color:#c74a00 !important}
body.fsx .fx-band--light .fx-dl{color:#c74a00 !important}
body.fsx .fx-band--light .job-load{color:#4a4f56 !important}
body.fsx .fx-tcard[href*='alina-ciobanu'] .photo{background-position:50% 18%}
body.fsx .fx-tcard[href*='ana-roncevic'] .photo{background-position:50% 18%}
/* ===== MEET THE TEAM cards: Read More + email / LinkedIn icons ===== */body.fsx .fx-team .fx-tcard{display:flex;flex-direction:column}
body.fsx .fx-team .tcimg{display:block}
body.fsx .fx-team .fx-tcard .info{display:flex;flex-direction:column;flex:1 1 auto}
body.fsx .fx-team .fx-tcard h3{margin:0}
body.fsx .fx-team .fx-tcard h3 a{color:inherit;transition:color .3s}
body.fsx .fx-team .fx-tcard:hover h3 a{color:var(--molten)}
body.fsx .fx-team .fx-tcard .role{color:var(--ash)}
body.fsx .fx-team .tcfoot{margin-top:auto;padding-top:1.1rem;display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}
body.fsx .fx-team .tcmore{font-family:"Lato",system-ui,sans-serif;font-weight:700;font-size:.92rem;line-height:1;color:var(--molten);display:inline-flex;align-items:center;gap:.5em;transition:color .25s}
body.fsx .fx-team .tcmore:hover{color:var(--molten-hot)}
body.fsx .fx-team .tcsoc{display:inline-flex;align-items:center;gap:.45rem}
body.fsx .fx-team .tcic{width:32px;height:32px;border-radius:50%;border:1px solid var(--forge-graphite);display:inline-grid;place-items:center;font-size:.82rem;line-height:1;color:var(--ash);transition:color .25s,border-color .25s,background .25s}
body.fsx .fx-team .tcic:hover{color:#0A0B0D;border-color:var(--molten);background:var(--molten)}
@media(max-width:420px){body.fsx .fx-team .tcfoot{gap:.9rem}}
/* ===== ABOUT PAGE: light bands, live-matched value cards, 2-up award grid ===== */body.fsx section.fx-band--light{background:#e1dcd5 !important;border-top:1px solid rgba(20,16,10,.10) !important;border-bottom:1px solid rgba(20,16,10,.10) !important}
body.fsx .fx-band--light .fx-prose p:first-child{color:#14161A !important}
body.fsx .fx-band--light .fx-prose ul,body.fsx .fx-band--light .fx-prose li{color:#3c4046 !important}
body.fsx .fx-band--light .fx-prose a{color:#c74a00 !important}
body.fsx .fx-band--light .fx-stat .l{color:#5f6368 !important}
body.fsx .fx-band--light .fx-white{box-shadow:0 8px 26px rgba(20,16,10,.10)}
body.fsx .fx-values{grid-template-columns:repeat(5,1fr) !important;gap:2.4rem 1.6rem !important}
body.fsx .fx-values .fx-card{background:transparent !important;border:0 !important;border-radius:0 !important;padding:0 !important}
body.fsx .fx-values .fx-card:hover{transform:none !important}
body.fsx .fx-values .vic{display:block;width:76px;height:76px;color:var(--molten);margin-bottom:1.6rem;transition:transform .45s ease}
body.fsx .fx-values .vic svg{display:block;width:100%;height:100%}
body.fsx .fx-values .fx-card:hover .vic{transform:translateY(-5px) scale(1.05)}
body.fsx .fx-values .fx-card .k{font-family:"Archivo",sans-serif;font-weight:800;font-size:1.06rem;letter-spacing:0;text-transform:none;color:#fff;margin-bottom:.6rem;line-height:1.3}
body.fsx .fx-values .fx-card p{color:rgba(255,255,255,.82);font-size:.95rem;line-height:1.6}
@media(max-width:1080px){body.fsx .fx-values{grid-template-columns:repeat(3,1fr) !important}}
@media(max-width:720px){body.fsx .fx-values{grid-template-columns:repeat(2,1fr) !important}}
@media(max-width:440px){body.fsx .fx-values{grid-template-columns:1fr !important}}
body.fsx .fx-cards--2up1{grid-template-columns:repeat(2,1fr) !important;gap:1.4rem !important}
body.fsx .fx-cards--2up1>:nth-child(3){grid-column:1/-1}
body.fsx .fx-cards--2up1>:nth-child(3).fx-award{min-height:380px}
@media(max-width:720px){body.fsx .fx-cards--2up1{grid-template-columns:1fr !important}body.fsx .fx-cards--2up1>:nth-child(3).fx-award{min-height:300px}}
/* ===== CLIENTS PAGE: light bands (#e1dcd5) with inverted type ===== */body.fsx section.fx-band--light{background:#e1dcd5 !important;border-top:1px solid rgba(20,16,10,.10) !important;border-bottom:1px solid rgba(20,16,10,.10) !important}
body.fsx .fx-band--light .fx-card{background:#fff !important;border-color:rgba(20,16,10,.10) !important;box-shadow:0 8px 26px rgba(20,16,10,.07)}
body.fsx .fx-band--light .fx-card:hover{border-color:rgba(255,94,0,.55) !important;box-shadow:0 14px 34px rgba(20,16,10,.13)}
body.fsx .fx-band--light .fx-card h3{color:#14161A !important}
body.fsx .fx-band--light .fx-card p{color:#3c4046 !important}
body.fsx .fx-band--light .fx-faq details{border-bottom-color:rgba(20,16,10,.14) !important}
body.fsx .fx-band--light .fx-faq summary{color:#14161A !important}
body.fsx .fx-band--light .fx-faq p{color:#3c4046 !important}
body.fsx .fx-band--light .clients{background:transparent !important;border-top:0 !important}
body.fsx .fx-band--light .clients p{color:#3c4046 !important}
body.fsx .fx-band--light .clients .cviewport{border:0 !important;border-radius:0 !important}
body.fsx .fx-band--light .clients .cnav{background:#fff !important;border-color:rgba(20,16,10,.16) !important;color:#14161A !important}
body.fsx .fx-band--light .clients .cnav:hover{border-color:var(--molten) !important;color:var(--molten) !important}
body.fsx .fx-band--light .clients .cdots button{background:rgba(20,16,10,.22) !important}
body.fsx .fx-band--light .clients .cdots button.active{background:var(--molten) !important}
body.fsx .gauge{padding:clamp(80px,10vh,130px) 0;background:linear-gradient(180deg,#131519 0%,#767c7f 100%);border-top:0;border-bottom:0}
body.fsx .gauge .ctx p{font-size:1.12rem;color:#ffffff;max-width:52ch}
body.fsx .svc--hot{background:#e1dcd5;color:#14161A}
body.fsx .svc--hot h3{color:#14161A}
body.fsx .svc--hot .go{color:var(--molten)}
/* service cards: solid colour blocks */body.fsx .svc--hot{background:#e1dcd5;color:#14161A;border-color:rgba(20,16,10,.14)}
body.fsx .svc--perm{background:#e1dcd5;color:#14161A;border-color:rgba(20,16,10,.14)}
body.fsx .svc--perm h3{color:#14161A}
body.fsx .svc--perm .go{color:var(--molten)}
body.fsx .svc--mgd{background:#e1dcd5;color:#14161A;border-color:rgba(20,16,10,.14)}
body.fsx .svc--mgd h3{color:#14161A}
body.fsx .svc--mgd .go{color:var(--molten)}
body.fsx .svc--intl{background:#e1dcd5;color:#14161A;border-color:rgba(20,16,10,.14)}
body.fsx .svc--intl h3{color:#14161A}
body.fsx .svc--intl .go{color:var(--molten)}
/* service cards: excerpt from the matching service page */body.fsx .svc{justify-content:flex-start}
body.fsx .svc .svc-ex{margin:.9rem 0 0;font-size:1rem;line-height:1.55;max-width:48ch}
body.fsx .svc .go{margin-top:auto;padding-top:1.6rem}
body.fsx .svc--hot .svc-ex,body.fsx .svc--mgd .svc-ex{color:#3c4046}
body.fsx .svc--perm .svc-ex,body.fsx .svc--intl .svc-ex{color:#3c4046}
/* DESIGN TEST: hero photo replaces the radial glow; fades right-to-left into black */body.fsx .hero .hero-photo{position:absolute;top:0;right:0;bottom:0;width:min(78%,1600px);z-index:0;pointer-events:none;background:linear-gradient(90deg,#0A0B0D 0%,rgba(10,11,13,.97) 32%,rgba(10,11,13,.80) 56%,rgba(10,11,13,.34) 80%,rgba(10,11,13,0) 100%),url('/wp-content/uploads/2026/07/max-larochelle-ihhiau63jc-unsplash.webp') center right/cover no-repeat}
body.fsx .hero .ring{display:none}
@media(max-width:860px){body.fsx .hero .hero-photo{width:100%;background:linear-gradient(90deg,#0A0B0D 0%,rgba(10,11,13,.9) 30%,rgba(10,11,13,.55) 100%),url('/wp-content/uploads/2026/07/max-larochelle-ihhiau63jc-unsplash.webp') center right/cover no-repeat}}
/* DESIGN TEST: Our Clients band - reproduces the homepage treatment, whose global rules in the
   fsx-clients-css hook are scoped to body.home and therefore do not reach this page. */body.fsx .clients{background:#e1dcd5 !important}
body.fsx .clients p{color:#3c4046 !important}
body.fsx .clients h1,body.fsx .clients h2,body.fsx .clients h3{color:#14161A !important}
body.fsx .clients .cviewport{border:0 !important}
/* International: case-studies form block */
body.fsx .fx-csform{background:#404345}
body.fsx .fx-cs-inner{max-width:760px;margin:0 auto}
body.fsx .fx-cs-head{text-align:center;margin-bottom:2.4rem}
body.fsx #fsxCaseStudies .chk,body.fsx #fsxCaseStudies .chk span{text-transform:none;font-weight:400}
/* ===== INTERNATIONAL: video band on light ===== */body.fsx .fx-band--light .fx-video{box-shadow:0 14px 36px rgba(20,16,10,.16)}
/* ===== CANDIDATES PAGE: light bands (#e1dcd5) with inverted type ===== */body.fsx section.fx-band--light{background:#e1dcd5 !important;border-top:1px solid rgba(20,16,10,.10) !important;border-bottom:1px solid rgba(20,16,10,.10) !important}
body.fsx .fx-band--light .fx-award .k{color:#fff !important}
body.fsx .fx-band--light .fx-award p{color:rgba(255,255,255,.86) !important}
/* ===== SERVICES HUB: light bands (#e1dcd5) ===== */body.fsx section.fx-band--light{background:#e1dcd5 !important;border-top:1px solid rgba(20,16,10,.10) !important;border-bottom:1px solid rgba(20,16,10,.10) !important}
/* ===== SECTOR PAGE: Overview + Specialities light bands (#e1dcd5) ===== */body.fsx section.fx-band--light{background:#e1dcd5 !important;border-top:1px solid rgba(20,16,10,.10) !important;border-bottom:1px solid rgba(20,16,10,.10) !important}
/* ===== SECTORS HUB: light bands (#e1dcd5) with inverted type ===== */body.fsx section.fx-band--light{background:#e1dcd5 !important;border-top:1px solid rgba(20,16,10,.10) !important;border-bottom:1px solid rgba(20,16,10,.10) !important}
body.fsx .fx-office a[href^='tel:']{color:#fff}
body.fsx #fsxContact .chk,body.fsx #fsxContact .chk span{text-transform:none;font-weight:400}
/* ===== CONTACT: light band; office cards + form stay dark; cards get a hover lift ===== */body.fsx section.fx-band--light{background:#e1dcd5 !important;border-top:1px solid rgba(20,16,10,.10) !important;border-bottom:1px solid rgba(20,16,10,.10) !important}
body.fsx .fx-band--light .fx-office h3{color:#fff !important}
body.fsx .fx-band--light .fx-office p{color:var(--ash) !important}
body.fsx .fx-band--light .fx-office{position:relative;top:0;z-index:0;transition:opacity .9s ease,transform .9s cubic-bezier(.16,.8,.3,1),top .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease,border-color .35s ease}
body.fsx .fx-band--light .fx-office:hover{top:-6px;z-index:1;box-shadow:0 18px 40px rgba(20,16,10,.22);border-color:rgba(255,94,0,.55)}
body.fsx .fx-prose .fx-tablewrap{overflow-x:auto;margin:1.4rem 0 1.8rem;-webkit-overflow-scrolling:touch}
body.fsx .fx-prose .fx-table{width:100%;border-collapse:collapse;font-size:1rem;min-width:520px}
body.fsx .fx-prose .fx-table th{background:var(--molten);color:#0a0b0d;font-family:"Archivo";font-weight:800;text-align:left;padding:.85rem 1rem;font-size:.95rem;border:1px solid var(--forge-graphite);vertical-align:top}
body.fsx .fx-prose .fx-table td{padding:.85rem 1rem;border:1px solid var(--forge-graphite);color:#c2c7cd;vertical-align:top}
body.fsx .fx-prose .fx-table td p{margin:0 0 .6rem;font-size:1rem}
body.fsx .fx-prose .fx-table td p:last-child{margin-bottom:0}
body.fsx .fx-prose .fx-table tbody tr:nth-child(even){background:rgba(255,255,255,.02)}
.modal {
 
 z-index: 999999999999999999999999;

}
.modal-header {
 
 padding:16px 16px 0 16px;
 border-bottom: 0;
}
#cvModalLabel{
display:none;
}
p{
margin-bottom:0;
}
.modal-body {
 padding:0;
}
.dynamic-field{
 display:none;
}
.dynamic-field.active{
 display:block;
}
.wpcf7-form-control{
 width:800px;
}
.wpcf7-text,
.wpcf7-email,
.wpcf7-url,
.wpcf7-select,
.wpcf7-file{
 width:100%;
 padding:12px 15px;
 border:1px solid #ddd;
 border-radius:6px;
}
.wpcf7-text:focus,
.wpcf7-email:focus,
.wpcf7-url:focus,
.wpcf7-select:focus,
.wpcf7-file:focus{
 border-color:#ff6600;
 box-shadow:0 0 0 .25rem rgba(255,102,0,.15);
}
.wpcf7-submit {
 background: #ff6600;
 color: #fff;
 border: none;
 border-radius: 50px;
 padding: 10px 30px;
 font-weight: 600;
 font-size:14px;
 width:35%;
border:1px solid #ff6600;
}
.wpcf7-submit:hover{
 background: #ff6600;
 color:#fff;
 border:1px solid #000;
}
.form-check-label a{
 color:#ff6600;
 text-decoration:underline;
}
.form-label {
 color: #000;
 font-size: 14px;
 font-weight: 600;
}
select#uploadOption {
color:#fff;
Border-color:#ddd
}
select#uploadOption option,
.form-select option{
color:#fff !important;
background:#181B20 !important;
}
select#uploadOption:focus {
 Border-color:#ddd !important;
}
h3{
font-size:50px;
font-weight:600;
font-family: "Lato", sans-serif;
}
div#wpcf7-f2952-o1 {
 padding:0 55px 55px 55px;

}
.form-check-input,
.wpcf7-acceptance input[type="checkbox"]{
 display:inline-block !important;
 width:14px !important;
 height:14px !important;
 margin-right:8px;
 opacity:1 !important;
 visibility:visible !important;
 appearance:auto !important;
}
.form-check {
 display: block;
 min-height: 1.5rem;
 padding-left: 0px;
 margin-bottom: .125rem;
 margin-left: -8px;
}
.elementor-kit-20 a {
 font-family: "Lato", Sans-serif;
 color: #FF5E00;
}
.elementor-kit-20 a:hover {
 
 text-decoration: none;
 color: #179b9e;
}
span.wpcf7-list-item-label {
 font-size: 14px;
}
.wpcf7-list-item {
 display: inline-block;
 margin: 10px 0 5px 1em;
}
.form-wrapper{
 max-width:900px;
 background:#fff;
 border-radius:16px;
 padding:50px 70px;
 box-shadow:0 5px 25px rgba(0,0,0,.08);
}
.form-wrapper h3{
 font-size:50px;
}
.form-wrapper label{
 font-weight:700;
 margin-bottom:10px;
 display:block;
}
.form-control,
.form-select{
 padding:12px 15px;
 border-radius:6px;
 border:1px solid #ddd;
}
.form-control:hover,
.form-select:hover{
 border-color:#ff6600;
}
.form-control:focus,
.form-select:focus{
 border-color:#ff6600;
 box-shadow:0 0 0 .25rem rgba(255,102,0,.15);
}
.custom-upload{
 border:1px solid #ddd;
 border-radius:6px;
 height:50px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 padding:0 15px;
}
.upload-icon{
 width:30px;
 height:30px;
 background:#ff6600;
 color:#fff;
 border-radius:50%;
 display:flex !important;
 align-items:center !important;
 justify-content:center !important;
 cursor:pointer;
 margin-bottom:0!important;
 border: 0;
position: relative;
font-size:0;
}
.upload-icon i {
 color: #fff;
 position: static;
 top: auto;
 left: auto;
 line-height: 1;
 display: block;
 font-size:14px;
}
.upload-icon br{display:none}
.btn-primary{
 background:#ff6600;
 border-color:#ff6600;
 padding:14px 40px;
 border-radius:50px;
}
.btn-primary:hover{
 background:#000;
 border-color:#000;
}
.terms{
 display:flex;
 align-items:flex-start;
 gap:10px;
}
.terms .wpcf7-list-item{
 margin:0;
}
.terms>p{display:contents}
.terms .wpcf7-form-control-wrap{flex:0 0 auto}
.terms .wpcf7-acceptance{margin:0}
.terms input[type="checkbox"]{margin:0 !important;position:relative;top:3px}
.terms-text{
 font-size:14px;
 line-height:1.6;
}
.prv_link{
 color:#ff6600;
 text-decoration:underline;
}
.prv_link:hover{
 color:#179B9E;
}
.bottom-links{
 text-align:center;
 margin-top:30px;
}
.job_btn .btn:disabled{
 background: #ff6600;
 border-color: #ff6600;
 padding: 14px 40px;
 border-radius: 50px;

}
@media(max-width:768px){

.form-wrapper{
 padding:30px 20px;
}

.form-wrapper h3{
 font-size:36px;
}

.wpcf7-form-control {
 width:100%;
}

}
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),
				.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {
					background-image: none !important;
				}
@media screen and (max-height: 1024px) {
					.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),
					.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * {
						background-image: none !important;
					}
				}
@media screen and (max-height: 640px) {
					.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),
					.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * {
						background-image: none !important;
					}
				}
body.fsx section.sectors{background:#767c7f !important;}
body.fsx section.jobs:has(.fjnav){background:#e1dcd5!important}
body.fsx section.jobs:has(.fjnav) h2{color:#14161A!important}
body.fsx section.jobs:has(.fjnav) a.job{background:#eee9e2!important;border-color:rgba(20,16,10,.10)!important;box-shadow:0 6px 20px rgba(20,16,10,.07)!important}
body.fsx section.jobs:has(.fjnav) a.job:hover{background:#fff!important;box-shadow:0 10px 28px rgba(20,16,10,.12)!important}
body.fsx section.jobs:has(.fjnav) a.job h3{color:#14161A!important}
body.fsx section.jobs:has(.fjnav) a.job .meta,body.fsx section.jobs:has(.fjnav) a.job .meta *{color:#5f6368!important}
body.fsx section.jobs:has(.fjnav) a.job .vj,body.fsx section.jobs:has(.fjnav) a.job .vj *,body.fsx section.jobs:has(.fjnav) a.job .arw{color:#ff5e00!important}
body.fsx section.jobs:has(.fjnav) .fjnav{background:#ff5e00!important;color:#fff!important;border-color:transparent!important}
body.fsx .tmcar .tmcard{flex:0 0 33.333%;padding:.6rem 1.6rem .6rem .6rem}
body.fsx .tmcar .tmcard-in{background:transparent;border:0;border-radius:0;padding:0;height:100%;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto 1fr;column-gap:1.4rem;row-gap:0}
body.fsx .tmcar .tmcard-in:hover{border-color:transparent}
body.fsx .tmcar .tmcard-in .tmphoto{grid-column:1;grid-row:1/3;align-self:start;width:96px;height:96px;min-width:96px;aspect-ratio:1/1;border-radius:50%;margin:0;overflow:hidden}
body.fsx .tmcar .tmcard-in .tmphoto img{border-radius:50%;object-position:center top}
body.fsx .tmcar .tmcard-in .tmphoto.tmnoimg{font-size:1.7rem}
body.fsx .tmcar .tmcard-in h3{grid-column:2;grid-row:1;align-self:end;font-family:"Archivo",sans-serif;font-weight:800;text-transform:none;letter-spacing:0;font-size:1.18rem;line-height:1.25;color:#fff;margin:0 0 .3rem;transition:color .3s}
body.fsx .tmcar .tmcard-in .tmrole{grid-column:2;grid-row:2;align-self:start;font-family:"Lato",system-ui,sans-serif;font-weight:400;font-size:1rem;letter-spacing:0;text-transform:none;color:var(--ash);line-height:1.4}
body.fsx .tmcar .tmcard-in .tmmore{grid-column:1/-1;grid-row:3;align-self:end;justify-self:start;margin-top:1.5rem;padding-top:0;font-family:"Lato",system-ui,sans-serif;font-weight:700;font-size:.95rem;letter-spacing:0;text-transform:none;color:var(--molten);gap:.6em}
body.fsx .tmcar .tmcard-in:hover .tmmore{color:var(--molten-hot)}
body.fsx .tmcar .tmcard-in:hover h3{color:var(--molten)}
body.fsx .tmcar .tmcard-in:hover .tmphoto img{transform:scale(1.06)}
@media(max-width:760px){body.fsx .tmcar .tmcard{padding:.6rem}body.fsx .tmcar .tmcard-in .tmphoto{width:84px;height:84px;min-width:84px}}
body.fsx section.jobs:has(.fjnav) a.job{display:flex;flex-direction:column;align-items:flex-start}
body.fsx section.jobs:has(.fjnav) a.job .meta{display:flex;flex-direction:column;gap:.55rem;margin:.7rem 0 .2rem;width:100%}
body.fsx section.jobs:has(.fjnav) a.job .meta .mi{display:flex;align-items:center;gap:.6rem;color:#5f6368;font-size:.92rem;line-height:1.3}
body.fsx section.jobs:has(.fjnav) a.job .meta .mi .mic{color:#ff5e00!important;stroke:#ff5e00;display:inline-flex;align-items:center;flex:0 0 auto}
body.fsx section.jobs:has(.fjnav) a.job .jdesc{color:#5f6368;font-size:.9rem;line-height:1.55;margin:.6rem 0 1rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
body.fsx section.jobs:has(.fjnav) a.job .vj{margin-top:auto}
body.fsx .clients .cslide img{max-height:123px !important;max-width:90% !important}
/* clients home light: bg #e1dcd5, inverted legible text, no slider border (home only) */body.home body.fsx .clients{background:#e1dcd5 !important}
body.home body.fsx .clients p{color:#3c4046 !important}
body.home body.fsx .clients h1,body.home body.fsx .clients h2,body.home body.fsx .clients h3{color:#14161A !important}
body.home body.fsx .clients .cviewport{border:0 !important}
body.fsx .fx-ty-hero{min-height:66vh;display:flex;align-items:center}
body.fsx .fx-ty-hero .fx-ty-inner{max-width:760px;margin:0 auto;text-align:center}
body.fsx .fx-ty-hero .fx-ty-eyebrow{display:inline-block;color:var(--molten);font-family:"Archivo",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;margin-bottom:1.1rem}
body.fsx .fx-ty-hero h1{margin:0 0 1.2rem}
body.fsx .fx-ty-hero .fx-ty-lead{color:var(--ash);font-size:1.15rem;line-height:1.7;max-width:56ch;margin:0 auto 2.2rem}
#fsx-sitemap{position:relative;z-index:2;padding:1rem 0 3rem}
#fsx-sitemap .sm-title{font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.02em;font-weight:400;font-size:clamp(2.6rem,6vw,4.6rem);color:#fff;margin:0 0 2.2rem;line-height:1.02}
#fsx-sitemap .sm-links{columns:2;column-gap:3.5rem;max-width:840px}
#fsx-sitemap .sm-links p{margin:0 0 1.05rem;break-inside:avoid}
#fsx-sitemap .prv_link{color:#fff !important;text-decoration:none !important;transition:color .25s}
#fsx-sitemap .prv_link:hover{color:#FF5E00 !important;text-decoration:none !important}
.sm-glow{position:fixed;right:-12vw;bottom:-12vw;width:55vw;height:55vw;border-radius:50%;background:radial-gradient(circle,rgba(255,94,0,.5),rgba(255,94,0,0) 62%);pointer-events:none;z-index:0}
@media(max-width:640px){#fsx-sitemap .sm-links{columns:1}}
body.fsx .sm-sec{padding-top:clamp(120px,15vh,170px);padding-bottom:4rem}
body.single-post body.fsx section.fx-band{background:#e1dcd5 !important}
body.single-post body.fsx section.fx-band:last-of-type{border-bottom:1px solid rgba(20,16,10,.10) !important}
body.single-post body.fsx section.fx-band h1,body.single-post body.fsx section.fx-band h2,body.single-post body.fsx section.fx-band h3,body.single-post body.fsx section.fx-band h4,body.single-post body.fsx section.fx-band h5,body.single-post body.fsx section.fx-band h6{color:#14161A !important}
body.single-post body.fsx section.fx-band p{color:#3c4046 !important}
body.single-post body.fsx section.fx-band .fx-prose p:first-of-type{color:#14161A !important}
body.single-post body.fsx section.fx-band ul,body.single-post body.fsx section.fx-band ol,body.single-post body.fsx section.fx-band li{color:#3c4046 !important}
body.single-post body.fsx section.fx-band strong,body.single-post body.fsx section.fx-band b{color:#14161A !important}
body.single-post body.fsx section.fx-band a:not(.btn){color:#c74a00 !important}
body.single-post body.fsx section.fx-band blockquote{color:#3c4046 !important;border-left-color:rgba(255,94,0,.55) !important}
body.single-post body.fsx section.fx-band hr{border-color:rgba(20,16,10,.14) !important}
body.single-post body.fsx section.fx-band code,body.single-post body.fsx section.fx-band pre{background:rgba(20,16,10,.06) !important;color:#14161A !important}
body.single-post body.fsx section.fx-band table,body.single-post body.fsx section.fx-band th,body.single-post body.fsx section.fx-band td{border-color:rgba(20,16,10,.14) !important}
body.single-post body.fsx section.fx-band th{color:#14161A !important}
body.single-post body.fsx section.fx-band td{color:#3c4046 !important}
body.single-post body.fsx section.fx-band .artfeat img{box-shadow:0 14px 36px rgba(20,16,10,.16)}
body.single-post body.fsx section.fx-band .fx-related{background:var(--forge-panel) !important;border-color:var(--hairline) !important;box-shadow:none !important}
body.single-post body.fsx section.fx-band .fx-related > h2{color:#fff !important}
body.single-post body.fsx section.fx-band .fx-rel-title{color:#e8eaed !important}
body.single-post body.fsx section.fx-band .fx-rel:hover .fx-rel-title{color:var(--molten) !important}
body.single-post body.fsx section.fx-band .fx-rel-date{color:var(--ash) !important}
body.single-post body.fsx section.fx-band .fx-rel-thumb{border-color:var(--hairline) !important;background-color:var(--forge-graphite) !important}
body.fsx .fx-share{display:flex;align-items:center;gap:.65rem;margin-top:1.6rem;flex-wrap:wrap}
body.fsx .fx-share-lbl{font-family:"Archivo";font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ash);margin-right:.15rem}
body.fsx .fx-sh{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--hairline);background:var(--forge-panel);color:#c2c7cd;transition:background .25s,color .25s,border-color .25s,transform .25s}
body.fsx .fx-sh svg{width:17px;height:17px;fill:currentColor;display:block}
body.fsx .fx-sh:hover{background:var(--molten);border-color:var(--molten);color:#fff;transform:translateY(-2px)}
body.fsx .fx-artlayout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(2rem,4vw,3.5rem);align-items:start}
body.fsx .fx-artlayout .fx-jobdesc{max-width:none}
body.fsx .fx-related{position:sticky;top:110px;background:var(--forge-panel);border:1px solid var(--hairline);border-radius:16px;padding:1.5rem 1.4rem}
body.fsx .fx-related > h2{font-family:"Archivo";font-weight:800;font-size:1.15rem;color:#fff;margin:0 0 1.2rem;text-transform:none}
body.fsx .fx-rel-list{display:flex;flex-direction:column;gap:1.25rem}
body.fsx .fx-rel{display:flex;align-items:center;gap:1rem;text-decoration:none}
body.fsx .fx-rel-txt{display:flex;flex-direction:column;gap:.3rem;min-width:0;flex:1 1 auto}
body.fsx .fx-rel-title{font-family:"Archivo";font-weight:700;font-size:.92rem;line-height:1.3;color:#e8eaed;transition:color .25s}
body.fsx .fx-rel:hover .fx-rel-title{color:var(--molten)}
body.fsx .fx-rel-date{font-family:"Archivo";font-weight:600;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ash)}
body.fsx .fx-rel-thumb{flex:0 0 auto;width:56px;height:56px;border-radius:10px;background:var(--forge-graphite) center/cover;border:1px solid var(--hairline)}
@media(max-width:900px){body.fsx .fx-artlayout{grid-template-columns:1fr}body.fsx .fx-related{position:static}}
body.single-team body.fsx section.fx-band{background:#e1dcd5 !important;border-top:1px solid rgba(20,16,10,.10) !important;border-bottom:1px solid rgba(20,16,10,.10) !important}
body.single-team body.fsx section.fx-band h1,body.single-team body.fsx section.fx-band h2,body.single-team body.fsx section.fx-band h3,body.single-team body.fsx section.fx-band h4{color:#14161A !important}
body.single-team body.fsx section.fx-band p{color:#3c4046 !important}
body.single-team body.fsx section.fx-band .fx-prose p:first-child{color:#14161A !important}
body.single-team body.fsx section.fx-band strong,body.single-team body.fsx section.fx-band b{color:#14161A !important}
body.single-team body.fsx section.fx-band ul,body.single-team body.fsx section.fx-band ol,body.single-team body.fsx section.fx-band li{color:#3c4046 !important}
body.single-team body.fsx section.fx-band a{color:#c74a00 !important}
body.fsx .fx-tphoto{aspect-ratio:280/349}
body.fsx .fx-tphoto img{width:100%;height:100%;object-fit:cover}
body.fsx .fx-tphoto .fx-tph-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#131519;color:#2b2f35;font-family:"Anton",sans-serif;font-weight:400;font-size:clamp(3.5rem,7vw,5rem);line-height:1;letter-spacing:.03em}
body.single-job_listing body.fsx section.fx-band{background:#e1dcd5 !important}
body.single-job_listing body.fsx section.fx-band h1,body.single-job_listing body.fsx section.fx-band h2,body.single-job_listing body.fsx section.fx-band h3,body.single-job_listing body.fsx section.fx-band h4,body.single-job_listing body.fsx section.fx-band h5,body.single-job_listing body.fsx section.fx-band h6{color:#14161A !important}
body.single-job_listing body.fsx section.fx-band p{color:#3c4046 !important}
body.single-job_listing body.fsx section.fx-band .fx-prose p:first-of-type{color:#14161A !important}
body.single-job_listing body.fsx section.fx-band ul,body.single-job_listing body.fsx section.fx-band ol,body.single-job_listing body.fsx section.fx-band li{color:#3c4046 !important}
body.single-job_listing body.fsx section.fx-band strong,body.single-job_listing body.fsx section.fx-band b{color:#14161A !important}
body.single-job_listing body.fsx section.fx-band a:not(.btn){color:#c74a00 !important}
body.single-job_listing body.fsx section.fx-band blockquote{color:#3c4046 !important;border-left-color:rgba(255,94,0,.55) !important}
body.single-job_listing body.fsx section.fx-band hr{border-color:rgba(20,16,10,.14) !important}
body.single-job_listing body.fsx section.fx-band table,body.single-job_listing body.fsx section.fx-band th,body.single-job_listing body.fsx section.fx-band td{border-color:rgba(20,16,10,.14) !important}
body.single-job_listing body.fsx section.fx-band th{color:#14161A !important}
body.single-job_listing body.fsx section.fx-band td{color:#3c4046 !important}
body.single-job_listing body.fsx section.fx-band .fx-applybox > h3{color:#14161A !important}
body.single-job_listing body.fsx section.fx-band .fx-applybox .form-wrapper h1,body.single-job_listing body.fsx section.fx-band .fx-applybox .form-wrapper h2,body.single-job_listing body.fsx section.fx-band .fx-applybox .form-wrapper h3,body.single-job_listing body.fsx section.fx-band .fx-applybox .form-wrapper h4{color:#ffffff !important}
body.single-job_listing body.fsx section.fx-band .fx-applybox .form-wrapper p{color:var(--ash) !important}
body.single-job_listing body.fsx section.fx-band .fx-applybox .form-wrapper ul,body.single-job_listing body.fsx section.fx-band .fx-applybox .form-wrapper ol,body.single-job_listing body.fsx section.fx-band .fx-applybox .form-wrapper li{color:var(--ash) !important}
body.single-job_listing body.fsx section.fx-band .fx-applybox .form-wrapper strong,body.single-job_listing body.fsx section.fx-band .fx-applybox .form-wrapper b{color:#ffffff !important}
body.single-job_listing body.fsx section.fx-band .fx-applybox .form-wrapper a:not(.btn){color:var(--molten) !important}
body.fsx .jobhero .jmwrap{margin-bottom:2rem}
body.fsx .jobhero .jobmeta{margin-bottom:0}
body.fsx .jobhero .jobref{color:#fff;font-family:"Archivo",sans-serif;font-weight:600;font-size:.95rem;letter-spacing:.02em;margin-top:.55rem}
body.fsx .job-data-highlights{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 2rem;list-style:none;padding:0;margin:0 0 1.6rem}
body.fsx .job-data-highlights li{display:inline-flex;align-items:center;gap:.55rem;margin:0;padding:0}
body.fsx .job-data-highlights i.icon{display:none}
body.fsx .job-data-highlights li::before{content:"";display:inline-block;width:19px;height:19px;flex:0 0 auto;background-repeat:no-repeat;background-position:center;background-size:contain}
body.fsx .job-data-highlights li:not(:has(i.icon))::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23FF5E00'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M18%206.5A6.5%206.5%200%201%200%2018%2017.5'%2F%3E%3Cpath%20d%3D'M4%2010.5h9'%2F%3E%3Cpath%20d%3D'M4%2013.5h7'%2F%3E%3C%2Fsvg%3E")}
body.fsx .job-data-highlights li:has(i.icon.location)::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23FF5E00'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%2021c4-4.5%207-8%207-11a7%207%200%200%200-14%200c0%203%203%206.5%207%2011z'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'10'%20r%3D'2.5'%2F%3E%3C%2Fsvg%3E")}
body.fsx .job-data-highlights li:has(i.icon.type)::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23FF5E00'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'9'%2F%3E%3Cpath%20d%3D'M12%207.5V12l3%201.8'%2F%3E%3C%2Fsvg%3E")}
@media(max-width:600px){body.fsx .job-data-highlights{flex-direction:column;align-items:flex-start;gap:.7rem}body.fsx .jobshare{gap:1rem 1.2rem}body.fsx .jobshare>span{flex:0 0 100%;width:100%}}
@media (max-width:900px){body.fsx .lj-layout>*{min-width:0}body.fsx .lj-main,body.fsx .lj-refine,body.fsx .lj-list,body.fsx .lj-row{min-width:0;max-width:100%}body.fsx .fx-split>*{min-width:0}body.fsx .ccar,body.fsx .cviewport,body.fsx .ctrack{min-width:0;max-width:100%}}
@media (max-width:900px){body.fsx #ham{position:relative}body.fsx #ham::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px}body.fsx .reg{min-height:44px;font-size:13.5px}body.fsx .foot .top a{padding:6px 0}body.fsx .fsoc a{position:relative}body.fsx .fsoc a::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px}body.fsx summary{min-height:44px}body.fsx .fxproc-num{position:relative}body.fsx .fxproc-num::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px}body.fsx .cdots,body.fsx .tmdots{gap:16px}body.fsx .cdots button,body.fsx .tmdots button{position:relative}body.fsx .cdots button::after,body.fsx .tmdots button::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:44px}body.fsx .tcic,body.fsx .fx-sh,body.fsx .tcmore,body.fsx .tmmore{position:relative}body.fsx .tcic::after,body.fsx .fx-sh::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px}body.fsx .tcmore::after,body.fsx .tmmore::after{content:"";position:absolute;top:50%;left:0;transform:translateY(-50%);width:100%;height:44px}body.fsx .foot h4{font-size:13.5px}body.fsx label{font-size:14px}body.fsx .go{font-size:13.5px}body.fsx .fx-share-lbl{font-size:13px}}
@media (max-width:900px){body.fsx .reg{font-size:13.5px !important}body.fsx .go{font-size:13.5px !important}body.fsx label{font-size:14px !important}body.fsx .fx-share-lbl{font-size:13px !important}body.fsx .foot h4{font-size:13.5px !important}body.fsx .cdots,body.fsx .tmdots{gap:16px !important}}
@media (max-width:900px){body.fsx .tcic::after{width:38px !important}body.fsx .cdots button::after,body.fsx .tmdots button::after{width:26px !important}}

/* ===== Elementor 4 atomic-element bridge =====
   Elementor 4.1 renders sections as <div class="e-atomic-element ...">, not <section>, and
   defaults them to display:flex/row. The design system targets section.* and assumes normal
   block flow for its outer wrappers. These rules re-attach the design to atomic markup.
   Classes whose display IS defined by the design (.fx-media-split grid, .sec-head flex,
   .sec-grid grid) are deliberately NOT listed here so their own rules keep winning. */
body.fsx .e-atomic-element.fx-band--light{background:#e1dcd5 !important;border-top:1px solid rgba(20,16,10,.10) !important;border-bottom:1px solid rgba(20,16,10,.10) !important}
body.fsx .e-atomic-element.fx-band--steel{background:var(--forge-steel) !important;border-top:1px solid var(--hairline) !important;border-bottom:1px solid var(--hairline) !important}
body.fsx .e-atomic-element.fx-phero,
body.fsx .e-atomic-element.fx-band,
body.fsx .e-atomic-element.jobs,
body.fsx .e-atomic-element.sectors,
body.fsx .e-atomic-element.clients,
body.fsx .e-atomic-element.intro,
body.fsx .e-atomic-element.cta,
body.fsx .e-atomic-element.fx-col,
body.fsx .e-atomic-element.wrap{display:block}


/* Scroll-reveal must never leave content invisible if the JS does not run.
   Default = visible; the hidden start state applies only once JS marks itself present. */
body.fsx .rv{opacity:1;transform:none}
html.fsx-js body.fsx .rv:not(.in){opacity:0;transform:translateY(38px)}


/* ===== Elementor 4 bridge, part 2: match the IE reference exactly =====
   Measured IE-vs-UK diffs, each traced to an Elementor 4 default beating the design system. */

/* 1. Section backgrounds. The design writes these as section.X, which never matches an
      atomic <div>. Mirrors of rules 12-26 in style.css. */
body.fsx .e-atomic-element.sectors{background:#767c7f !important}
body.fsx .e-atomic-element.jobs:has(.fjnav){background:#e1dcd5 !important}
body.fsx .e-atomic-element.jobs:has(.fjnav) h2{color:#14161A !important}
body.fsx .e-atomic-element.jobs:has(.fjnav) a.job{background:#eee9e2 !important;border-color:rgba(20,16,10,.10) !important}
body.fsx .e-atomic-element.jobs:has(.fjnav) a.job h3{color:#14161A !important}
body.fsx .e-atomic-element.jobs:has(.fjnav) a.job .meta,
body.fsx .e-atomic-element.jobs:has(.fjnav) a.job .meta *{color:#5f6368 !important}
body.fsx .e-atomic-element.jobs:has(.fjnav) .fjnav{background:#ff5e00 !important;color:#fff !important;border-color:transparent !important}

/* 2. Elementor binds .elementor-heading-title to the Kit primary colour, turning every
      heading molten orange. IE lets headings inherit from their band. Explicit design
      rules such as .fx-band--light h2 use !important and still win over this. */
body.fsx .elementor-widget-heading .elementor-heading-title{color:inherit}

/* 3. Elementor caps widgets at max-width:100%, which defeats the lead measure. */
body.fsx .lead{max-width:60ch !important}

/* 4. .elementor .e-flexbox-base adds padding:10px to every atomic element. Classes that
      define their own padding (.fx-band, .wrap, .fx-phero) already beat it; these do not. */
body.fsx .e-atomic-element.fx-media-split,
body.fsx .e-atomic-element.fx-col,
body.fsx .e-atomic-element.fx-img,
body.fsx .e-atomic-element.sec-head{padding:0}


/* UK has 6 sectors, not IE's 8 - CPL asked for a 3-column grid. */
body.fsx .sec-grid{grid-template-columns:repeat(3,1fr) !important}
@media (max-width:900px){ body.fsx .sec-grid{grid-template-columns:repeat(2,1fr) !important} }
@media (max-width:640px){ body.fsx .sec-grid{grid-template-columns:1fr !important} }


/* ===== Elementor Button widget -> Molten Forge pill =====
   The widget renders <a class="elementor-button"> inside a wrapper div, so a _css_classes
   value of "btn" lands on the WRAPPER and never on the anchor. Style the anchor directly so
   every Button widget is correct by default, and stop the wrapper inheriting the pill. */
body.fsx .elementor-widget-button .elementor-button{
  font-family:"Archivo",sans-serif;font-weight:800;font-size:.82rem;letter-spacing:.12em;
  text-transform:uppercase;display:inline-flex;align-items:center;gap:.7em;
  padding:1.05em 1.9em;border-radius:100px;background:var(--heat);color:#140a03;
  border:0;box-shadow:0 10px 30px -12px rgba(255,94,0,.6);
  transition:transform .3s ease,box-shadow .3s ease}
body.fsx .elementor-widget-button .elementor-button:hover{
  transform:translateY(-3px);box-shadow:0 18px 44px -12px rgba(255,94,0,.75);color:#140a03}
body.fsx .elementor-widget-button.btn{
  background:none !important;padding:0 !important;border-radius:0 !important;
  box-shadow:none !important;width:auto !important;flex:0 0 auto}
body.fsx .elementor-widget-button.btn--ghost .elementor-button{
  background:transparent;color:var(--white);border:1.5px solid var(--forge-graphite);box-shadow:none}

/* IE buttons carry a trailing arrow (span.arw) and inherit a taller line-height.
   Elementor's button has neither, giving w144 h41 against IE's w168 h47. */
body.fsx .elementor-widget-button .elementor-button{line-height:1.5}
body.fsx .elementor-widget-button .elementor-button-text::after{
  content:"→";margin-left:.7em;display:inline-block;transition:transform .3s ease}
body.fsx .elementor-widget-button .elementor-button:hover .elementor-button-text::after{
  transform:translateX(4px)}

/* The pill + arrow above are for PAGE buttons. The header has its own treatment:
   .reg is a 44px circular email button, and header buttons take no arrow. */
body.fsx header .elementor-widget-button .elementor-button-text::after{content:none}
body.fsx header .elementor-widget-button.reg .elementor-button{
  width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;
  display:grid;place-items:center;font-size:0;line-height:1}


/* ===== Elementor 4 bridge, part 3 - Theme Builder chrome (Header 209 / Footer 339) 2026-07-26 =====
   Header and footer are Elementor Theme Builder templates, so their markup is Elementor's widget markup,
   not the hand-coded markup the Molten Forge stylesheet was written against. These rules map Elementor's
   markup onto the identical visual result measured on flexsourceidev. No copy is changed here. */

/* ---------- HEADER 209 ---------- */
body.fsx header .nav{
  background:rgba(10,11,13,.72) !important;
  -webkit-backdrop-filter:saturate(140%) blur(14px);
  backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:0 !important;min-height:0 !important}
body.fsx header .nav>.wrap{padding:0 48px !important;margin:0 auto !important;min-height:0 !important}
body.fsx header .nav .wrap>div{gap:0 !important;max-width:none !important;padding:0 !important}

body.fsx header .brand{width:auto !important;flex:0 0 auto !important;padding:0 !important}
body.fsx header .brand img{height:40px !important;width:auto !important;max-width:none !important}

body.fsx header .desknav .elementor-nav-menu>li>a.elementor-item{
  font-family:Lato,sans-serif !important;font-size:16px !important;font-weight:600 !important;
  line-height:27.2px !important;color:#9AA0A6 !important;text-transform:none !important;
  letter-spacing:normal !important;background:transparent !important;
  padding:0 !important;margin:0 14.4px !important}
body.fsx header .desknav .elementor-nav-menu>li>a.elementor-item:hover,
body.fsx header .desknav .elementor-nav-menu>li>a.elementor-item.elementor-item-active,
body.fsx header .desknav .elementor-nav-menu>li>a.highlighted{color:#fff !important}
body.fsx header .desknav .sub-arrow{color:#9AA0A6 !important;padding:0 0 0 6px !important;margin:0 !important}
body.fsx header .desknav .sub-arrow i,body.fsx header .desknav .sub-arrow svg{font-size:10px !important;width:10px !important;height:10px !important;fill:currentColor !important}

body.fsx header .desknav .sub-menu{
  background:#131519 !important;border:1px solid rgba(255,255,255,.08) !important;
  border-radius:12px !important;padding:6.4px !important;margin-top:8px !important;
  box-shadow:0 24px 60px rgba(0,0,0,.55) !important}
body.fsx header .desknav .sub-menu li>a.elementor-sub-item{
  font-family:Lato,sans-serif !important;font-size:15.2px !important;font-weight:600 !important;
  line-height:25.84px !important;color:#9AA0A6 !important;text-transform:none !important;
  background:transparent !important;border:0 !important;border-radius:8px !important;
  padding:8.8px 14.4px !important}
body.fsx header .desknav .sub-menu li>a.elementor-sub-item:hover,
body.fsx header .desknav .sub-menu li>a.elementor-sub-item.elementor-item-active{
  color:#fff !important;background:rgba(255,255,255,.06) !important}

/* IE has ONE header control: the Register pill, 119x33, Archivo 800 on molten. */
body.fsx header .elementor-widget-button .elementor-button{
  background:#FF5E00 !important;background-image:none !important;color:#0A0B0D !important;
  font-family:Archivo,sans-serif !important;font-size:12.8px !important;font-weight:800 !important;
  line-height:12.8px !important;letter-spacing:.768px !important;text-transform:uppercase !important;
  padding:9.92px 21.6px !important;border-radius:999px !important;border:0 !important;
  width:auto !important;height:auto !important;min-height:0 !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  box-shadow:0 10px 26px rgba(255,94,0,.32) !important}
body.fsx header .elementor-widget-button .elementor-button:hover{background:#FF8A1E !important;color:#0A0B0D !important}
body.fsx header .elementor-widget-button .elementor-button-content-wrapper{gap:0 !important}
body.fsx header .elementor-widget-button .elementor-button-text{font-size:inherit !important;line-height:inherit !important;color:inherit !important}

/* ---------- FOOTER 339 ---------- */
body.fsx footer .foot{background:#0A0B0D;padding:70px 0 30px;border-top:1px solid rgba(255,255,255,.08);display:block}
body.fsx .foot .wrap{max-width:1240px;margin:0 auto;padding:0 48px;display:block}
body.fsx .foot .top{display:grid !important;grid-template-columns:1.4fr 1fr 1fr 1.3fr !important;gap:2rem !important;padding:0 !important}
body.fsx .foot .fx-col{display:block !important;padding:0 !important}
body.fsx .foot .fline{display:flex !important;align-items:center;gap:8px;padding:0 !important}
body.fsx .foot .fline p{margin:0}

body.fsx .foot h4.elementor-heading-title,body.fsx .foot .elementor-widget-heading h4{
  font-family:Archivo,sans-serif !important;font-weight:800 !important;font-size:13.5px !important;
  letter-spacing:.14em !important;text-transform:uppercase !important;color:#fff !important;
  margin:0 0 1.2rem !important;line-height:1.2 !important}
body.fsx .foot .elementor-widget-heading,body.fsx .foot .elementor-widget-text-editor,
body.fsx .foot .elementor-widget-icon-list,body.fsx .foot .elementor-widget-social-icons,
body.fsx .foot .elementor-widget-image{margin:0}

body.fsx .foot .elementor-widget-text-editor,body.fsx .foot .elementor-widget-text-editor p{
  font-family:Lato,sans-serif !important;font-size:16px !important;font-weight:400 !important;
  line-height:27.2px !important;color:#9AA0A6 !important;margin:0}
body.fsx .foot .elementor-widget-text-editor a{
  color:#9AA0A6 !important;text-decoration:none !important;
  font-family:Lato,sans-serif !important;font-size:16px !important}
body.fsx .foot .elementor-widget-text-editor a:hover{color:#FF5E00 !important}

body.fsx .foot .elementor-icon-list-items{margin:0;padding:0;list-style:none}
body.fsx .foot .elementor-icon-list-item{margin:0 0 .6rem !important;padding:0 !important}
body.fsx .foot .elementor-icon-list-item>a{
  font-family:Lato,sans-serif !important;font-size:16px !important;font-weight:400 !important;
  line-height:27.2px !important;color:#9AA0A6 !important;padding:0 !important;
  text-transform:none !important;display:block !important}
body.fsx .foot .elementor-icon-list-item>a:hover{color:#FF5E00 !important}
body.fsx .foot .elementor-icon-list-icon{display:none !important}

body.fsx .foot .brand{margin-bottom:1rem}
body.fsx .foot .brand img{height:34px !important;width:auto !important;max-width:none !important}
body.fsx .foot .fx-col>.elementor-widget-text-editor p{max-width:320px}

body.fsx .foot .fsoc .elementor-grid{display:flex !important;gap:.85rem !important;margin:0 !important;grid-column-gap:.85rem !important}
body.fsx .foot .fsoc .elementor-grid-item{margin:0 !important;width:auto !important}
body.fsx .foot .fsoc a.elementor-social-icon{
  width:38px !important;height:38px !important;background:transparent !important;
  border:1px solid rgba(255,255,255,.08) !important;border-radius:50% !important;
  color:#9AA0A6 !important;font-size:16px !important;padding:0 !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important}
body.fsx .foot .fsoc a.elementor-social-icon svg,body.fsx .foot .fsoc a.elementor-social-icon i{
  width:16px !important;height:16px !important;font-size:16px !important;fill:currentColor !important;color:inherit !important}
body.fsx .foot .fsoc a.elementor-social-icon:hover{border-color:#FF5E00 !important;color:#FF5E00 !important}

body.fsx .foot .bar{
  display:flex !important;justify-content:space-between !important;align-items:center;
  gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.08);
  margin-top:3rem !important;padding:1.5rem 0 0 !important}
body.fsx .foot .barlinks{display:flex !important;flex-wrap:wrap;align-items:center;gap:0;padding:0 !important}
body.fsx .foot .barlinks>*{display:inline-flex !important;align-items:center;margin:0 !important;width:auto !important}
body.fsx .foot .barlinks>* p{display:inline !important;margin:0}
body.fsx .foot .barlinks>*+*::before{content:"\00b7";color:#9AA0A6;margin:0 .55rem;display:inline-block}
body.fsx .foot .bar,body.fsx .foot .bar p,body.fsx .foot .bar a,
body.fsx .foot .bar .elementor-widget-text-editor,body.fsx .foot .bar .elementor-widget-text-editor p,
body.fsx .foot .bar .elementor-widget-text-editor a{font-size:13.6px !important;line-height:23.12px !important}

/* ---------- PAGE-LEVEL FIXES FOUND BY THE IE DIFF ---------- */
/* Decor wrappers must not become the containing block, or .grid-bg (inset:0) collapses to zero height. */
body.fsx .fx-phero>div:has(>.grid-bg),body.fsx .fx-phero>div:has(>.glow),
body.fsx .cta>div:has(>.glow2){position:static !important}
/* Eyebrow words sit in a <p> inside the Elementor widget, which reset colour and tracking. */
body.fsx .eyebrow p{color:inherit !important;font:inherit !important;letter-spacing:inherit !important;
  text-transform:inherit !important;margin:0}
/* IE's hero lead is Lato 300, not 400. */
body.fsx .lead,body.fsx .lead p{font-weight:300 !important}
body.fsx .fx-img{display:block !important}
/* ===== end bridge part 3 ===== */


/* ===== bridge part 3b - corrections from the second IE measurement pass, 2026-07-26 ===== */

/* Hero/CTA depth layers: .grid-bg is inset:0, but its containing block is the shortcode WIDGET
   (two levels up), which is position:relative and zero-height, so the layer collapsed. */
body.fsx .elementor-widget-shortcode:has(.grid-bg),
body.fsx .elementor-widget-shortcode:has(.glow),
body.fsx .elementor-widget-shortcode:has(.glow2){position:static !important}

/* Elementor's responsive-visibility classes are specificity (0,1,0) and were losing to the design
   system's .reg/.btn display rules, so BOTH header buttons rendered. IE has one. Re-declare them at
   Elementor's own breakpoints (viewport_md 768 / viewport_lg 1025) so they win. */
@media (min-width:1025px){body.fsx .elementor-hidden-desktop{display:none !important}}
@media (min-width:768px) and (max-width:1024px){body.fsx .elementor-hidden-tablet{display:none !important}}
@media (max-width:767px){body.fsx .elementor-hidden-mobile{display:none !important}}

body.fsx header .nav>.wrap{flex-direction:row !important}

/* Footer h4 measures 12.8px / 1.792px tracking on IE desktop. */
body.fsx .foot h4.elementor-heading-title,body.fsx .foot .elementor-widget-heading h4{
  font-size:12.8px !important;letter-spacing:1.792px !important;line-height:15.36px !important}

/* Icon-list labels sit in a span that was inheriting the theme's dark ink on a black footer. */
body.fsx .foot .elementor-icon-list-text{color:inherit !important;font:inherit !important;
  letter-spacing:inherit !important;text-transform:none !important}
/* One 9.6px gap per row, not two: the li AND the a both carried a bottom margin. */
body.fsx .foot .elementor-icon-list-item{margin:0 !important}
body.fsx .foot .fline a,body.fsx .foot .swordflex a,body.fsx .foot .fline .elementor-widget{margin:0 !important}
body.fsx .foot .fline .elementor-widget-text-editor{width:auto !important}

/* Footer brand: IE is a 34px block logo, not a 44px inline-flex box. */
body.fsx .foot .brand{display:block !important;width:auto !important;padding:0 !important;line-height:0 !important}

/* Sign-off links were claiming the whole row and pushing the bar to two lines. */
body.fsx .foot .barlinks{width:auto !important;flex:0 1 auto !important}
/* ===== end bridge part 3b ===== */


/* ===== bridge part 3c - third IE measurement pass, 2026-07-26 ===== */
/* IE distributes brand | nav | Register across the full 1144 content box, so the Register pill is
   flush with the right edge at x1285. Elementor left-packed them, leaving the pill 22px short. */
body.fsx header .nav .wrap>div{justify-content:space-between !important}
body.fsx header .desknav{flex:1 1 auto !important}
body.fsx header .desknav .sub-menu{margin-top:8px !important}

/* IE's footer social row is left-aligned; Elementor's grid centres it, indenting the first icon 15px. */
body.fsx .foot .fsoc .elementor-grid{justify-content:flex-start !important}
body.fsx .foot .fsoc{margin:8px 0 0 !important;font-size:16px !important;line-height:27.2px !important}

/* Sign-off links: .foot a makes them display:block with a bottom margin, which pushed the bar to 58px
   and widened the group. IE renders them inline with a thin dot separator. */
body.fsx .foot .barlinks a{display:inline !important;margin:0 !important}
body.fsx .foot .barlinks>*{white-space:nowrap}
body.fsx .foot .barlinks>*+*::before{margin:0 4px !important}
body.fsx .foot .bar{align-items:normal !important}
/* ===== end bridge part 3c ===== */


/* ===== bridge part 3d - fourth IE measurement pass, 2026-07-26 ===== */
/* Elementor gives every widget a 20px flex gap, which was landing between the dot separator and the
   link, making the sign-off group 464px against IE's 396px. IE's separator costs exactly 9px. */
body.fsx .foot .barlinks>*{gap:0 !important}
body.fsx .foot .barlinks>*+*::before{margin:0 2.5px !important}
body.fsx .foot .barlinks a{margin:0 0 9.6px !important}

/* IE's dropdown panel sits flush under the nav item; Elementor offsets it 3px with !important. */
body.fsx header .desknav nav.elementor-nav-menu--main ul.elementor-nav-menu li.menu-item-has-children>ul.sub-menu,
body.fsx header .desknav ul.elementor-nav-menu ul.sub-menu{margin-top:0 !important}
/* ===== end bridge part 3d ===== */


/* ===== bridge part 3e - Header 209 converted to atomic e-flexbox, 2026-07-26 =====
   Legacy `container` + _css_classes renders the class ONLY until the document is next saved through
   Elementor 4's pipeline; after that the class is silently dropped. Saving header 209 reproduced this
   exactly (the footer had already hit it). Both are now atomic e-flexbox, which renders literal classes
   permanently. Elementor Pro's sticky effect also cloned the entire header into a spacer element - IE
   has a single header pinned with position:sticky, so that is what we use now. */
body.fsx header.elementor-location-header{position:sticky;top:0;z-index:1000}
body.fsx header .nav{display:block !important;position:relative !important;padding:0 !important}
body.fsx header .nav>.wrap{display:flex !important;flex-direction:row !important;
  align-items:center !important;justify-content:space-between !important;
  max-width:1240px !important;margin:0 auto !important;padding:0 48px !important}
/* ===== end bridge part 3e ===== */


/* ===== bridge part 3f, 2026-07-26 =====
   IE's sign-off links are inline, so their 9.6px bottom margin never affects layout. On UK one link
   rendered as a block and the margin pushed the whole bar from 48px to 58px. Zero it. */
body.fsx .foot .barlinks a{display:inline !important;margin:0 !important}
body.fsx .foot .barlinks>*{align-items:center !important}
/* ===== end bridge part 3f ===== */


/* ===== bridge part 3g, 2026-07-26 - final 1px: IE's sign-off separator costs exactly 9px. ===== */
body.fsx .foot .barlinks>*+*::before{margin:0 2.67px !important}


/* ===== bridge part 3h, 2026-07-26 - legal/prose pages =====
   Elementor's .e-con > .elementor-widget{max-width:100%} beats .fx-prose{max-width}, so full-width
   prose ran to 1144px against IE's 742.4px measure. Same trap the hero .lead hit. */
body.fsx .fx-band>.wrap>.fx-prose{max-width:742.4px !important}


/* ===== bridge part 3i, 2026-07-26 - services hub (zigzag + ghost buttons + fx-split) =====
   IE's services intro prose is 686.72px, not the 742.4px legal pages use, so part 3h is re-scoped here. */
body.fsx.page-id-477 .fx-band>.wrap>.fx-prose{max-width:686.72px !important}
body.fsx .fx-zz-text{display:flex !important;flex-direction:column !important;align-items:flex-start !important;padding:0 !important}
body.fsx .fx-zz-media{display:block !important;padding:0 !important}
body.fsx .fx-split{display:grid !important;padding:0 !important}
/* Ghost CTA: outline on the light band, not the filled molten pill. */
body.fsx .btn--ghost .elementor-button{
  background:transparent !important;background-image:none !important;
  border:1px solid rgba(20,16,10,.28) !important;color:#14161A !important;
  box-shadow:none !important}
body.fsx .btn--ghost .elementor-button:hover{
  border-color:#FF5E00 !important;color:#FF5E00 !important;background:transparent !important}
body.fsx .fx-zz-cta{margin-top:2rem !important;width:auto !important}


/* ===== bridge part 3j, 2026-07-26 - sitemap =====
   IE's sitemap CSS is keyed to the element id #fsx-sitemap. Elementor builds by class, so the same
   rules are re-declared class-side here. */
body.fsx .sm-sec .sm-wrap{max-width:var(--maxw);margin-left:auto;margin-right:auto;
  padding-left:clamp(20px,5vw,48px);padding-right:clamp(20px,5vw,48px);box-sizing:border-box;display:block}
body.fsx .sm-sec .sm-title{font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.02em;
  font-weight:400;font-size:clamp(2.6rem,6vw,4.6rem);color:#fff;margin:0 0 2.2rem;line-height:1.02}
body.fsx .sm-sec .sm-links{columns:2;column-gap:3.5rem;max-width:840px}
body.fsx .sm-sec .sm-links p{margin:0 0 1.05rem;break-inside:avoid}
body.fsx .sm-sec .sm-links a{color:#fff;text-decoration:none}
body.fsx .sm-sec .sm-links a:hover{color:#FF5E00}
@media (max-width:760px){body.fsx .sm-sec .sm-links{columns:1}}


/* ===== bridge part 3k, 2026-07-26 - sitemap corrections ===== */
body.fsx .sm-sec{padding-left:0 !important;padding-right:0 !important}
body.fsx .sm-sec .sm-links{max-width:840px !important}


/* ===== bridge part 3l, 2026-07-26 - homepage components as Elementor templates =====
   Atomic e-flexbox defaults to display:flex/row, which squeezed the hero, gauge and clients grids.
   Restore the display the design system assumes. */
body.fsx .hero,body.fsx .hero-inner,body.fsx .conveyor,body.fsx .gauge,body.fsx .clients,
body.fsx .ctx,body.fsx .intro,body.fsx .services{display:block !important}
body.fsx .gauge>.wrap>.grid,body.fsx .clients>.wrap>.grid{display:grid !important}
/* Decor layers are absolutely positioned against the section; the Template widget wrapper must not
   become their containing block (same trap the shortcode widgets hit). */
body.fsx .elementor-widget-template:has(.grid-bg),
body.fsx .elementor-widget-template:has(.ring),
body.fsx .elementor-widget-template:has(.hero-photo),
body.fsx .elementor-widget-template:has(.scroll-cue){position:static !important}
body.fsx .hero{position:relative !important}
/* The Template widget must not constrain the width of what it renders. */
body.fsx .elementor-widget-template{max-width:none !important}
body.fsx .hero-inner .elementor-widget-template,body.fsx .hero-inner form.search{width:100% !important}


/* ===== bridge part 3m, 2026-07-26 - hero decor + search inside Template widgets =====
   The decor layers (.grid-bg/.hero-photo inset:0) were resolving against the zero-height Template
   widget chain: FIVE nested wrappers, several position:relative or transformed. Neutralise the
   whole chain so the section is the containing block. */
body.fsx .hero .elementor-widget-template,
body.fsx .hero .elementor-widget-template .elementor-widget-container,
body.fsx .hero .elementor-widget-template .elementor-template,
body.fsx .hero .elementor-widget-template .elementor,
body.fsx .hero .elementor-widget-template .elementor>.elementor-element{position:static !important;transform:none !important}
/* The search form's inline SVG has no intrinsic size without width/height attributes; IE fixes it
   at 20x20. Without this it eats the whole flex row (604px) and crushes the input to 0. */
body.fsx form.search svg{width:20px !important;height:20px !important;flex:0 0 auto !important}
body.fsx form.search{width:640px !important;max-width:100% !important}
/* IE hero geometry: wrap block, inner max 920, sub max 651.456px */
body.fsx .hero .wrap{display:block !important}
body.fsx .hero .sub,body.fsx .hero .sub p{max-width:651.456px !important}
body.fsx .hero .eyebrow{display:inline-flex !important;width:auto !important}


/* ===== bridge part 3n, 2026-07-26 - homepage geometry to the pixel =====
   Every remaining delta was .e-flexbox-base{padding:10px} on boxes the design leaves unpadded,
   plus part 3l's width:100% on form.search outspecifying part 3m's 640px. */
body.fsx .hero-inner,body.fsx .gauge>.wrap>.grid,body.fsx .clients>.wrap>.grid,
body.fsx .ctx,body.fsx .hero,body.fsx .conveyor,body.fsx .gauge,body.fsx .clients{padding-left:0;padding-right:0}
body.fsx .hero-inner{padding:0 !important}
body.fsx .gauge>.wrap>.grid,body.fsx .clients>.wrap>.grid,body.fsx .ctx{padding:0 !important}
body.fsx .hero-inner form.search{width:640px !important}


/* ===== bridge part 3o, 2026-07-26 - homepage intro/gauge/clients text rhythm ===== */
body.fsx .intro>.wrap>.grid{padding:0 !important}
body.fsx .intro .body{padding:0 !important}
/* IE sets these as inline styles on its <p> tags; the widgets need the same rhythm. */
body.fsx .ctx .elementor-widget-text-editor+.elementor-widget-text-editor{margin-top:1rem !important}
body.fsx .clients .fx-col .elementor-widget-text-editor+.elementor-widget-text-editor{margin-top:1.2rem !important}
body.fsx .services>.wrap{display:block !important}
body.fsx .services>.wrap>.elementor-widget-text-editor.lead{margin-bottom:2.5rem !important}


/* ===== bridge part 3p, 2026-07-26 - About Us fixes measured against IE =====
   .fx-dei-split picked up Elementor's 10px e-flexbox-base padding, which shrank both DEI columns.
   .fx-prose after an h2 in .fx-split needs IE's 28.8px top margin (IE sets it inline).
   .fx-white h3 is 28px Anton on IE, not the 50px the generic h3 rule gave.
   .fx-dl is molten #FF5E00; UK was resolving the AA-rust fallback. */
body.fsx .fx-dei-split{padding:0 !important}
body.fsx .fx-split>.fx-prose{margin-top:28.8px !important}
body.fsx .fx-white h3{font-size:28px !important}
body.fsx .fx-dl{color:#FF5E00 !important}


/* ===== bridge part 3q, 2026-07-26 - About Us DEI column =====
   IE nests .fx-chips inside .fx-prose (chips margin-top 24px, prose margin-top 28.8px).
   Elementor renders them as siblings, so the same offsets are re-applied here.
   .fx-dl: body.fsx .fx-band--light .fx-dl forces the AA rust #C74A00, but IE renders molten inside
   the white DEI card, so a more specific rule restores it there only. */
body.fsx .fx-dei-split>*>.fx-prose{margin-top:28.8px !important}
body.fsx .fx-chips{margin-top:24px !important}
body.fsx .fx-band--light .fx-white .fx-dl{color:#FF5E00 !important}


/* ===== bridge part 3r, 2026-07-26 - Clients page =====
   .fx-clients-copy is an atomic element, so it defaulted to flex-row and put the heading beside the
   prose instead of above it. IE stacks them. */
body.fsx .fx-clients-copy{display:block !important;padding:0 !important}


/* ===== bridge part 3s, 2026-07-26 - Clients: prose under the Our Clients heading =====
   IE sets .fx-clients-copy .fx-prose margin-top:28.8px (both prose blocks measure 239px, so this
   28.8px is the whole 345 vs 316 difference). */
body.fsx .fx-clients-copy .fx-prose{margin-top:28.8px !important}


/* bridge part 3t, 2026-07-26 - section-head buttons. Elementor button widgets default to full width,
   so a CTA in .sec-head wrapped onto its own row (139px vs IE 60px). IE keeps them on one line. */
body.fsx .sec-head>.elementor-widget-button{width:auto !important;flex:0 0 auto !important}
body.fsx .sec-head>.e-con{flex:1 1 auto !important}


/* bridge part 3u, 2026-07-26 - .sec-head heading column must not claim width:100%,
   or the CTA wraps to a second row. IE's first child is an auto-width div. */
body.fsx .sec-head>.e-con{width:auto !important;min-width:0 !important}


/* ===== bridge part 3v, 2026-07-26 - About Us defects reported by CPL =====
   1. History band carries fx-band--steel AND fx-band--light (identical classes to IE), but on UK
      the --steel rule wins the cascade and the band renders near-black; IE renders cream. Matching
      the exact two-class combination outranks both single-class rules without !important, and
      cannot touch a band that carries only one of them. */
body.fsx .fx-band--steel.fx-band--light{background:#e1dcd5}

/* 2. Eyebrow -> prose gap inside a media split. IE carries an inline style="margin-top:1.2rem" on
      these .fx-prose blocks (hand-coded markup). Native Elementor widgets have no inline style, so
      History and Worldclass Workforce had the paragraph hard against the eyebrow. */
body.fsx .fx-media-split .eyebrow+.fx-prose{margin-top:19.2px}

/* 3. Ghost button. Part 3i made the LIGHT-band variant global with !important, so every ghost
      button rendered dark ink + dark hairline, including on the dark bands where IE is white.
      IE's default ghost = white text, transparent fill, graphite hairline. Light bands override. */
body.fsx .btn--ghost .elementor-button{
  background:transparent !important;
  border:1.5px solid var(--forge-graphite) !important;
  color:var(--white) !important;
  box-shadow:none !important}
body.fsx .btn--ghost .elementor-button:hover{
  border-color:var(--molten) !important;
  color:var(--molten) !important;
  background:transparent !important}
body.fsx .fx-band--light .btn--ghost .elementor-button,
body.fsx .fx-band--light a.btn--ghost{
  color:#14161A !important;
  border-color:rgba(20,16,10,.28) !important}
body.fsx .fx-band--light .btn--ghost .elementor-button:hover{
  color:var(--molten) !important;
  border-color:var(--molten) !important}


/* ===== bridge part 3w, 2026-07-26 =====
   1. The 3v two-class rule was outranked: an earlier block declares
      body.fsx .e-atomic-element.fx-band--light{...!important} and then
      body.fsx .e-atomic-element.fx-band--steel{...!important} - same specificity, steel later,
      so steel won on the History band which carries both. Adding .e-atomic-element to the
      two-class selector puts it above both and settles it for good. */
body.fsx .e-atomic-element.fx-band--steel.fx-band--light{background:#e1dcd5 !important}

/* 2. Section-head eyebrow -> heading gap. IE carries an inline margin-top:1rem on the h2 that
      follows an eyebrow inside .sec-head. Native heading widgets have no inline style. */
body.fsx .sec-head .eyebrow+.elementor-widget-heading{margin-top:16px}


/* ===== bridge part 3x, 2026-07-26 - About Us, gate round 2 =====
   .lead carries a 40px bottom margin on IE; the native text-editor widget had none, which is
   the whole -40px that sections 4 and 6 were running short by. */
/* superseded by the .sec-head+.lead rule in 3y - IE scopes this to leads that
   follow a section head; the hero lead has no bottom margin. */

/* Award cards were falling through to the darker default .fx-card fill with no hairline.
   IE uses the raised steel panel + a 1px white hairline, and an orange kicker. */
body.fsx .fx-award.fx-card{background:#181B20;border:1px solid rgba(255,255,255,.08)}
body.fsx .fx-award .k{color:var(--molten)}

/* Wide section heading utility. IE carries an inline max-width:24ch on the Vision & Values h2;
   the default sec-head heading caps at 632.5px, which wrapped UK to a 4th line. */
body.fsx .fx-h2-wide .elementor-heading-title,body.fsx h2.fx-h2-wide{max-width:24ch}


/* ===== bridge part 3y, 2026-07-26 =====
   The 3x .lead rule never landed: Elementor ships
   .e-con .elementor-widget.elementor-widget{margin-block-end:0} at (0,3,0), which outranks
   body.fsx .lead at (0,2,1). Any design-system spacing applied to a widget wrapper has to clear
   that bar - worth remembering for every future component. */
body.fsx .sec-head+.lead.elementor-widget{margin-bottom:40px !important}


/* ===== bridge part 3z, 2026-07-26 - the arrow on every button =====
   On IE every .btn carries a literal <span class="arw">-></span> in its markup, and .btn is
   display:flex with a 9.184px gap, so the arrow sits after the label. Elementor's button widget
   renders only a label span, so every natively-built button lost its arrow.
   Generating it with ::after keeps the label editable in the Elementor UI and needs no per-widget
   edit. Scoped to .elementor-button so the hand-written <a class="btn"> markup inside HTML/text
   widgets - which already ships its own .arw - does not get a second one. */
body.fsx .btn .elementor-button::after{content:"\2192";display:block;transition:transform .3s}
body.fsx .btn .elementor-button:hover::after{transform:translateX(4px)}


/* ===== bridge part 4a, 2026-07-26 =====
   1. THE DOUBLE BUTTON BOX. On IE .btn/.btn--ghost sit on the <a> itself. Natively they land on
      Elementor's widget WRAPPER, so every button was painting a second, square, un-rounded outline
      around the pill (wrapper 206x51 vs the real 204x49 button). The wrapper must be invisible;
      only the inner .elementor-button is the button. */
body.fsx .elementor-widget-button.btn,
body.fsx .elementor-widget-button.btn--ghost{
  background:none !important;border:0 !important;box-shadow:none !important;
  padding:0 !important;border-radius:0 !important}

/* 2. An eyebrow that ends up inside a prose <p> gets that paragraph's 29.92px line box instead of
      its own 21px height. IE puts the span directly in .fx-prose. Making the wrapping paragraph a
      flex container collapses it onto the eyebrow, matching IE. */
body.fsx .fx-prose>p:has(>.eyebrow:only-child){display:flex}


/* ===== bridge part 4b, 2026-07-26 =====
   IE ships "#fsx h2 + .fx-prose{margin-top:1.8rem}". Natively the h2 is wrapped in a heading
   widget, so .fx-prose's previous sibling is a DIV and that adjacent-sibling rule never matches -
   every heading sat hard against the prose beneath it. This is the native analogue.
   Same class of bug as the .eyebrow+.fx-prose gap in 3v: IE's element-name sibling selectors all
   need a widget-wrapper twin. */
body.fsx .elementor-widget-heading+.fx-prose{margin-top:28.8px}


/* ===== bridge part 4c, 2026-07-26 - sitemap =====
   .sm-title lands on the heading WIDGET, so the h1 inside kept Elementor's own 40px instead of
   IE's 73.6px Anton. Same wrapper-vs-element split as the buttons in 4a.
   .sm-wrap also had Elementor's default 10px flexbox padding rather than IE's 16/48/48. */
body.fsx .sm-title .elementor-heading-title{
  font-family:Anton,sans-serif;font-size:73.6px;font-weight:400;line-height:75.072px;
  letter-spacing:1.472px;text-transform:uppercase;color:#fff}
body.fsx .sm-wrap{padding:16px 48px 48px !important}


/* ===== bridge part 4d, 2026-07-26 - contact page + CF7 =====
   IE's contact form is hand-written <form class="fx-form">. UK keeps Contact Form 7 so submissions
   keep working, and the CF7 template was rewritten to emit IE's own scaffolding (.fx-form/.row/.chk).
   These rules cover the bits CF7 adds that IE's markup does not: the auto-<p> wrappers, the nested
   acceptance label, and CF7's rows-based textarea height. */
body.fsx .fx-contact{padding:0}
body.fsx .fx-form>p{margin:0}
body.fsx .fx-form textarea{height:120px}
body.fsx .fx-form .chk .wpcf7-form-control-wrap,
body.fsx .fx-form .chk .wpcf7-acceptance,
body.fsx .fx-form .chk .wpcf7-list-item{display:block;margin:0}
body.fsx .fx-form .chk label{
  display:flex;gap:9.6px;align-items:flex-start;margin:0;
  font-size:13.12px;line-height:19.68px;text-transform:none;letter-spacing:normal;font-weight:400}
body.fsx .fx-form .chk input[type=checkbox]{flex:0 0 auto;margin-top:3px}


/* ===== bridge part 4e, 2026-07-26 =====
   .chk is display:flex and CF7 nests the acceptance inside a <p>. A flex item defaults to
   min-width:auto, so that <p> refused to shrink below its one-line min-content width (800px inside
   a 481px box) and the consent text never wrapped. Same automatic-minimum trap as PLAN 3's mobile
   grid tracks. */
body.fsx .fx-form .chk>*{min-width:0;flex:1 1 auto}
body.fsx .fx-form .chk p{margin:0;width:100%}


/* ===== bridge part 4f, 2026-07-26 =====
   CF7 nests the acceptance five levels deep (p > .wpcf7-form-control-wrap > .wpcf7-acceptance >
   .wpcf7-list-item > label). Setting display:block on some of them was not enough - one level was
   still sizing to max-content, so the label stayed 800px inside a 481px box and never wrapped.
   Pin every level to the parent width. */
body.fsx .fx-form .chk p,
body.fsx .fx-form .chk .wpcf7-form-control-wrap,
body.fsx .fx-form .chk .wpcf7-acceptance,
body.fsx .fx-form .chk .wpcf7-list-item{display:block;width:100%;min-width:0;margin:0}
body.fsx .fx-form .chk label{display:flex;width:100%;min-width:0;gap:9.6px;align-items:flex-start;margin:0}
body.fsx .fx-form .chk label>span{min-width:0;flex:1 1 auto}


/* ===== bridge part 4g, 2026-07-26 - "Get in Touch" heading =====
   IE sets this h2 to Anton 44.8px/42.112 with a 24px gap to the form. Outside a .sec-head the
   native heading fell back to the Kit's 32px, and Elementor's widget-margin rule zeroed the gap. */
body.fsx .fx-contact .elementor-heading-title{
  font-family:Anton,sans-serif;font-size:44.8px;font-weight:400;line-height:42.112px;text-transform:uppercase}
body.fsx .fx-contact .elementor-widget-heading{margin-bottom:24px !important}


/* ===== bridge part 4h, 2026-07-26 - article grid rows =====
   Every IE article card happens to be 454px because every IE excerpt fills the box. UK has one
   short excerpt, so its last card collapsed to 430 and the row went ragged. Equal auto-rows gives
   IE's rendered result regardless of excerpt length. */
body.fsx .fx-artgrid{grid-auto-rows:1fr}


/* ===== bridge part 4i, 2026-07-26 - job-search chrome =====
   Inherited from IE: "body.page-template-job-search .elementor-location-header/footer{display:none}".
   On IE that is correct - IE's job-search.php hand-codes its own header.nav and footer.foot inside
   #fsx, so the Theme Builder chrome would have been a duplicate. UK's job-search.php does NOT
   hand-code chrome, so the rule left /job-search/ with no header and no footer at all. */
body.fsx.page-template-job-search .elementor-location-header,
body.fsx.page-template-job-search .elementor-location-footer{display:block !important}


/* ===== bridge part 4j, 2026-07-26 - thank-you page rhythm =====
   IE: .fx-ty-lead has a 17.6px bottom margin and .fx-ty-sign a 35.2px one. On UK the lead was
   picking up the generic 35.2px paragraph margin and the sign's collapsed away as the last child,
   leaving the block 18px short. */
body.fsx .fx-ty-inner .fx-ty-lead{margin-bottom:17.6px !important}
body.fsx .fx-ty-inner .fx-ty-sign{margin-bottom:35.2px !important}


/* ===== Bridge 4q: Job Search board (pages 7 / 5492), ported from IE /live-jobs/ 2026-07-28 =====
   Every .lj-* rule the board needs already exists above (it came over with the stylesheet port).
   The only gap was the atomic-container reset: .lj-cvband is used here as an Elementor e-flexbox
   container, and .e-flexbox-base would otherwise lay it out as a flex row. .fx-phero / .jobs /
   .wrap are already in the display:block list further up; .lj-cvband was not, because on IE it
   only ever appeared on a hand-coded <section>. */
body.fsx .e-atomic-element.lj-cvband{display:block}


/* ===== Bridge 4r: Single Job Listing template (job/, ported from IE 2026-07-28) =====
   .fx-jobgrid stacks the job description, share row and apply box; .fx-applybox stacks its own
   h3 + form. Both hold >1 child so the atomic e-flexbox flex-row default would sit them side by
   side. Every other class this template uses (.fx-phero/.jobs/.wrap/.fx-col/.jmwrap/.jobmeta/
   .jobshare/.fx-jobdesc) is already covered by earlier bridges or single-child (direction-proof). */
body.fsx .e-atomic-element.fx-jobgrid,body.fsx .e-atomic-element.fx-applybox{display:block}


/* ===== Bridge 4s: restore Theme Builder chrome on single-team / single-post / single-job_listing
   2026-07-28. This is the SAME inherited-from-IE defect that bridge 4i fixed for
   page-template-job-search. IE's single-team.php / single.php / single-job_listing.php each
   hand-code their own header.nav + footer.foot inside #fsx, so suppressing the Theme Builder
   chrome is correct on IE. UK's equivalents do NOT hand-code chrome - Theme Builder 209/339 is
   the only header and footer - so the inherited display:none left these three templates with no
   navigation and no footer at all. Verified on all three: exactly ONE .nav exists per page and it
   sits INSIDE .elementor-location-header, so there is no duplicate-chrome risk in un-hiding it.
   Specificity: the hide rule is body.single-team .elementor-location-header (0,2,1) !important,
   so this adds .fsx to reach (0,3,1) !important - mirrors bridge 4i exactly. */
body.fsx.single-team .elementor-location-header,body.fsx.single-team .elementor-location-footer,
body.fsx.single-post .elementor-location-header,body.fsx.single-post .elementor-location-footer,
body.fsx.single-job_listing .elementor-location-header,body.fsx.single-job_listing .elementor-location-footer{display:block !important}


/* ===== Bridge 4t: single-team legibility, 2026-07-28 =====
   UK's single-team.php renders Bootstrap markup (.team-single/.team_head/.team-image/.contacts),
   NOT the Molten Forge structure IE uses, so the 8 inherited body.single-team rules further up
   target section.fx-band and never apply here. Worse, those inherited rules are written
   `body.single-team body.fsx ...` - an impossible selector, since a <body> cannot contain another
   <body> - so they are dead on this install regardless. (Repaired on the dev install as bridge 4l;
   not ported here. Left in place rather than rewritten, because on this template they would style
   markup that does not exist.)
   Net effect was h1/h2 falling through to a theme default of #090909 on the #0A0B0D body, i.e.
   invisible. This restores legibility and matches IE's orange uppercase role line. */
body.fsx.single-team .team_head h1,body.fsx.single-team .top_learning h2{color:#fff}
body.fsx.single-team .team_head h1+p strong{font-family:"Archivo",sans-serif;font-weight:700;font-size:1rem;line-height:1.7;letter-spacing:.06em;color:var(--molten);text-transform:uppercase}


/* ===== Bridge 4u: single-team contact buttons must fit their column, 2026-07-28 =====
   The three .contacts pills sit in a 180px Bootstrap col-md-3 alongside the photo, but inherited
   .btn styling gives them a fixed height and nowrap, so 'Send me an email' / 'Connect with me'
   overflowed the column and were clipped. Let them wrap and grow instead. */
body.fsx.single-team .contacts{list-style:none;padding:0;margin:1.2rem 0 0}
body.fsx.single-team .contacts li{margin:0 0 .7rem}
body.fsx.single-team .contacts .btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;height:auto;min-height:44px;white-space:normal;text-align:center;padding:.7rem 1rem;line-height:1.25}
body.fsx.single-team .contacts .back_teams{width:auto;min-height:0;justify-content:flex-start;padding:.2rem 0}


/* ===== Bridge 4v: team + article single templates ported from IE, 2026-07-28 =====
   Source: IE's `fsx-team-profile-band-css` and `fsx-article-band-css` hook blocks. Those only
   render on their own template, which is why the original harvest missed them - everything else
   (fx-share/fx-sh/fx-artlayout/fx-related/fx-teamhead/fx-tphoto/fx-trole/fx-tcontacts/arthero h1/
   artfeat img) was already picked up from wp-custom-css and is present above.
   UK already held these same rules in the form `body.single-team body.fsx section.fx-band` - an
   IMPOSSIBLE selector (a <body> cannot contain another <body>), so they were dead. Re-declared here
   as body.fsx.single-… and without `section`, because Elementor atomic containers render as <div>. */
body.fsx.single-team .fx-band{background:#e1dcd5 !important;border-top:1px solid rgba(20,16,10,.10) !important;border-bottom:1px solid rgba(20,16,10,.10) !important}
body.fsx.single-team .fx-band h1,body.fsx.single-team .fx-band h2,body.fsx.single-team .fx-band h3,body.fsx.single-team .fx-band h4{color:#14161A !important}
body.fsx.single-team .fx-band p{color:#3c4046 !important}
body.fsx.single-team .fx-band .fx-prose p:first-child{color:#14161A !important}
body.fsx.single-team .fx-band strong,body.fsx.single-team .fx-band b{color:#14161A !important}
body.fsx.single-team .fx-band ul,body.fsx.single-team .fx-band ol,body.fsx.single-team .fx-band li{color:#3c4046 !important}
body.fsx.single-team .fx-band a{color:#c74a00 !important}
body.fsx.single-team .fx-jobdesc{max-width:80ch}
body.fsx.single-post .fx-band{background:#e1dcd5 !important}
body.fsx.single-post .fx-band:has(.fx-artlayout){border-bottom:1px solid rgba(20,16,10,.10) !important}
body.fsx.single-post .fx-band h1,body.fsx.single-post .fx-band h2,body.fsx.single-post .fx-band h3,body.fsx.single-post .fx-band h4,body.fsx.single-post .fx-band h5,body.fsx.single-post .fx-band h6{color:#14161A !important}
body.fsx.single-post .fx-band p{color:#3c4046 !important}
body.fsx.single-post .fx-band .fx-prose p:first-of-type{color:#14161A !important}
body.fsx.single-post .fx-band ul,body.fsx.single-post .fx-band ol,body.fsx.single-post .fx-band li{color:#3c4046 !important}
body.fsx.single-post .fx-band strong,body.fsx.single-post .fx-band b{color:#14161A !important}
body.fsx.single-post .fx-band a:not(.btn){color:#c74a00 !important}
body.fsx.single-post .fx-band blockquote{color:#3c4046 !important;border-left-color:rgba(255,94,0,.55) !important}
body.fsx.single-post .fx-band hr{border-color:rgba(20,16,10,.14) !important}
body.fsx.single-post .fx-band code,body.fsx.single-post .fx-band pre{background:rgba(20,16,10,.06) !important;color:#14161A !important}
body.fsx.single-post .fx-band table,body.fsx.single-post .fx-band th,body.fsx.single-post .fx-band td{border-color:rgba(20,16,10,.14) !important}
body.fsx.single-post .fx-band th{color:#14161A !important}
body.fsx.single-post .fx-band td{color:#3c4046 !important}
body.fsx.single-post .fx-band .artfeat img{box-shadow:0 14px 36px rgba(20,16,10,.16)}
body.fsx.single-post .fx-band .fx-related{background:var(--forge-panel) !important;border-color:var(--hairline) !important;box-shadow:none !important}
body.fsx.single-post .fx-band .fx-related > h2{color:#fff !important}
body.fsx.single-post .fx-band .fx-rel-title{color:#e8eaed !important}
body.fsx.single-post .fx-band .fx-rel:hover .fx-rel-title{color:var(--molten) !important}
body.fsx.single-post .fx-band .fx-rel-date{color:var(--ash) !important}
body.fsx.single-post .fx-band .fx-rel-thumb{border-color:var(--hairline) !important;background-color:var(--forge-graphite) !important}
body.fsx.single-post .fx-band--artfeat{padding:clamp(1.5rem,3vh,2.5rem) 0 0}
body.fsx.single-post .fx-band--artbody{padding-top:clamp(2rem,4vh,3rem)}
body.fsx .e-atomic-element.fx-related,body.fsx .e-atomic-element.artfeat,body.fsx .e-atomic-element.fx-prose{display:block}
body.fsx .e-atomic-element.fx-artlayout{display:grid !important}
body.fsx .e-atomic-element.fx-teamhead{display:grid !important}
body.fsx .e-atomic-element.artfeat,body.fsx .e-atomic-element.fx-tphoto,body.fsx .e-atomic-element.fx-teamhead,body.fsx .e-atomic-element.fx-artlayout,body.fsx .e-atomic-element.fx-tcontacts,body.fsx .e-atomic-element.fx-prose{padding:0}
body.fsx .fx-trole .elementor-heading-title{font-family:"Archivo",sans-serif;font-weight:700;font-size:1rem;line-height:1.7;letter-spacing:.06em;color:var(--molten);text-transform:uppercase}
body.fsx .elementor-widget.fx-trole{margin:0 0 22.4px !important}
body.fsx .fx-tcontacts .btn--ghost .elementor-button::after{content:none}


/* ===== Bridge 4w: Bootstrap modal rebuilt as atomic containers (team CV form), 2026-07-28 =====
   CPL chose to keep the per-consultant "Send me your CV" modal rather than IE's Contact Us pill.
   The modal is now built from Elementor containers, so .e-flexbox-base{display:flex;padding:10px}
   would (a) make the hidden modal permanently visible - .modal{display:none} is only (0,1,0) and
   loses to .elementor .e-flexbox-base (0,2,0) - and (b) break Bootstrap's column layout.
   Bootstrap sets display:block inline when opening, which still beats these class rules. */
body.fsx .e-atomic-element.modal{display:none;padding:0}
body.fsx .e-atomic-element.modal-dialog{padding:0}
body.fsx .e-atomic-element.modal-content{display:flex;flex-direction:column;padding:0}
body.fsx .e-atomic-element.modal-body{display:block;padding:0}


/* ===== Bridge 4x: team contact pills, exact IE match, 2026-07-28 =====
   1. IE's two ghost pills carry NO arrow; UK's were 24px wider each. Bridge 4v killed
      `.elementor-button::after`, but the arrow is actually injected on a DIFFERENT pseudo-element,
      `.elementor-button-text::after` - there are two separate arrow rules in this stylesheet.
      Measured: IE 208/243 wide, UK 232/267 = +24 each.
   2. The hand-coded CV pill measured 47px tall vs 49px for the Elementor pills, because those carry
      a 1px border and it does not (box-sizing is border-box on both). */
body.fsx .fx-tcontacts .btn--ghost .elementor-button-text::after{content:none}
body.fsx .fx-tcontacts a.btn{border:1px solid transparent}
