:root {
  --blue-1: #131348;
  --yellow: #F3A93C;
  --dark: #171717;
  --blue-2: #22407C;
  --light-1: #F7F7FD;
  --black: #000;
  --grey-1: #C2C1C1;
  --white: #fff;
  /* Standard Breakpoints */
  --bp-desktop: 1280px;
  --bp-laptop: 992px;
  --bp-tablet: 768px;
  --bp-mobile: 576px;
}

html {
  font-size: 10px;
  scroll-behavior: smooth;
}

.container {
  width: 100%;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 1279px) {
  .container {
    max-width: 100%;
  }
}

/*Fonts*/
@font-face {
  font-family: 'GeneralSans-Extralight';
  src: url('../fonts/GeneralSans-Extralight.woff2') format('woff2'),
    url('../fonts/GeneralSans-Extralight.woff') format('woff');
  font-weight: 200;
  font-display: swap;
  font-style: normal;
}

@font-face {
  font-family: 'GeneralSans-ExtralightItalic';
  src: url('../fonts/GeneralSans-ExtralightItalic.woff2') format('woff2'),
    url('../fonts/GeneralSans-ExtralightItalic.woff') format('woff'),
    url('../fonts/GeneralSans-ExtralightItalic.ttf') format('truetype');
  font-weight: 200;
  font-display: swap;
  font-style: italic;
}

@font-face {
  font-family: 'GeneralSans-Light';
  src: url('../fonts/GeneralSans-Light.woff2') format('woff2'),
    url('../fonts/GeneralSans-Light.woff') format('woff'),
    url('../fonts/GeneralSans-Light.ttf') format('truetype');
  font-weight: 300;
  font-display: swap;
  font-style: normal;
}

@font-face {
  font-family: 'GeneralSans-LightItalic';
  src: url('../fonts/GeneralSans-LightItalic.woff2') format('woff2'),
    url('../fonts/GeneralSans-LightItalic.woff') format('woff'),
    url('../fonts/GeneralSans-LightItalic.ttf') format('truetype');
  font-weight: 300;
  font-display: swap;
  font-style: italic;
}

@font-face {
  font-family: 'GeneralSans-Regular';
  src: url('../fonts/GeneralSans-Regular.woff2') format('woff2'),
    url('../fonts/GeneralSans-Regular.woff') format('woff'),
    url('../fonts/GeneralSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
  font-style: normal;
}

@font-face {
  font-family: 'GeneralSans-Italic';
  src: url('../fonts/GeneralSans-Italic.woff2') format('woff2'),
    url('../fonts/GeneralSans-Italic.woff') format('woff'),
    url('../fonts/GeneralSans-Italic.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
  font-style: italic;
}

@font-face {
  font-family: 'GeneralSans-Medium';
  src: url('../fonts/GeneralSans-Medium.woff2') format('woff2'),
    url('../fonts/GeneralSans-Medium.woff') format('woff'),
    url('../fonts/GeneralSans-Medium.ttf') format('truetype');
  font-weight: 500;
  font-display: swap;
  font-style: normal;
}

@font-face {
  font-family: 'GeneralSans-MediumItalic';
  src: url('../fonts/GeneralSans-MediumItalic.woff2') format('woff2'),
    url('../fonts/GeneralSans-MediumItalic.woff') format('woff'),
    url('../fonts/GeneralSans-MediumItalic.ttf') format('truetype');
  font-weight: 500;
  font-display: swap;
  font-style: italic;
}

@font-face {
  font-family: 'GeneralSans-Semibold';
  src: url('../fonts/GeneralSans-Semibold.woff2') format('woff2'),
    url('../fonts/GeneralSans-Semibold.woff') format('woff'),
    url('../fonts/GeneralSans-Semibold.ttf') format('truetype');
  font-weight: 600;
  font-display: swap;
  font-style: normal;
}

@font-face {
  font-family: 'GeneralSans-SemiboldItalic';
  src: url('../fonts/GeneralSans-SemiboldItalic.woff2') format('woff2'),
    url('../fonts/GeneralSans-SemiboldItalic.woff') format('woff'),
    url('../fonts/GeneralSans-SemiboldItalic.ttf') format('truetype');
  font-weight: 600;
  font-display: swap;
  font-style: italic;
}

@font-face {
  font-family: 'GeneralSans-Bold';
  src: url('../fonts/GeneralSans-Bold.woff2') format('woff2'),
    url('../fonts/GeneralSans-Bold.woff') format('woff'),
    url('../fonts/GeneralSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-display: swap;
  font-style: normal;
}

@font-face {
  font-family: 'GeneralSans-BoldItalic';
  src: url('../fonts/GeneralSans-BoldItalic.woff2') format('woff2'),
    url('../fonts/GeneralSans-BoldItalic.woff') format('woff'),
    url('../fonts/GeneralSans-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-display: swap;
  font-style: italic;
}

/*Fonts*/
/*Universal*/

/* =====================================
   GLOBAL IMAGE HOVER ZOOM – NO HTML CHANGE
===================================== */

/* Common image containers across site */
.pc-image,
.pli-image,
.facility-item-image,
.facility-gallery-thumb,
.facility-sub-thumb,
.hs3-item,
.hs4-item-image,
.hs1-accordion-container,
.hs5-left-image,
.ms2-image-block,
.news-block-image,
.qhse-item-image,
.caps3-item-image,
.team-item-image,
.sub-product-slide-image,
.cs1-image-block,
.cs3-bottom-item-image,
.cs4-item-image,
.sust-card-img,
.sus2-item-image,
.cls1-image,
.cls1-pointer-left,
.pdg-item-img {
  overflow: hidden;
}

.facility-small,
.facility-big,
.caps2-item {
  overflow: hidden;
}

.facility-left,

/* Target images inside those containers */
.pc-image img,
.pli-image img,
.facility-item-image img,
.facility-gallery-thumb img,
.facility-sub-thumb img,
.hs3-item img,
.hs4-item-image img,
.hs5-left-image img,
.ms2-image-block img,
.news-block-image img,
.news-block-img,
.qhse-item-image img,
.caps3-item-image img,
.team-item-image img,
.sub-product-slide-image img,
.project-detail-gallery-item img,
.pdg-item-img,
.cs1-image-block img,
.cs3-bottom-item-image img,
.cs4-item-image img,
.sust-card-img img,
.sus2-item-image img,
.cls1-image img,
.cls1-pointer-left img,
.hs1-accordion-img {
  transition: transform 0.45s ease;
}

.facility-small img,
.facility-big img,
.caps2-item img {
  transition: transform 0.45s ease;
}

.facility-left,
/* Hover zoom */
/* Zoom on parent hover for blocks */
.pc-image:hover img,
.pli-image:hover img,
.facility-item-image:hover img,
.facility-gallery-thumb:hover img,
.facility-sub-thumb:hover img,
.hs3-item:hover img,
.hs4-item:hover .hs4-item-img,
.hs5-content:hover .hs5-left-img,
.news-block:hover .news-block-img,
.ms2-image-block:hover img,
.qhse-item-image:hover img,
.caps3-item-image:hover img,
.team-item-image:hover img,
.sub-product-slide-image:hover img,
.project-detail-gallery-item:hover img,
.pdg-item-img:hover,
.cs1-image-block:hover img,
.cs3-bottom-item-image:hover img,
.cs4-item-image:hover img,
.sust-card-img:hover img,
.sus2-item-image:hover img,
.cls1-image:hover img,
.cls1-pointer-left:hover img,
.accordion-fabtech-home ul li:hover .hs1-accordion-img {
  transform: scale(1.05);

}

.facility-small img,
.facility-big img,
.caps2-item img {
  transition: transform 0.45s ease;
}

.facility-left,
/* Fixed Borders on Hover */
.hs3-item:hover,
.hs5-left-image:hover,
.hs6-featured-news-image:hover,
.news-block-horizontal:hover .news-block-image,
.cs3-bottom-item:hover .cs3-bottom-item-image {
  border: 2px solid var(--yellow);
  box-sizing: border-box;
}

.hs5-left-image,
.news-block-image,
.cs3-bottom-item-image,
.cs4-item-image {
  border: 2px solid transparent;
  box-sizing: border-box;
  transition: border 0.3s ease;
  border-radius: 3px;
}

body {
  font-family: 'GeneralSans-Regular', sans-serif;
  font-size: 1.6rem;
  /* 16px default */
  line-height: 2.6rem;
  font-weight: 400;
  color: var(--dark);
}

/* Intro paragraphs - 18px */
.hs2-description p,
.hs4-intro p,
.cs1-content p,
.cs2-text p,
.cls1-description p,
.intro-p {
  font-size: 1.8rem;
  line-height: 2.8rem;
}

* {
  margin: 0;
  padding: 0;
}

button,
button:hover,
button:focus,
button:active {
  border: 0px none;
}

p {
  margin-bottom: 1.2rem;
}

*>p:last-child,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

h1,
h2,
h3 {
  font-family: 'GeneralSans-Semibold';
  font-weight: 600;
}

a,
a:hover,
a:focus,
a:active {
  text-decoration: none;
}

a:hover,
a:focus,
a:active,
button:hover,
button:focus,
button:active,
svg:hover,
h4:hover,
select:hover,
select:focus,
input:hover,
input:focus,
textarea,
textarea:hover,
textarea:focus,
textarea:active {
  transition: all 0.1s ease-in-out;
  outline: none !important;
  box-shadow: none !important;
}

.flickity-button {
  display: none;
}

.br-3 {
  border-radius: 3px;
}

/*Universal*/
/*Fonts*/
.semibold {
  font-weight: 600;
}

.fs-56 {
  font-size: 5.6rem;
  line-height: 6.4rem;
  letter-spacing: -0.84px;
}

.fs-48 {
  font-size: 4.8rem;
  line-height: 5.4rem;
}

.fs-40 {
  font-size: 4rem;
  line-height: 4.8rem;
}

.fs-36 {
  font-size: 3.6rem;
  line-height: 4.4rem;
}

.fs-32 {
  font-size: 3.2rem;
  line-height: 4rem;
}

.fs-28 {
  font-size: 2.8rem;
  line-height: 3.6rem;
}

.fs-24 {
  font-size: 2.4rem;
  line-height: 3.2rem;
}

.fs-20 {
  font-size: 2rem;
  line-height: 2.8rem;
}

.fs-18 {
  font-size: 1.8rem;
  line-height: 2.6rem;
}

.fs-16 {
  font-size: 1.6rem;
  line-height: 2.4rem;
}

.fs-14 {
  font-size: 1.4rem;
  line-height: 2rem;
}

.fs-12 {
  font-size: 1.2rem;
  line-height: 1.6rem;
}

.general-sans-400 {
  font-family: 'GeneralSans-Regular';
}

.general-sans-500 {
  font-family: 'GeneralSans-Medium';
}

.general-sans-600 {
  font-family: 'GeneralSans-Semibold';
}

.general-sans-700 {
  font-family: 'GeneralSans-Bold';
}

/*Fonts*/
/*Text colors*/
.text-white {
  color: var(--white);
}

.background-light {
  background: var(--light-1)
}

.background-blue {
  background: radial-gradient(26.31% 26.31% at 53.09% 73.69%, #222261 0%, #131348 100%), #323232;
}

.body-opacity {
  color: rgba(33, 33, 33, 0.8);
}

.heading-opacity {
  color: rgba(23, 23, 23, 0.8);
}

.white-opacity {
  color: rgba(255, 255, 255, 0.8);
}

/*Text colors*/
/*Spacing*/
.pl-0 {
  padding-left: 0;
}

.pr-0 {
  padding-right: 0;
}

.pt-0 {
  padding-top: 0rem;
}

.pt-20 {
  padding-top: 2rem;
}

.pt-40 {
  padding-top: 4rem;
}

.pt-60 {
  padding-top: 6rem;
}

.pt-80 {
  padding-top: 8rem;
}

@media screen and (max-width: 991px) {
  .pt-80 {
    padding-top: 5.6rem;
  }
}

.pb-0 {
  padding-bottom: 0;
}

.pb-20 {
  padding-bottom: 2rem;
}

.pb-40 {
  padding-bottom: 4rem;
}

.pt-56 {
  padding-top: 5.6rem;
}

@media screen and (max-width: 991px) {
  .pt-56 {
    padding-top: 3.2rem;
  }
}

.pb-56 {
  padding-bottom: 5.6rem;
}

@media screen and (max-width: 991px) {
  .pb-56 {
    padding-bottom: 3.2rem;
  }
}

.pb-60 {
  padding-bottom: 6rem;
}

.pb-64 {
  padding-bottom: 6.4rem;
}

.pb-80 {
  padding-bottom: 8rem;
}

@media screen and (max-width: 991px) {
  .pb-80 {
    padding-bottom: 5.6rem;
  }
}

.mt-0 {
  margin-top: 0;
}

.mt-16 {
  margin-top: 1.6rem;
}

.mt-20 {
  margin-top: 2rem;
}

.mt-24 {
  margin-top: 2.4rem;
}

.mt-40 {
  margin-top: 4rem;
}

.mt-60 {
  margin-top: 6rem;
}

.mt-80 {
  margin-top: 8rem;
}

.mb-0 {
  margin-bottom: 0;
}

.mb-16 {
  margin-bottom: 1.6rem;
}

.mb-20 {
  margin-bottom: 2rem;
}

.mb-24 {
  margin-bottom: 2.4rem;
}

.mb-32 {
  margin-bottom: 3.2rem;
}

.mb-40 {
  margin-bottom: 4rem;
}

.mb-48 {
  margin-bottom: 4.8rem;
}

.mb-60 {
  margin-bottom: 6rem;
}

.mb-80 {
  margin-bottom: 8rem;
}

.block-width-860 {
  max-width: 860px;
  margin: 0 auto;
}

.block-width-1080 {
  max-width: 1080px;
  margin: 0 auto;
}

.block-width-1100 {
  max-width: 1320px;
  /* try 960px or 1000px */
  margin-left: auto;
  margin-right: auto;
}


.facilities-sec-1 {
  padding-left: 40px;
  padding-right: 40px;
}

/*Spacing*/
/*Buttons and Links*/
.ft-btn-primary {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 1.6rem 3.2rem 1.6rem 2.4rem;
  font-family: 'GeneralSans-Semibold';
  font-size: 1.8rem;
  line-height: 2rem;
  color: var(--dark);
  background: var(--yellow);
  border: 1px solid transparent;
  border-radius: 3px;
}

.ft-btn-primary:hover {
  border: 1px solid var(--blue-1);
}

.ft-btn-primary svg {
  margin-left: 1rem;
}

.ft-btn-primary.ft-btn-primary-arrow {
  padding: 1.6rem;
}

.ft-btn-primary.ft-btn-primary-arrow svg {
  margin: 0
}

.text-link {
  display: inline-block;
  font-family: 'GeneralSans-Semibold';
  color: var(--blue-2);
}

.text-link-underline {
  display: inline-block;
  padding: 0 0 0.6rem 0;
  font-family: 'GeneralSans-Semibold';
  color: var(--blue-2);
  border-bottom: 2px solid var(--yellow);
}

.text-link-underline.light {
  color: var(--white);
}

/*Buttons and Links*/
/* ==================================================
   NAVBAR & NAVIGATION
================================================== */
/* ===== NAVBAR DROPDOWN FIX ===== */

.fabtech-navigation {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1001;
}

.top-navbar .dropdown-menu {
  z-index: 1000;
}

.top-nav.navbar {
  height: 70px;
  z-index: 1000;
  background-color: transparent !important;
  background-image: linear-gradient(180deg, rgba(19, 19, 72, 0.98) 52%, rgba(19, 19, 72, 0.4) 100%) !important;


  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(10px);

  --bs-navbar-bg: #131348;
  --bs-navbar-color: #ffffff;
  --bs-navbar-hover-color: #ffffff;
  --bs-navbar-active-color: #ffffff;

  padding: 0;
}

/* Desktop Navigation Enhancements */
@media (min-width: 992px) {
  .top-nav .nav-item.dropdown {
    position: static !important;
  }



  .top-nav .nav-item.has-mega-menu {
    position: static !important;
  }

  .top-nav .dropdown-menu {
    background-color: transparent !important;
    /* Blue glassmorphism gradient for desktop dropdown */
    background-image: linear-gradient(180deg, rgba(19, 19, 72, 0.6) 0%, rgba(19, 19, 72, 0.72) 75%, rgba(0, 0, 0, 0) 100%) !important;
    background-blend-mode: overlay;
    /* Blur backdrop so page content behind the dropdown looks frosted */
    backdrop-filter: blur(14px) saturate(125%);
    -webkit-backdrop-filter: blur(14px) saturate(125%);
    border: none !important;
    border-radius: 0 !important;
    padding: 1.5rem 0 !important;
    margin-top: 0.6% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-height: 80vh;
    box-sizing: border-box !important;
    transform: none !important;
  }

  /* Specific mega-menu sizing */
  .top-nav .mega-menu {
    padding: 3rem 0 5rem 0 !important;
  }

  .mega-menu-footer {
    display: flex;
    justify-content: center;
    padding-top: 2rem;
    cursor: pointer;
  }

  .mega-menu-footer svg {
    display: block;
    margin: 0 auto;
  }
}

.mega-menu-grid {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  width: 100%;
  max-width: 1400px;
  /* Optional constraint to keep items from spreading too wide */
  margin: 0 auto;
}

/* Specific dimensions as requested: 240x158 */
.mega-menu-item {
  width: 240px;
  flex: 0 0 240px;
}

.product-card {
  display: flex !important;
  flex-direction: column;
  text-decoration: none !important;
  transition: transform 0.3s ease;
  height: 158px;
  width: 100%;
  overflow: hidden;
  border-radius: 3px;
}

.pc-image {
  height: 108px;
  /* Fixed height for image portion */
  width: 100%;
  overflow: hidden;
  background: #222;
}

.pc-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.pc-label {
  background: #fff;
  height: 35px;
  /* Remaining height */
  padding: 0 8px;
  /* Reduced padding to fit */
  display: flex;
  align-items: center;
  /* Center text vertically */
  text-align: left;
  transition: background 0.3s ease;
}

.pc-label span {
  color: #131348;
  font-family: 'GeneralSans-Semibold';
  font-size: 1.4rem;
  /* Slightly smaller to fit */
  line-height: 1.2;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Active/Hover states matching design */
.product-card.active .pc-label,
.product-card:hover .pc-label {
  background: #F3A93C !important;
}

.product-card:hover .pc-image img {
  transform: scale(1.05);
}

.product-card.active .pc-label span,
.product-card:hover .pc-label span {
  color: #131348 !important;
}

/* Responsive Navigation Overrides (formerly in responsive.css) */
@media screen and (min-width: 1280px) {
  #navbarNavDropdown .dropdown:hover>.dropdown-menu {
    top: 38px !important;
  }
}

@media screen and (max-width: 1279px) {
  /* Global container fix already handled in Base section */
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
  .fabtech-navigation .nav-link {
    margin: 0 0.2rem;
    padding: 0.5rem 1rem !important;
    font-size: 1.4rem;
    line-height: 1.8rem;
  }

  .dropdown-toggle::after {
    top: 6px;
    right: -3px;
    width: 12px;
    height: 12px;
  }

  .nav-icon-img {
    margin: 0 0.4rem;
  }
}

@media screen and (min-width: 992px) {
  #navbarNavDropdown .dropdown:hover>.dropdown-menu {
    display: block;
    left: 0;
    top: 28px;
  }

  /* when any desktop dropdown is activated (hovered) make navbar solid blue */
  .top-nav.navbar:hover {
    background-color: var(--blue-1) !important;
    background-image: none !important;
  }
}

@media screen and (max-width: 991px) {
  .navbar-toggler {
    padding: 1.6rem 1.6rem 0 0;
    border: 0px none;
  }

  .top-nav.navbar {
    background-color: var(--blue-1) !important;
    background-image: none !important;
    position: relative;
    backdrop-filter: none !important;
  }

  .navbar-nav {
    padding: 1.6rem !important;
    background-color: var(--blue-1) !important;
    align-items: flex-start !important;
  }

  .top-nav .navbar-nav .nav-link {
    color: var(--white) !important;
    font-size: 1.6rem !important;
    display: flex !important;
    justify-content: space-between !important;
  }
}

.top-nav .container {
  height: 100%;
  display: flex;
  align-items: center;
}

/* Logo */
.top-nav .navbar-brand {
  display: flex;
  align-items: center;
}

.top-nav .navbar-logo {
  height: 32px;
  /* Figma: 176x32 */
  width: auto;
}

/* Menu wrapper */
.top-nav .navbar-collapse {
  justify-content: flex-end;
}

/* Menu list */
.top-nav .navbar-nav {
  display: flex;
  align-items: center;
  gap: 26px;
  /* Figma spacing */
}

/* Menu items */
.top-nav .nav-link {
  font-family: 'GeneralSans-Semibold';
  font-weight: 600;
  font-size: 14px;
  line-height: 24px;
  color: #ffffff !important;
  padding: 8px 0;
  position: relative;
}

.top-nav .nav-link:hover {
  font-family: 'GeneralSans-Semibold';
  font-weight: 600;
  font-size: 14px;
  line-height: 24px;
  color: #F3A93C !important;
  padding: 8px 0;
  position: relative;
}

.top-nav .nav-link:active {

  color: #F3A93C !important;

}


/* Dropdown arrow */
.top-nav .dropdown-toggle::after {
  border: none;
  width: 20px;
  height: 10px;
  background-size: 24px;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M7 11L12 16L17 11" stroke="%23ffffff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center;
}

/* Divider before icons */
.nav-item-icon {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-left: 20px;
  margin-left: 20px;
  border-left: 1px solid #C2C1C1;
}

/* Icons */
.top-nav .nav-icon-img {
  width: 20px;
  height: 20px;
  filter: brightness(0) invert(1) opacity(0.7);
  transition: opacity 0.2s ease;
}

.top-nav .nav-icon:hover .nav-icon-img {
  opacity: 1;
}

/* Mobile toggler */
.top-nav .navbar-toggler {
  border: none;
}

.top-nav .navbar-toggler-icon {
  filter: brightness(0) invert(1);
}


/*Navigation*/
/*Footer*/
footer {
  padding: 2rem 0;
  background: radial-gradient(26.31% 26.31% at 53.09% 73.69%, #222261 0%, #131348 100%);
}

.fcb-top-block {
  padding: 0 0 1.4rem 0;
}

.fcb-middle-block {
  padding: 2.4rem 0 2.4rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.24);
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
}

.fbc-bottom-block {
  padding: 0.6rem 0 0 0;
}

.fcbm-content-block {
  /*  justify-content: flex-start;
  align-items: flex-start; */
  display: grid;
  grid-template-columns: 2.5fr 1fr 1fr;
  grid-column-gap: 7vw;
}

/* .fcbm1-block{
  flex:0 0 55%;
  max-width:55%;
} */
.fcbm-text {
  max-width: 410px;
}

/* .fcbm2-block,.fcbm3-block{
  flex:0 0 21%;
  max-width:250px;
} */
.fcbm2-block ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 4rem;
  grid-row-gap: 0;
  align-items: center;
}

.fcbm2-block ul li a {
  display: block;
  margin: 0 0 1.2rem 0;
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: #fff;
}

.fcb3-content h3 {
  margin: 0 0 1.6rem 0;
  font-family: 'GeneralSans-Semibold';

}

.fcb3-address-item {
  margin: 0 0 1.2rem 0;
}

.fcb3-address-item:last-of-type {
  margin: 0;
}

.fcb3-address-item a {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: var(--white)
}

.fcb3-address-item a svg {
  flex: 0 0 20px;
  max-width: 20px;
}

.fcb3-address-item a span {
  flex: 0 0 calc(100% - 20px);
  max-width: calc(100% - 20px);
}

.fcb3-address-item a span {
  padding-left: 1.2rem;
}

.fcb3-content-social {
  margin-top: 2rem;
}

.fcb3-content-social a {
  margin-right: 1.2rem;
}

/*Footer*/
/*Home*/
/*Accordion*/
.accordion-fabtech-home ul {
  display: table;
  table-layout: fixed;
  width: 100%;
  height: 80vh;
  margin: 0;
  padding: 0;
}

.accordion-fabtech-home ul li {
  display: inline-block;
  position: relative;
  width: 100%;
  min-height: 300px;
  text-align: center;
  color: #fff;
  overflow: hidden;
  /* For clipping zoom */
}

.accordion-fabtech-home ul li h1 {
  font-family: 'Roboto Condensed', sans-serif;
  text-overflow: clip;
  font-size: 2.5em;
  line-height: 3rem;
}

@media screen and (min-width: 769px) {
  .accordion-fabtech-home {
    height: 80vh;
    overflow: hidden;
  }

  .accordion-fabtech-home ul li {
    display: table-cell;
    vertical-align: bottom;
    width: 20%;
    height: 80vh;
    min-height: 600px;
    transition: all 500ms ease;
    position: relative;
    border-bottom: 2px solid rgba(0, 0, 0, 0.80);
    overflow: hidden;
  }

  .accordion-fabtech-home ul li:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }

  .accordion-fabtech-home ul:hover li {
    width: 30%;
  }

  .accordion-fabtech-home ul:hover li:hover {
    width: 40%;
    border-bottom: 2px solid var(--yellow);
  }

  .hs1-accordion-img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
/*     object-fit: cover; */
    z-index: 1;
  }

  .hs1-item-name {
    position: relative;
    z-index: 3;
  }

  .accordion-fabtech-home ul li a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    z-index: 2;
  }

  /* Overlay */
  .accordion-fabtech-home ul li a:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.70) 82.39%);
    z-index: 2;
    transition: background 0.3s ease;
  }

  .accordion-fabtech-home ul li:hover a:before {
    background: linear-gradient(180deg, rgba(19, 19, 72, 0.00) 0%, rgba(19, 19, 72, 0.80) 100%);
  }
}

/*Accordion*/
/* ==================================================
   HOME PAGE SECTIONS
================================================== */
.hs1-content {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-column-gap: 0;
  grid-row-gap: 0;
}

.hs1-item {
  transition: transform 0.3s ease;
  overflow: hidden;
  position: relative;
}

.hs1-item a {
  position: relative;
  display: block;
  transition: all 0.3s ease-in-out;
  border-bottom: 2px solid rgba(0, 0, 0, 0.80);
}

.hs1-item-img {
  width: 100%;
  max-width: 100%;
  height: 100vh;
  object-fit: cover;
}

.hs1-item a:hover {
  border-bottom: 2px solid var(--yellow);
}

.hs1-item a:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.70) 82.39%);

}

.hs1-item a:hover:after {
  background: linear-gradient(180deg, rgba(19, 19, 72, 0.00) 0%, rgba(19, 19, 72, 0.80) 100%);

}

.hs1-item-name {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.4rem;
  margin: 0 auto;
  max-width: 170px;
  text-align: center;
  z-index: 2;
}

.hs1-item-name h3 {
  margin: 0 0 1.6rem 0;
}

.home-sec-2 {
  position: relative;
  padding-bottom: 15rem;
  background: radial-gradient(26.31% 26.31% at 53.09% 73.69%, #222261 0%, #131348 100%);
}

.section-title-block h4 {
  display: inline-block;
  margin: 0 0 0.4rem 0;
  padding: 0.8rem 0 0 0;
  font-size: 1.4rem;
  line-height: 1.8rem;
  text-transform: uppercase;
  border-top: 2px solid var(--yellow)
}

.section-title-block h2 {
  font-size: 4rem;
  line-height: 6.4rem;
  font-weight: 600;
}

.section-title-block-large h2 {
  font-size: 6rem;
  line-height: 6.4rem;
  font-weight: 600;
}

.hs2-content {
  justify-content: space-between;
  align-items: flex-start;
}

.hs2-left {
  flex: 0 0 48%;
  max-width: 500px;
}

.hs2-description {
  margin-top: 1.6rem;
}

.hs2-right {
  flex: 0 0 48%;
  max-width: 430px;
}

.hs2-right-content {
  justify-content: space-between;
  align-items: flex-start;
}

.hs2-right-block-1,
.hs2-right-block-2 {
  flex: 0 0 48%;
  max-width: 175px;
}

.hs2-right-item h4 {
  margin: 0 0 0.8rem 0;
  font-size: 1.4rem;
  line-height: 1.8rem;
}

.hs2-right-item h2 {
  margin: 0 0 1.2rem 0;
  font-size: 5.6rem;
  line-height: 5.8rem;
  font-weight: 600;
}

.hs2-right-item h3 {
  font-size: 2.4rem;
  line-height: 2.4rem;
  font-weight: 600;
}

.hs2-right-block .hs2-right-item {
  position: relative;
}

.hs2-right-block .hs2-right-item:first-child {
  padding-bottom: 2.4rem;
}

.hs2-right-block .hs2-right-item:first-child:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
  background: var(--yellow);
  border-radius: 2px;
}

.hs2-right-block .hs2-right-item:last-child {
  margin-top: 1.6rem;
}

.home-sec-3 {
  position: relative;
  z-index: 2;
  margin-top: -19rem;
}

.hs3-content-block h2 {
  margin: 0 0 3.2rem 0;
}

.hs3-slider-block,
.caps3-slider-block,
.location-slider-block {
  position: relative;
  margin: 0 auto;
}

.hs3-item {
  position: relative;
  /* margin:0 0.8rem; */
  border: 2px solid transparent;
  border-radius: 3px;
  overflow: hidden;
  box-sizing: border-box;
}


.hs3-item a {
  position: relative;
  display: block;
}

.hs3-item a:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
}

.hs3-item:hover {
  border: 2px solid var(--yellow);
  border-radius: 3px;
}

.hs3-item h3 {
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  padding: 0 1.2rem;
  bottom: 2rem;
}

.hs3-item-img {
  max-width: 100%;
  width: 100%;
  border-radius: 3px;
  height: 260px;
  object-fit: cover;
}

/* capability page images should behave like home-sec-3 cards */
.caps3-item,
.product-list .project-list-item {
  position: relative;
  border: 2px solid transparent;
  border-radius: 3px;
  overflow: hidden;
  box-sizing: border-box;
}

.caps3-item-image,
.product-list .project-list-item .pli-image {
  position: relative;
}

.caps3-item-image:before,
.product-list .project-list-item .pli-image:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  pointer-events: none;
}

.caps3-item:hover,
.product-list .project-list-item:hover {
  border: 2px solid var(--yellow);
}


.hs3-nav-block button svg,
.cs3-nav-block button svg,
.cs4-nav-block button svg,
.caps3-nav-block button svg,
.location-nav-block button svg {
  width: 40px;
  height: 40px;
}

.hs3-nav-block button,
.hs4-nav-block button,
.cs3-nav-block button,
.cs4-nav-block button,
.caps2-nav-block button,
.product-nav-block button,
.subproduct-slider-block button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.hs3-nav-block .flickity-prev,
.caps3-nav-block .flickity-prev {
  left: 0;
}

.hs3-nav-block .flickity-next,
.caps3-nav-block .flickity-next {
  right: 0;
}

.hs4-slider-block {
  position: relative;
}

.hs4-content-block {
  max-width: 700px;
  margin: 0 auto;
}

.hs4-intro {
  margin: 0rem 0 3.2rem 0;
}

.hs4-item {
  width: 28%;
  margin: 0 1.6rem;
}

.hs4-item h3 {
  margin: 1.6rem 0 0 0;
  font-size: 2.4rem;
  line-height: 3.2rem;
  font-weight: 700;
  color: #171717;
}

.hs4-item-img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 3px;
  /* border: 2px solid transparent; */
}

.hs4-item:hover h3 {
  color: var(--blue-2);
}

.hs4-item-image {
  overflow: hidden;
  border-radius: 3px;
  border: 2px solid transparent;
  box-sizing: border-box;
  aspect-ratio: 4/3;
  /* Match existing image height */
  transition: border 0.3s ease;
}

.hs4-item:hover .hs4-item-image {
  border: 2px solid var(--yellow);
}

.flickity-prev,
.flickity-next {
  background: transparent;
}

.hs4-nav-block .flickity-prev,
.product-nav-block .flickity-prev,
.subproduct-slider-block .flickity-prev {
  left: 4rem;
}

.hs4-nav-block .flickity-next,
.product-nav-block .flickity-next,
.subproduct-slider-block .flickity-next {
  right: 4rem;
}

.flickity-prev:disabled svg rect,
.flickity-next:disabled svg rect {
  fill: #ccc;
}

.flickity-prev:disabled svg path,
.flickity-next:disabled svg path {
  fill: #8d8d8d;
}

.hs4-cta-block {
  margin: 4rem auto 0 auto;
  text-align: center;
}

.hs6-title-block {
  margin: 0 0 3.2rem 0;
  display: flex;
  flex-direction: row;
  gap: 2rem;
  justify-content: space-between;
  align-items: flex-start;
}

.hs5-content,
.hs6-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 2rem;
  grid-row-gap: 0;
  align-items: start;
}

.hs6-viewall-block {
  text-align: right;
}

.hs6-featured-news-block .news-block-tags {
  margin: 1.6rem 0 1.2rem 0;
}

.news-block-img {
  width: 100%;
}

.news-block-img.hs6-featured-img {
  height: 300px;
  object-fit: cover;
  border-radius: 3px;
}

.news-block-tags {
  margin: 1.6rem 0 1.2rem 0;
}

.news-block-tags a {
  display: inline-block;
  position: relative;
  margin: 0 1.2rem 0 0;
  font-family: 'GeneralSans-Regular';
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: var(--dark);
}

.news-block-tags a:after {
  content: '';
  position: absolute;
  right: -11px;
  top: 50%;
  transform: translateY(-25%);
  width: 6px;
  height: 6px;
  background: var(--yellow);
  border-radius: 6px;
  margin: 0 auto;
}

.news-block-tags a:last-child {
  margin: 0;
}

.news-block-tags a:last-child:after {
  content: none;
}

.news-block-title h3 {
  margin: 0 0 1.6rem 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1.8rem;
  line-height: 2.4rem;
  font-weight: 600;
  min-height: 48px;
}

.news-block-horizontal {
  margin: 0 0 2rem 0;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: flex-start;
  align-items: flex-start;
}

.news-block-horizontal:last-of-type {
  margin: 0;
}

.nbh-left {
  flex: 0 0 145px;
  max-width: 145px;
}

.nbh-right {
  flex: 0 0 calc(100% - 145px);
  max-width: calc(100% - 145px);
  padding-left: 1.6rem;
}

.nbh-left .news-block-image .news-block-img {
  width: 100%;
  height: 135px;
  object-fit: cover;
}

.news-block-tags {
  margin: 0 0 1.2rem 0;
}

.hs5-left-img {
  width: 100%;
  height: 485px;
  object-fit: cover;
  border-radius: 3px;
}

.home-sec-5 .section-title-block {
  max-width: 930px
}

.hs5-right {
  position: relative;
}

/* .hs5-right:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 40px;
  background: linear-gradient(179deg, #FFF -2.69%, rgba(255, 255, 255, 0.00) 70.74%)
} */

.hs5-right:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 40px;
  background: linear-gradient(1deg, #FFF 39.77%, rgba(255, 255, 255, 0) 104.71%)
}

.hs5-right-scroll {
  height: 485px;
  /* padding: 4rem 1.6rem 4rem 0; */
  padding: 0 1.6rem 4rem 0;
  overflow-y: scroll;
}

/* width */
.hs5-right-scroll::-webkit-scrollbar {
  width: 5px;
}

/* Track */
.hs5-right-scroll::-webkit-scrollbar-track {
  background: #f1f1f1;
}

/* Handle */
.hs5-right-scroll::-webkit-scrollbar-thumb {
  background: var(--blue-2);
}

/* Handle on hover */
.hs5-right-scroll::-webkit-scrollbar-thumb:hover {
  background: var(--blue-1);
}

.hs5-right-scroll ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.hs5-right-scroll ul li {
  display: block;
}

.hs5-right-scroll ul li h3 {
  font-size: 2.4rem;
  line-height: 3.2rem;
  font-family: 'GeneralSans-Semibold';
}

.hs5-item-content {
  margin: 1.2rem 0 1.6rem 0;
}

.hs5-item-seperator {
  margin: 0.2rem 0;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(180deg, #F3A93C 0%, #F3A93C 105.65%);
}

.hs5-item-content p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: 72px;
}

.hs5-item {
  margin: 0 0 1.6rem 0;
}

.hs5-item h3 {
  color: var(--blue-2);
  cursor: pointer;
}

.hs5-item .hs5-readmore-content {
  display: none;
}

.hs5-item.active h3 {
  color: var(--dark);
  cursor: default;
}

.hs5-item.active .hs5-readmore-content {
  display: block;
  cursor: default;
}

/* ==================================================
   Home / Company
   Inner Banner V2 – FINAL CLEAN VERSION
================================================== */

.inner-banner-v2 {
  background: var(--blue-1);
  color: #fff;
  overflow: hidden;
}

.inner-banner-v2-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 4rem;
  margin: 0 auto;
}

.inner-banner-v2-left {
  display: flex;
  align-items: center;
  /*   justify-content: center; */
  padding: 60px 40px 60px 80px;
}

.inner-banner-v2-label {
  display: inline-block;
  color: var(--white);
  font-family: 'GeneralSans-Semibold';
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 1.6rem;
  padding-top: 10px;
  padding-bottom: 0.8rem;
  border-top: 3px solid var(--yellow);
}

.inner-banner-v2-title {
  font-family: 'GeneralSans-Semibold';
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--white);
  margin: 0;
  text-transform: capitalize;
}

.inner-banner-v2-right {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}

/* ======================================
   IMAGE WRAPPER
====================================== */

.inner-banner-v2-image-wrapper {
  position: relative;
  width: 50%;
  max-width: 1100px;
  aspect-ratio: 4 / 1;
  background: #ffffff;
  margin-top: 24%;
  margin-right: 5%;
  overflow: hidden;

  clip-path: url(#fabtechBannerShape);
  -webkit-clip-path: url(#fabtechBannerShape);
  will-change: clip-path;
}

/* Base image styling */
.inner-banner-v2-image-wrapper img {
  position: absolute;
  object-fit: cover;

}

/* ======================================
   CASE 1: ONE IMAGE (CENTERED)
====================================== */

.inner-banner-v2-image-wrapper.image-count-1 {
  display: flex;
  align-items: center;
  justify-content: center;
}

.inner-banner-v2-image-wrapper.image-count-1 img {
  position: relative;
  max-width: 100%;
  max-height: 100%;
  transform: none;
}

/* ======================================
   CASE 2: TWO IMAGES (BOTTOM-LEFT & TOP-RIGHT)
====================================== */

.inner-banner-v2-image-wrapper.image-count-2 img {
  max-width: 46%;
  max-height: 78%;
}

/* Bottom-left image */
.inner-banner-v2-image-wrapper.image-count-2 img.img-1 {
  left: 6%;
  bottom: 8%;

  z-index: 1;
}

/* Top-right image */
.inner-banner-v2-image-wrapper.image-count-2 img.img-2 {
  right: 6%;
  top: 6%;

  z-index: 2;
}

/* ======================================
   CASE 3: THREE IMAGES
   Top-Left | Top-Right | Center-Bottom
====================================== */

.inner-banner-v2-image-wrapper.image-count-3 img {
  max-width: 38%;
  max-height: 72%;
}

/* Top-left image */
.inner-banner-v2-image-wrapper.image-count-3 img.img-1 {
  left: 5%;
  top: 6%;

  z-index: 1;
}

/* Top-right image */
.inner-banner-v2-image-wrapper.image-count-3 img.img-2 {
  right: 5%;
  top: 6%;

  z-index: 2;
}

/* Center-bottom (hero anchor image) */
.inner-banner-v2-image-wrapper.image-count-3 img.img-3 {
  left: 50%;
  top: 50%;
  transform: translateX(-50%);
  max-width: 44%;
  z-index: 3;
}


/* ==================================================
   Inner Banner V2 – END
================================================== */

.page-title-section {
  padding: 5.6rem 0;
  background: radial-gradient(26.31% 26.31% at 53.09% 73.69%, #222261 0%, #131348 100%), #323232;
}

/* .page-title-section .section-title-block {
  max-width: 600px;
} */

.cs1-content-block h2 {
  margin: 0 0 1.6rem 0;
}

.cs1-content {
  margin: 0 0 3.2rem 0;
  font-size: 1.8rem;
  line-height: 2.8rem;
}

.cs1-img {
  border-radius: 3px;
}

.cs1-video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 Aspect Ratio */
  height: 0;
  overflow: hidden;
  border-radius: 3px;
}

.home-video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 Aspect Ratio */
  height: 0;
  overflow: hidden;
  border-radius: 3px;
}

.cs1-video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 72%;
}

.home-video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 55%;
  height: 55%;
}

@media screen and (max-width: 991px) {
  .company-sec-1 {
    padding: 4.8rem 0;
  }

  .cs1-content-block {
    margin-bottom: 3.2rem;
    padding-left: 0 !important;
  }
}

.cs2-content-block {
  max-width: 675px;
  margin: 0 0 3.2rem 0;
}

.cs2-content-block .section-title-block {
  margin: 0 0 1.6rem 0;
}

.cs2-block-bottom {
  /*   max-width: 1040px; */
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 5.2rem;
  grid-row-gap: 5.2rem;
}

.cs2-item {

  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: flex-start;
  align-items: flex-start;
}

.cs2-item-left {
  flex: 0 0 76px;
  max-width: 76px;
  padding: 0 2.4rem 0 1.2rem;
}

.cs2-item-icon {
  width: 40px;
}

.cs2-item-right {
  position: relative;
  flex: 0 0 calc(100% - 76px);
  max-width: calc(100% - 76px);
  padding-left: 2.2rem;
  align-self: stretch;
}

.cs2-item-right:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(180deg, #F3A93C 0%, #F3A93C 105.65%);
  border-radius: 2px;
}

.cs2-item-right h3 {
  margin: 0 0 0.4rem 0;
  font-family: 'GeneralSans-Semibold';
  font-size: 2.4rem;
  line-height: 3.2rem;
}

.company-sec-3 {
  background: radial-gradient(26.31% 26.31% at 53.09% 73.69%, #222261 0%, #131348 100%), #323232;
}

.cs3-title {
  justify-content: space-between;
  align-items: flex-start;
}

.cs3-title-left {
  flex: 0 0 48%;
  /*   max-width: 360px; */
}

.cs3-title-right {
  flex: 0 0 48%;
  max-width: 540px;
}

.cs3tr-cta,
.cs3-bottom-block {
  margin-top: 3.2rem;
}

.cs3-bottom-block {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-column-gap: 2.4rem;
  grid-row-gap: 4rem;
}

.cs3-bottom-item {
  position: relative;
}

.cs3-bottom-item .cs3-bottom-item-cta {
  position: absolute;
  left: 0;
  bottom: -1.6rem;
}

.cs3-bottom-item-image {
  margin: 0 0 1.6rem 0;
}

.cs3-bottom-item-img {
  height: 260px;
  object-fit: cover;
  border-radius: 3px;
}

.cs3-bottom-item-title h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 1;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0 0 1.2rem 0;
  font-family: 'GeneralSans-Semibold';
  font-size: 2.4rem;
  line-height: 3.2rem;
}

.cs3-bottom-item-text {
  margin: 0 0 1.6rem 0;
}

.cs3-bottom-item-text p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cs4-title {
  max-width: 600px;
}

.cs4-title .section-title-block {
  margin: 0 0 1.6rem 0;
}

.cs4-history-block {
  position: relative;
  margin-top: 3.2rem;
  padding-left: 39px;
}

.cs4-history-block:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(180deg, #F3A93C 0%, #F3A93C 105.65%);
  border-radius: 2px;
}

.cs4-history-item {
  padding-bottom: 4rem;
}

.cs4-history-item:last-of-type {
  padding-bottom: 0;
}

.cs4-history-item-content {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
  align-items: flex-start;
}

.cs4-item-month {
  flex: 0 0 200px;
  max-width: 200px;
  padding-right: 1.6rem;
}

.cs4-item-image {
  flex: 0 0 200px;
  max-width: 200px;
  padding-right: 1.6rem;
}

.cs4-item-text {
  flex: 0 0 calc(100% - 400px);
  max-width: calc(100% - 400px);
  padding-left: 3.2rem;
}

.cs4-item-month {
  flex: 0 0 200px;
  max-width: 200px;
  padding-right: 1.6rem;
}

.cs4-item-month .section-title-block h4 {
  margin: 0;
  padding: 0;
  border: 0px none;
}

.cs4-item-month .section-title-block h4,
.cs4-item-month .section-title-block h2 {
  color: var(--blue-1);
}

.cs4-item-month .section-title-block h2 {
  font-size: 2.4rem;
  line-height: 2.8rem;
}

.cs4-item-text h3 {
  font-size: 2.4rem;
  line-height: 3.2rem;
  margin-bottom: 0.8rem;
}

.cs4-item-img {
  width: 100%;
  height: 150px;
  border-radius: 3px;
  object-fit: cover;
}

.cs3-slider-block,
.cs4-slider-block {
  position: relative;
}

@media screen and (min-width: 992px) {

  .cs3-nav-block,
  .cs4-nav-block {
    display: none;
  }
}

/*Company*/
/*Team*/
.team-sec-1 .hs2-content-block {
  margin-top: 3.2rem;
}

.team-sec-1 .hs2-left {
  max-width: 600px;
}

.team-sec-1 .hs2-description {
  margin-top: 0;
}

.team-sec-1 .hs2-right-item {
  color: var(--blue-1)
}

.team-sec-1 .hs2-right-block .hs2-right-item:last-of-type h3 {
  margin: 0
}

.ts2-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 2.4rem;
  row-gap: 2.4rem;
}

.team-item-image {
  aspect-ratio: 1/1;
}

.team-item-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 3px 3px 0 0;
}

.team-item-name {
  margin: 1.2rem 0 0 0;
}

.team-item-name h3 {
  font-family: 'GeneralSans-Semibold';
  font-size: 2.4rem;
  line-height: 3.2rem;
}

.team-item-seperator {
  margin: 0.8rem 0;
  height: 2px;
  background: linear-gradient(180deg, #F3A93C 0%, #F3A93C 105.65%);
  border-radius: 2px;
}

.team-item-designation {
  font-size: 1.6rem;
  line-height: 2.4rem;
}

.ts3-content {
  margin: 3.2rem 0 0 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 2.4rem;
  row-gap: 2.4rem;
}

/*Team*/
/*QHSE*/
.qhse-sec-1 .cs1-content {
  margin: 0;
}

.qhse-content {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
  align-items: stretch;
  margin: 0 0 8rem 0;
}

.qhse-content:last-of-type {
  margin: 0;
}

.qhse-content .qhse-content-left {
  flex: 0 0 600px;
  max-width: 600px
}

.qhse-content .qhse-content-right {
  flex: 0 0 600px;
  max-width: 600px
}

.qhse-content:nth-child(even) .qhse-content-right {
  order: 1
}

.qhse-content:nth-child(even) .qhse-content-left {
  order: 2
}

.qhse-item-image {
  height: 100%;
}

.qhse-item-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.seperator-horizontal {
  height: 2px;
  background: linear-gradient(180deg, #F3A93C 0%, #F3A93C 105.65%);
  border-radius: 2px;
}

.qhse-content-right .seperator-horizontal {
  margin: 1.6rem 0;
}

.qcr-content ul {
  margin: 3.2rem 0;
  padding: 0 0 0 2.4rem;
}

.qcr-content ul li {
  margin: 0 0 1.6rem 0;
}

.qcr-content ul li:last-child {
  margin: 0;
}

.qhse3-title-block {
  max-width: 700px;
  margin: 0 auto;
}

.qhse3-description {
  margin: 1.6rem 0 0 0;
}

.qhse3-certificates-block {
  margin: 3.2rem auto 0 auto;
  max-width: 1100px;
}

.qhse3-certificates {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 2.4rem;
  row-gap: 2.4rem;
}

.qhse3-certificate-item a {
  display: block;
  aspect-ratio: 1/1;
}

.qhse-cert-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 2px solid var(--grey-1)
}

.qhse3-certificate-item a:hover .qhse-cert-img {
  border: 2px solid var(--yellow);
}

.qhse3-certificate-item .qhse3-item-name {
  margin: 1.2rem 0 0 0;
}

.qhse3-certificate-item h3 {
  font-family: 'GeneralSans-Regular';
  color: var(--dark)
}

.qhse3-certificate-item a:hover h3 {
  color: var(--blue-2)
}

/*QHSE*/
/*Media Listing*/
.ms1-content h4,
.media-featured-block .news-block-tags {
  margin: 0 0 1.6rem 0;
}

.media-featured-block .news-block-tags a {
  color: var(--white);
}

.media-featured-block .featured-new-block-title {
  margin: 0 0 3.2rem 0;
}

.media-featured-block .featured-news-block-title h2 {
  font-size: 5.6rem;
  line-height: 6.4rem;
  font-weight: 600;
}

.media-featured-block .featured-news-block-cta,
.featured-news-banner {
  margin: 3.2rem 0 0 0;
}

.featured-media-img {
  width: 100%;
  max-height: 600px;
  object-fit: cover;
}

.ms2-content .section-title-block {
  margin: 3.2rem 0;
}

.ms2-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 2.4rem;
  row-gap: 4.8rem;
}

.ms2-image-block {
  aspect-ratio: 3/2
}

.ms2-item-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 3px;
}

.ms2-item .news-block-tags {
  margin-top: 1.6rem;
}

/*Media Listing*/
/*Media Detail*/
.media-detail-sec-1 .media-featured-block .news-block-tags a {
  color: var(--dark)
}

.media-detail-sec-2 .ms2-content .section-title-block {
  margin: 0 0 3.2rem 0;
}

.media-detail-content-block {
  margin: 8rem 0 0 0;
}

.media-detail-content-block p strong {
  font-size: 2.4rem;
  line-height: 3.2rem;
  font-family: 'GeneralSans-Regular';
}

.media-detail-content-block p img {
  /* float: right;
  margin: 1.6rem 0 1.6rem 0;
  max-width: 100%;
  max-height: 540px;
  object-fit: cover; */
  border-radius: 3px;
}

/*Media Detail*/
/*Careers Listing*/
.cls1-img {
  max-height: 600px;
  object-fit: cover;
}

.cls1-title {
  margin: 8rem 0 3.2rem 0;
}

.cls1-description {
  margin: 0 0 3.2rem 0;
  font-size: 2.4rem;
  line-height: 3.2rem;
}

.cls1-pointers-block {
  justify-content: space-between;
  align-items: center;
}

.cls1-pointer-left {
  flex: 0 0 44%;
  max-width: 44%;
  align-self: stretch;
}

.cls1-pointer-right {
  flex: 0 0 54%;
  max-width: 54%;
}

.cls1-pointer-left .cls1-pointer-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cls1-right-content {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}

.cls1-right-item {
  flex: 0 0 48%;
  max-width: 48%;
}

.cls1-right-item {
  margin: 0 0 4rem 0;
}

.cls1-right-block .cls1-right-item:last-child {
  margin: 0;
}

.cls1-right-item .seperator-horizontal {
  margin: 1.6rem 0;
}

.cls1-right-item h3 {
  margin: 0 0 1.6rem 0;
  font-size: 2.4rem;
  line-height: 3.2rem;
}

.cls1-right-item-count {
  color: var(--blue-1)
}

.cls2-content .seperator-horizontal {
  margin: 3.2rem 0;
}

.cls2-listing-block {
  margin: 3.2rem 0 0 0;
}

.cls2-listing {
  justify-content: space-between;
  align-items: flex-start;
}

.cls2-listing #noresp_msg {
  flex: 0 0 100%;
  max-width: 100%;
}

.cls2-listing-left,
.cls2-listing-right {
  flex: 0 0 48%;
  max-width: 48%;
}

.cls2-listing-right {
  position: sticky;
  top: 90px;
}

.career-list-item {
  margin: 0 0 1.6rem 0;
  padding: 2.4rem;
  /* background: #fff; */
  border-radius: 3px;
  border: 1px solid var(--Brand-Colours-Link-Clickable, #22407C);
  box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.20);
}

.career-list-item:hover {
  background: #fff;
}

.career-list-item-title {
  margin: 0 0 1.2rem 0;
  display: grid;
  grid-template-columns: 1fr 100px;
  column-gap: 1.6rem;
}

.career-list-item-title h3 {
  font-size: 1.8rem;
  line-height: 2.4rem;
  font-family: 'GeneralSans-Semibold';
  font-weight: 600;
}

.career-list-item-title div,
.career-list-item-location {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
}

.career-list-item-title div,
.career-list-item-location .job-location {
  display: inline-block;
  margin: 0 1.6rem 0 0;
  color: rgba(0, 0, 0, 0.6)
}

.career-list-item-location .job-category {
  display: inline-block;
  padding: 0.4rem;
  font-size: 1.2rem;
  line-height: 1.8rem;
  text-transform: uppercase;
  font-family: 'GeneralSans-Medium';
  font-weight: 500;
  background: var(--yellow);
  border-radius: 3px;
}

.career-list-item-cta {
  margin: 2.4rem 0 0 0;
}

.career-form-block {
  padding: 4.8rem;
  border-radius: 3px;
  background: #fff;
  border: 2px solid #f0f0f0;
  box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.10);
}

.career-form-block h3 {
  margin: 0 0 1.6rem 0;
  font-size: 2.4rem;
  line-height: 3.2rem;
}

.career-form-description {
  margin: 0 0 3.2rem 0;
}

.fabtech-form-detail-page label {
  display: block;
}

.fabtech-form label {
  font-size: 1.8rem;
  line-height: 2.4rem;
  font-family: 'GeneralSans-Semibold';
  font-weight: 600;
}

.fabtech-form .form-control {
  font-family: 'GeneralSans-Regular';
  padding: 1.2rem 0;
  font-size: 1.8rem;
  line-height: 2.4rem;
  border: 0px none;
  border-bottom: 1px solid var(--blue-2);
  border-radius: 0;
}

.fabtech-form .form-control::placeholder {
  font-weight: 400;
}

.fabtech-form input[type="file"] {
  margin-top: 1.6rem;
}

.fabtech-form .wpcf7-not-valid-tip,
.fabtech-form input[type="file"] {
  font-family: 'GeneralSans-Regular';
  font-weight: 400;
}

.career-form-cta {
  margin-top: 3.2rem;
}

/*Careers Listing*/
/*Career Detail*/
.career-detail-title-section.page-title-section .section-title-block {
  max-width: 100%;
}

.career-detail-title-content {
  margin: 3.2rem 0 0 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 4rem;
  color: var(--white);
}

.cdt-item-name {
  margin: 0 0 0.8rem 0;
  padding: 0 0 0.8rem 0;
  border-bottom: 2px solid var(--yellow);
}

.cdt-item-description {
  font-family: 'GeneralSans-Semibold';
  font-weight: 600;
}

.career-detail-sec-1 .cs1-content {
  margin: 0;
  font-size: 1.8rem;
  line-height: 2.4rem;
}

.career-detail-sec-1 .cs1-content ul li {
  margin: 0 0 1.6rem 0;
}

.career-detail-form-block {
  max-width: 860px;
  margin: 0 auto;
  padding: 5.6rem 3.2rem;
  background: var(--light-1);
}

.career-detail-form input[type="text"],
.career-detail-form input[type="email"],
.career-detail-form input[type="tel"],
.career-detail-form input[type="url"] {
  background: transparent;
}

.cds3-content {
  max-width: 860px;
  margin: 0 auto;
}

.cds3-item {
  display: grid;
  grid-template-columns: 65% 35%;
}

.cds3-item-text {
  padding: 3.2rem;
  align-self: stretch;
}

.cds3-item-image {
  aspect-ratio: 1/1;
  align-self: stretch;
}

.cds3-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cds3-item-text h3 {
  font-size: 2.4rem;
  line-height: 3.2rem;
}

.cds3-item-text .seperator-horizontal {
  margin: 1.2rem 0;
}

.cds3-item-text .cds3-cta {
  margin-top: 2rem;
}

/*Career Detail*/
/*Project List*/
.project-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 2.4rem;
  row-gap: 3.2rem;
}

.project-list-item {
  border-radius: 6px;
  border: 3px solid transparent;
}

.project-list-item:hover {
  border: 3px solid var(--yellow)
}

.project-list-item:hover .pli-content {
  background: var(--white);
  box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.12);
}

.pli-img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  border-radius: 3px 3px 0 0;
}

.pli-content {
  padding: 1.6rem;
  background: var(--light-1);
  border-radius: 0 0 3px 3px;
  position: relative;
}

.pli-sectors {
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: #171717;
  margin-bottom: 0.8rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-family: 'GeneralSans-Regular';
}

.pli-sector-sep {
  color: var(--yellow);
  margin: 0 8px;
  font-size: 1.8rem;
}

.pli-sectors-more {
  position: relative;
  cursor: pointer;
  color: var(--blue-2);
  display: inline-flex;
  align-items: center;
}

.pli-sectors-tooltip {
  visibility: hidden;
  width: 200px;
  background-color: #333;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 8px;
  position: absolute;
  z-index: 10;
  bottom: 125%;
  left: 50%;
  margin-left: -100px;
  opacity: 0;
  transition: opacity 0.3s;
  font-size: 1.4rem;
  line-height: 1.8rem;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.2);
}

.pli-sectors-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
}

.pli-sectors-more:hover .pli-sectors-tooltip {
  visibility: visible;
  opacity: 1;
}

.pli-content h3 {
  font-size: 2.4rem;
  line-height: 3.2rem;
  color: var(--blue-2);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 1;
  -webkit-line-clamp: 1;
  max-height: 3.2rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pli-content-description {
  margin: 1.2rem 0 2.4rem 0;
}

.pli-content-description p {
  font-size: 1.6rem;
  line-height: 2.4rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*Project List*/
/*Project Detail*/
.project-detail-banner .project-detail-img {
  width: 100%;
  max-height: 600px;
  object-fit: cover;
}

.pds2-description {
  margin: 0 0 3.2rem 0;
  font-size: 2.4rem;
  line-height: 3.2rem;
}

.pds2-pointer-item .seperator-horizontal {
  margin: 1.6rem 0;
}

.pds2-pointer-item h4 {
  margin: 0 0 1.6rem 0;
  font-size: 2.4rem;
  line-height: 3.2rem;
  font-family: 'GeneralSans-Semibold';
  font-weight: 600;
}

.pds2-points-block {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 3.2rem;
  justify-content: space-between;
}

.pds2-pointer-item {
  max-width: 480px;
}

.project-detail-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 2.4rem;
  row-gap: 2.4rem;
}

.project-detail-gallery-item {
  cursor: pointer;
}

.pdg-item-img {
  width: 100%;
  height: 240px;
  border-radius: 3px;
  object-fit: cover;
}

/*Project Detail*/
/*Facilities*/
.facilities-title-section .section-title-block {
  max-width: 860px;
}

.fs1-list-block {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 2.4rem;
  row-gap: 4.8rem;
}

.facility-item-image {
  aspect-ratio: 2/1;
  margin: 0 0 1.6rem 0;
}

.facility-item-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 3px
}

.fs1-item h3 {
  font-size: 2.4rem;
  line-height: 3.2rem;
}

.fs1-item .seperator-horizontal {
  margin: 1.6rem 0;
}

.sector-services-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sector-services-list li {
  margin-bottom: 0.2rem;
  font-family: 'GeneralSans-Regular';
  font-weight: 700;
  /* Bold font */
  color: var(--blue-2);
  /* Blue color */
}

.sector-services-list .service-link {
  color: var(--blue-2);
  text-decoration: none;
  transition: opacity 0.25s ease;
}

.sector-services-list .service-link:hover {
  text-decoration: underline;
  opacity: 0.8;
}

.sector-services {
  margin: 3.2rem 0 0 0;
  font-family: 'GeneralSans-Bold';
  color: var(--blue-2);
}

.fs1-item-tags span {
  margin: 0 1.2rem 0 0;
  display: inline-block;
  padding: 1.2rem;
  background: var(--light-1);
  font-size: 2.4rem;
  line-height: 3.2rem;
}

.fs1-item-tags span:last-of-type {
  margin-right: 0;
}

.fs1-bottom-img {
  width: 100%;
  max-height: 600px;
}

/*Facilities*/
/*Capabilities*/
.capabilities-title-section .section-title-block {
  max-width: 1000px;
}

.caps1-content {
  justify-content: space-between;
  align-items: center;
}

.caps1-content-image {
  flex: 0 0 48%;
  max-width: 48%;
  align-self: stretch;
}

.caps1-banner-img {
  width: 100%;
  height: 700px;
  object-fit: cover;
}

.caps1-content-text {
  flex: 0 0 48%;
  max-width: 48%;
  font-size: 2.4rem;
  line-height: 3.2rem;
  color: rgba(23, 23, 23, 0.8)
}

.capabilities-sec-2 .cs2-item-left {
  padding-left: 0;
}

.capabilities-sec-2 .cs2-item-left h3 {
  color: var(--blue-1)
}

.capabilities-sec-2 .cs2-block-bottom {
  margin: 0 0 4rem 0;
}

.caps2-item {
  width: 33%;
  margin: 0 1.2rem;
}

.caps2-slider-img {
  width: 100%;
  height: 480px;
  object-fit: cover;
}

.caps2-slider-block {
  position: relative;
}

.caps2-nav-block .flickity-prev {
  left: 4rem;
}

.caps2-nav-block .flickity-next {
  right: 4rem;
}

.caps3-slider {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 3.2rem;
  row-gap: 4rem
}

.caps3-item-content {
  justify-content: space-between;
  align-items: flex-start;
}

.caps3-item-image {
  flex: 0 0 200px;
  max-width: 200px;
}

.caps3-img {
  width: 100%;
  height: 155px;
  object-fit: cover;
}

.caps3-item-description {
  flex: 0 0 calc(100% - 200px);
  max-width: calc(100% - 200px);
  padding-left: 2.4rem;
}

.caps3-item-description h3 {
  padding: 0 0 1.2rem 0;
  margin: 0 0 1.2rem 0;
  font-size: 2.4rem;
  line-height: 3.2rem;
  border-bottom: 2px solid var(--yellow)
}

.caps3-nav-block button {
  position: absolute;
  top: 25%;
  transform: translateY(-50%);
}

/*Capabilities*/
/*Sustainability*/
.sust-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}

.sust-card-img img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 3px;
  margin-bottom: 16px;
}

.sust-card h3 {
  font-size: 2rem;
  font-family: 'GeneralSans-Bold';
  margin-bottom: 12px;
  color: #171717;
}

.sust-card-desc {
  font-size: 1.6rem;
  line-height: 2.6rem;
  color: rgba(23, 23, 23, 0.8);
}

/* ===============================
   SUSTAINABILITY INTRO SECTION
================================ */

.sust-intro-grid {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 60px;
  align-items: flex-start;
}

.sust-intro-left h2 {
  font-size: 4.8rem;
  line-height: 5.6rem;
  font-family: 'GeneralSans-Bold';
  color: #171717;
}

.sust-intro-right {
  font-size: 1.8rem;
  line-height: 2.8rem;
  color: rgba(23, 23, 23, 0.85);
}

/* POPUP OVERLAY */
.sust-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.sust-popup-overlay.is-open {
  display: flex;
}

/* POPUP BOX */
.sust-popup {
  background: #fff;
  width: 90%;
  max-width: 520px;
  padding: 40px;
  border-radius: 6px;
  position: relative;
}

/* CLOSE */
.sust-popup-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  font-size: 2rem;
  cursor: pointer;
}

/* HEADER */
.sust-popup-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.sust-popup-icon {
  width: 40px;
  height: 40px;
  background: rgba(34, 64, 124, 1);
  /* ✅ REQUIRED COLOR */
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 1.8rem;
}

.sust-popup-header h3 {
  font-size: 2.4rem;
  font-family: 'GeneralSans-Bold';
  color: #171717;
}

/* CONTENT */
.sust-popup-content {
  font-size: 1.7rem;
  line-height: 2.6rem;
  color: rgba(23, 23, 23, 0.85);
}


/* CLOSE BUTTON */
.sust-popup-close {
  position: absolute;
  top: 16px;
  right: 16px;

  width: 36px;
  height: 36px;

  background: rgba(34, 64, 124, 1);
  /* REQUIRED COLOR */
  color: #ffffff;

  border: none;
  border-radius: 6px;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
  z-index: 10;
}

.sust-popup-close:hover {
  opacity: 0.85;
}

/* Responsive */
@media (max-width: 992px) {
  .sust-intro-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .sust-intro-left h2 {
    font-size: 3.6rem;
    line-height: 4.4rem;
  }
}

/* Responsive */
@media (max-width: 992px) {
  .sust-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .sust-cards-grid {
    grid-template-columns: 1fr;
  }
}

.sustainability-title-section .section-title-block {
  max-width: 960px;
}

.sust2-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 2.4rem;
  row-gap: 4rem;
}

.sust2-item .sus2-item-image {
  margin: 0 0 1.6rem 0;
  aspect-ratio: 3/2;
}

.sust2-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sust2-item h3 {
  font-size: 2.4rem;
  line-height: 3.2rem;
}

.sust2-item .seperator-horizontal {
  margin: 1.2rem 0;
}

.sus2-item-description {
  margin: 0 0 1.6rem 0;
}

.sus2-item-description p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 72px;
}

/*Sustainability*/
/*Susutainability detail*/
.sust-detail-sec-1 .cs1-image-block {
  margin: 0 0 3.2rem 0;
}

.sust-detail-sec-1 h2 {
  margin: 0 0 1.6rem 0;
}

.sust-detail-sec-1 .cs1-content {
  margin: 0 0 3.2rem 0;
}

.sust-detail-sec-2 .sust2-content {
  grid-template-columns: repeat(2, 1fr);
}

/*Susutainability detail*/
/* ==================================================
   CONTACT HERO – FINAL PRODUCTION CSS
   LEFT: INFO | RIGHT: FORM
================================================== */

.contact-sec-1.page-title-section {
  background: radial-gradient(120% 120% at 0% 0%,
      #1b1f6b 0%,
      #0b0f3a 45%,
      #06092b 100%);
  padding: 15rem 0;
}

/* ===== LAYOUT ===== */
.contact-sec-1 .ctsec1-content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  column-gap: 40px;
}

/* ===== LEFT SIDE (TEXT / INFO) ===== */
.contact-sec-1 .ctsec1-left {
  flex: 0 0 48%;
  max-width: 520px;
  padding-bottom: 0;
  padding-left: 70px;
}

.contact-sec-1 .ctsec1-left h2 {
  font-size: 5.6rem;
  line-height: 6.4rem;
  color: #fff;
  margin-bottom: 2rem;
}

.contact-sec-1 .ctsec1-left-content {
  color: rgba(255, 255, 255, 0.75);
  font-size: 1.8rem;
  line-height: 2.8rem;
}

/* CONTACT DETAILS LIST */
.contact-info-list {
  list-style: none;
  padding: 0;
  margin-top: 3.2rem;
}

.contact-info-list li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 1.6rem;
  font-size: 1.8rem;
  color: #fff;
}

.contact-details-social-link {
  padding-left: 5rem;
}

.contact-details-social-link a {
  color: #fff;
  text-decoration: underline;
  padding-right: 10px
}

.icon-box {
  width: 36px;
  height: 36px;
  background: #F3A93C;
  color: #171717;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 1.6rem;
}

/* ===== RIGHT SIDE (FORM) ===== */
.contact-sec-1 .ctsec1-right {
  flex: 0 0 48%;
  max-width: 520px;
  padding-right: 70px;
}

/* REMOVE IMAGE BLOCK */
.contact-sec-1 .ctsec1-right-image {
  display: none;
}

/* SMALL TEXT ABOVE FORM */
.contact-form-eyebrow {
  font-size: 1.9rem;
  line-height: 2.4rem;
  font-weight: bold;
  color: #fff;
  margin-bottom: 2.4rem;

}

/* FORM STACK */
.contact-sec-1 .ctsec1-form-block form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* INPUTS */
.contact-sec-1 .ctsec1-form-block input,
.contact-sec-1 .ctsec1-form-block textarea {
  background: transparent !important;
  border: 1px solid #F3A93C !important;
  color: #fff;
  padding: 1.8rem 2rem;
  font-size: 1.6rem;
  border-radius: 4px;
}

.contact-sec-1 .ctsec1-form-block textarea {
  min-height: 200px;
  resize: none;
}

/* PLACEHOLDER */
.contact-sec-1 .ctsec1-form-block ::placeholder {
  color: rgba(255, 255, 255, 0.6);
}

/* ===============================
   CF7 SUBMIT BUTTON – FINAL
   Matches site buttons + arrow
================================ */

.contact-sec-1 .ctsec1-form-block input.wpcf7-submit {
  appearance: none;
  -webkit-appearance: none;
  all: unset;
  /* reset CF7 defaults safely */

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 1.6rem 4.8rem 1.6rem 3.2rem;
  /* extra right space for arrow */
  background: #F3A93C !IMPORTANT;
  color: #171717;

  font-family: 'GeneralSans-Semibold';
  font-size: 1.8rem;
  line-height: 2rem;

  border-radius: 3px;
  cursor: pointer;

  position: relative;
  transition: background 0.25s ease;
}

/* Hover background */
.contact-sec-1 .ctsec1-form-block input.wpcf7-submit:hover {
  background: #e09a2f;
}

/* Arrow */
.contact-sec-1 .ctsec1-form-block input.wpcf7-submit::after {
  content: "→";
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2rem;
  line-height: 1;
  transition: transform 0.25s ease;
}

/* Arrow slide on hover */
.contact-sec-1 .ctsec1-form-block input.wpcf7-submit:hover::after {
  transform: translate(6px, -50%);
}

.ctsec2-description {
  margin-bottom: 2rem;
}

/* ===== MOBILE ===== */
@media (max-width: 992px) {
  .contact-sec-1 .ctsec1-content {
    flex-direction: column;
    gap: 4rem;
  }

  .contact-sec-1 .ctsec1-left,
  .contact-sec-1 .ctsec1-right {
    max-width: 100%;
    padding-left: 0px;
    padding-right: 0px
  }

  .contact-sec-1 .ctsec1-left h2 {
    font-size: 4rem;
    line-height: 4.8rem;
  }
}

.location-list-left,
.location-list-right {
  flex: 0 0 48%;
  max-width: 48%;
  align-self: stretch;
}

.location-item {
  padding: 1.6rem 1.2rem;
  border-left: 2px solid transparent
}

.location-item a {
  display: block;
}

.location-item a h3 {
  margin: 0 0 1.2rem 0;
  font-size: 2.4rem;
  line-height: 3.2rem;
  color: var(--blue-2);
}

.location-item .location-address {
  color: rgba(33, 33, 33, 0.8);
}

.location-item.active,
.location-item:hover {
  background: var(--light-1);
  border-left: 2px solid var(--yellow)
}

.location-item.active a h3 {
  color: var(--dark);
}

.location-item.active .location-address {
  font-family: 'GeneralSans-Semibold';
  font-weight: 600;
}

.location-nav-block {
  margin: 0 0 1.6rem 0;
  text-align: right
}

.location-nav-block .flickity-prev {
  margin-right: 1.2rem;
}

/*Contact*/
/*Products*/
.products-sec-2 .hs4-content-block,
.products-sec-2 .hs4-content-block .section-title-block {
  max-width: 100%;
}

.products-sec-2 .hs4-content-block .hs4-intro {
  max-width: 700px;
  margin: 1.6rem auto 0 auto;
}

.product-list .pli-content-cta {
  margin: 2.4rem 0 0 0;
}

.project-list.product-list {
  display: block;
}

.product-list .project-list-item {
  width: 100%;
  margin: 0 1.6rem;
}

.product-list .project-list-item .pli-image {
  aspect-ratio: 3.5 / 2.4;
}

.product-list .project-list-item .pli-image .pli-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-slider-block {
  margin: 3.2rem 0 0 0;
}

/*Products*/
/*Sub Product*/
.sub-product-sec-2 .cs2-content-block {
  margin: 0 0 3.2rem 0;
}

.sub-product-sec-2 .cs2-content-block,
.sub-product-sec-2 .cs2-content-block .section-title-block {
  max-width: 100%;
}

.sub-product-sec-2 .cs2-content-block .cs2-text {
  max-width: 650px;
}

.scroll_tabs_container,
.scroll_tabs_container div.scroll_tab_inner {
  height: 56px;
}

.scroll_tabs_container {
  margin: 0 0 3.2rem 0;
  border: 0px none;
}

.scroll_tabs_container div.scroll_tab_inner li {
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0px none;
  font-size: 1.8rem;
  line-height: 2.4rem;
  margin: 0 1.6rem;
}

.scroll_tabs_container div.scroll_tab_inner li a {
  display: inline-block;
  margin: 0;
  padding: 1.5rem 3.2rem;
  min-width: 220px;
  background: #fff;
  border: 1px solid var(--blue-2) !important;
  font-family: 'GeneralSans-Semibold';
  font-weight: 600;
  border-radius: 0;
  text-align: center;
  color: var(--blue-2);
  border-radius: 3px;
}

.scroll_tabs_container div.scroll_tab_inner li a.active,
.scroll_tabs_container div.scroll_tab_inner li a:hover,
.scroll_tabs_container div.scroll_tab_inner li a:focus,
.scroll_tabs_container div.scroll_tab_inner li a:active {
  color: var(--white);
  background: var(--blue-2)
}



.scroll_tabs_container .scroll_tab_left_button {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" viewBox="0 0 56 56" fill="none"><rect width="56" height="56" rx="3" fill="%23F3A93C"/><path d="M38 27C38.5523 27 39 27.4477 39 28C39 28.5523 38.5523 29 38 29V27ZM17.2929 28.7071C16.9024 28.3166 16.9024 27.6834 17.2929 27.2929L23.6569 20.9289C24.0474 20.5384 24.6805 20.5384 25.0711 20.9289C25.4616 21.3195 25.4616 21.9526 25.0711 22.3431L19.4142 28L25.0711 33.6569C25.4616 34.0474 25.4616 34.6805 25.0711 35.0711C24.6805 35.4616 24.0474 35.4616 23.6569 35.0711L17.2929 28.7071ZM38 29L18 29V27L38 27V29Z" fill="%23171717"/></svg>') no-repeat center;
  width: 56px !important;
  height: 56px;
  z-index: 2;
}

.scroll_tabs_container .scroll_tab_left_button:hover,
.scroll_tabs_container .scroll_tab_left_button:focus,
.scroll_tabs_container .scroll_tab_left_button:active {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" viewBox="0 0 56 56" fill="none"><rect width="56" height="56" rx="3" fill="%23F3A93C"/><path d="M38 27C38.5523 27 39 27.4477 39 28C39 28.5523 38.5523 29 38 29V27ZM17.2929 28.7071C16.9024 28.3166 16.9024 27.6834 17.2929 27.2929L23.6569 20.9289C24.0474 20.5384 24.6805 20.5384 25.0711 20.9289C25.4616 21.3195 25.4616 21.9526 25.0711 22.3431L19.4142 28L25.0711 33.6569C25.4616 34.0474 25.4616 34.6805 25.0711 35.0711C24.6805 35.4616 24.0474 35.4616 23.6569 35.0711L17.2929 28.7071ZM38 29L18 29V27L38 27V29Z" fill="%23171717"/></svg>') no-repeat center;
}

.scroll_tabs_container .scroll_tab_right_button {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" viewBox="0 0 56 56" fill="none"><rect width="56" height="56" rx="3" fill="%23F3A93C"/><path d="M18 27C17.4477 27 17 27.4477 17 28C17 28.5523 17.4477 29 18 29V27ZM38.7071 28.7071C39.0976 28.3166 39.0976 27.6834 38.7071 27.2929L32.3431 20.9289C31.9526 20.5384 31.3195 20.5384 30.9289 20.9289C30.5384 21.3195 30.5384 21.9526 30.9289 22.3431L36.5858 28L30.9289 33.6569C30.5384 34.0474 30.5384 34.6805 30.9289 35.0711C31.3195 35.4616 31.9526 35.4616 32.3431 35.0711L38.7071 28.7071ZM18 29L38 29V27L18 27V29Z" fill="%23171717"/></svg>') no-repeat center;
  width: 56px !important;
  height: 56px;
}

.scroll_tabs_container .scroll_tab_right_button:hover,
.scroll_tabs_container .scroll_tab_right_button:focus,
.scroll_tabs_container .scroll_tab_right_button:active {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" viewBox="0 0 56 56" fill="none"><rect width="56" height="56" rx="3" fill="%23F3A93C"/><path d="M18 27C17.4477 27 17 27.4477 17 28C17 28.5523 17.4477 29 18 29V27ZM38.7071 28.7071C39.0976 28.3166 39.0976 27.6834 38.7071 27.2929L32.3431 20.9289C31.9526 20.5384 31.3195 20.5384 30.9289 20.9289C30.5384 21.3195 30.5384 21.9526 30.9289 22.3431L36.5858 28L30.9289 33.6569C30.5384 34.0474 30.5384 34.6805 30.9289 35.0711C31.3195 35.4616 31.9526 35.4616 32.3431 35.0711L38.7071 28.7071ZM18 29L38 29V27L18 27V29Z" fill="%23171717"/></svg>') no-repeat center;
}

.scroll_tabs_container .scroll_tab_left_button:before,
.scroll_tabs_container .scroll_tab_right_button:before {
  content: none;
}

.subproduct-slide-item {
  width: 33%;
  margin: 0 1.2rem;
}

.sub-product-slide-image {
  aspect-ratio: 1/1;
}

.sub-product-item-img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 3px;
}

.subproduct-slider-block {
  position: relative;
  margin: 4.8rem 0 0 0;
}

.subproduct-tab-title-mobile {
  display: none;
}

/*Sub Product*/
/*Filters*/
.filter-block {
  justify-content: flex-start;
  align-items: center;
  margin-top: 3.2rem;
}

.filter-block-select {
  flex: 0 0 230px;
  max-width: 230px;
}

.filter-block-options {
  flex: 0 0 calc(100% - 230px);
  max-width: calc(100% - 230px);
  padding-left: 2.4rem;
  /* margin:1.6rem 0 0 0; */
}

.filter-block-select .select2-container--default .select2-selection--multiple,
.filter-block-select .select2-results__option {
  padding: 0.8rem 3.2rem 0.8rem 4rem;
  font-family: 'GeneralSans-Regular' !important;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2.4rem;
  border: 1px solid #C2C1C1;
  border-radius: 3px;
}

.select2-results__option {
  font-size: 1.6rem;
  line-height: 2.4rem;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background: var(--light-1);
  color: var(--black);
  font-size: 1.6rem;
  line-height: 2.4rem;
}

.select2-container--default .select2-results__option--selected {
  background: var(--yellow);
}

.filter-block-select .select2-container--default .select2-selection--multiple:before {
  content: '';
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" viewBox="0 0 22 20" fill="none"><path d="M21 1H1L9 10.46V17L13 19V10.46L21 1Z" stroke="black" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat top left;
}

.filter-block-select .select2-container--default .select2-selection--multiple:after {
  content: '';
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M6 9L12 15L18 9" stroke="black" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat top left;
}

.filter-block-select .select2-container .select2-search--inline .select2-search__field {
  margin: 0;
  height: 24px;
}

.filter-block-select .select2-container .select2-selection--multiple .select2-selection__rendered {
  display: block;
  height: 0;
  margin: 0;
}

.filter-block-select .select2-container--default .select2-selection--multiple .select2-selection__clear {
  right: 32px;
  margin: 0;
  top: 7px;
}

.filter-option {
  display: inline-block;
  margin-right: 2.4rem;
  font-size: 1.8rem;
  line-height: 2.4rem;
  color: #000;
}

.filter-option .remove-text {
  position: relative;
  top: 2px;
  margin: 0.2rem 0.4rem 0 0;
}

/*Filters*/
.hs2-video-block h5 {
  margin: 1.6rem 0 1.2rem 0;
  font-size: 1.8rem;
  line-height: 2.4rem
}

.hs2-video-item {
  width: 240px;
  height: auto;
}

.related-products-grid .project-list {
  margin-top: 3.2rem;
  grid-template-columns: repeat(2, 1fr);
}

.sub-product-sec-1 ul {
  padding-left: 0;
}

.sub-product-sec-1 ul li {
  margin: 0 0 1.2rem 0;
  padding-left: 3.2rem;
  list-style: none;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M11.4844 21C11.3281 19.9844 10.875 18.8906 10.125 17.7187C9.39062 16.5469 8.34375 15.4453 6.98438 14.4141C5.60937 13.3672 4.28125 12.7187 3 12.4687V11.4844C4.29687 11.1875 5.55469 10.6094 6.77344 9.75C7.99219 8.89062 9.02344 7.86719 9.86719 6.67969C10.7109 5.47656 11.25 4.25 11.4844 3H12.4688C12.6094 3.79687 12.8906 4.60156 13.3125 5.41406C13.75 6.22656 14.3047 7.00781 14.9766 7.75781C15.6484 8.49219 16.3906 9.15625 17.2031 9.75C18.4375 10.625 19.7031 11.2031 21 11.4844V12.4687C20.125 12.6406 19.2266 12.9922 18.3047 13.5234C17.3984 14.0547 16.5547 14.6797 15.7734 15.3984C14.9922 16.1172 14.3516 16.875 13.8516 17.6719C13.0859 18.8906 12.625 20 12.4688 21H11.4844ZM11.8125 20.4375H12.1406C12.2187 19.625 12.3437 18.8125 12.5156 18C12.7031 17.1719 12.9141 16.4062 13.1484 15.7031C13.3984 15 13.6562 14.4219 13.9219 13.9687C14.4531 13.6719 15.0859 13.3984 15.8203 13.1484C16.5703 12.8984 17.3437 12.6875 18.1406 12.5156C18.9531 12.3437 19.7031 12.2344 20.3906 12.1875V11.8594C19.7031 11.7969 18.9453 11.6797 18.1172 11.5078C17.3047 11.3203 16.5234 11.1016 15.7734 10.8516C15.0234 10.5859 14.4062 10.3125 13.9219 10.0312C13.6562 9.5625 13.3984 8.98437 13.1484 8.29688C12.9141 7.59375 12.7031 6.84375 12.5156 6.04687C12.3437 5.23438 12.2187 4.42187 12.1406 3.60937H11.8125C11.75 4.34375 11.6328 5.10937 11.4609 5.90625C11.3047 6.6875 11.1016 7.4375 10.8516 8.15625C10.6016 8.875 10.3281 9.5 10.0312 10.0312C9.53125 10.3125 8.91406 10.5859 8.17969 10.8516C7.44531 11.1016 6.67188 11.3203 5.85938 11.5078C5.04688 11.6797 4.28125 11.7969 3.5625 11.8594V12.1875C4.28125 12.2344 5.03906 12.3437 5.83594 12.5156C6.63281 12.6875 7.39844 12.8984 8.13281 13.1484C8.86719 13.3984 9.5 13.6719 10.0312 13.9687C10.3281 14.4687 10.5937 15.0859 10.8281 15.8203C11.0781 16.5391 11.2891 17.3047 11.4609 18.1172C11.6328 18.9141 11.75 19.6875 11.8125 20.4375Z" fill="%23131348"/></svg>');
  background-size: 24px;
  background-position: left center;
  background-repeat: no-repeat;
  font-family: 'GeneralSans-Semibold';
  font-size: 1.8rem;
  line-height: 2.6rem;
  font-weight: 600;
  color: #212121;
}

.cs5-description {
  margin: 0rem 0 3.2rem 0;
  font-size: 2.4rem;
  line-height: 3.2rem;
}

.capabilities-sec-3.capabilities-template-sec .project-list {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem 2.4rem;
}

.caps3-card {
  background: var(--light-1);
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.caps3-card-image {
  width: 100%;
  height: 280px;
  /* Slightly taller for better proportions */
}

.caps3-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.caps3-card-content {
  padding: 2.2rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.caps3-card-title {
  color: var(--blue-2);
  font-family: 'GeneralSans-Semibold';
  font-size: 2.2rem;
  line-height: 1.2;
  margin-bottom: 0.6rem;
}

.caps3-card-desc {
  color: #555;
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 2.4rem;
  flex-grow: 1;
}

.caps3-card-btn {
  background: var(--yellow);
  color: #000;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  font-size: 2rem;
  text-decoration: none !important;
  transition: all 0.3s ease;
}

.caps3-card-btn:hover {
  background: var(--blue-2);
  color: var(--white);
  transform: translateX(5px);
}

@media screen and (max-width: 991px) {
  .capabilities-sec-3.capabilities-template-sec .project-list {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }

  .caps3-card-image {
    height: 200px;
  }
}

/* Section 6 Refinements */
.capabilities-sec-6 .qhse-content {
  align-items: center;
}

.capabilities-sec-6 .qhse-item-image,
.capabilities-sec-6 .qhse-item-img {
  height: auto;
  max-height: 400px;
  /* Limit height to stay proportional to text */
  object-fit: cover;
}

@media screen and (max-width: 991px) {
  .capabilities-sec-6 .qhse-content {
    align-items: flex-start;
  }
}

.mdi-img {
  object-fit: cover;
}

.hs2-left .hs2-description p {
  position: relative;
}

.hs2-left .hs2-description p:after {
  content: 'Read More';
  font-family: 'GeneralSans-SemiBold';
  display: inline-block;
  margin-left: 0.8rem;
  cursor: pointer
}

.team-sec-1 .hs2-left .hs2-description p:after {
  content: none;
}


/* =========================
   SECTORS / FACILITIES PAGE
========================= */

.sectors-page {
  padding: 8rem 0;
}

.sectors-header {
  max-width: 860px;
  margin-bottom: 6rem;
}

.sectors-header h2 {
  font-size: 5.6rem;
  line-height: 6.4rem;
  font-family: 'GeneralSans-Semibold';
  margin-bottom: 1.6rem;
}

.sectors-header p {
  font-size: 2.4rem;
  line-height: 3.2rem;
  color: rgba(23, 23, 23, 0.8);
}

/* GRID */
.fs1-list-block {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 2.4rem;
  row-gap: 4.8rem;
}

/* CARD */
.fs1-item {
  border-radius: 6px;
  transition: all 0.3s ease;
}

.fs1-item:hover {
  transform: translateY(-4px);
}

/* IMAGE */
.facility-item-image {
  aspect-ratio: 2 / 1;
  margin-bottom: 1.6rem;
  overflow: hidden;
  border-radius: 3px;
}

.facility-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* CONTENT */
.fs1-item-content h3 {
  font-size: 2.4rem;
  line-height: 3.2rem;
  font-family: 'GeneralSans-Semibold';
  margin-bottom: 1.2rem;
}

.fs1-item-content p {
  font-size: 1.8rem;
  line-height: 2.6rem;
  margin-bottom: 1.6rem;
  color: rgba(23, 23, 23, 0.85);
}

/* SERVICES LIST */
.fs1-item-content ul {
  list-style: none;
  padding: 0;
  margin: 0 0 2.4rem 0;
}

.fs1-item-content ul li {
  position: relative;
  padding-left: 2.8rem;
  margin-bottom: 1.2rem;
  font-family: 'GeneralSans-Semibold';
  font-size: 1.8rem;
}

.fs1-item-content ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  width: 8px;
  height: 8px;
  background: var(--yellow);
  border-radius: 50%;
}

/* CTA */
.fs1-item-content .text-link {
  font-family: 'GeneralSans-Semibold';
  font-size: 1.8rem;
  color: var(--blue-2);
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .fs1-list-block {
    grid-template-columns: 1fr;
  }

  .sectors-header h2 {
    font-size: 4rem;
    line-height: 4.8rem;
  }
}

.sector-services {
  margin-top: 8px;
  font-family: inherit;
  font-weight: bold;
  text-shadow: 0.2px 0 0 #22407C;
  color: #22407C;
  line-height: 1.4;
  font-size: 16px;
  line-height: 28px;
}

/* SECTOR BUTTON */
.btn-sector {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  background-color: #F3A93C;
  color: #171717;

  font-family: 'GeneralSans-Semibold';
  font-size: 1.6rem;
  line-height: 1;

  padding: 10px 16px;
  border-radius: 4px;

  text-decoration: none;
  white-space: nowrap;

  transition: all 0.25s ease;
}

.btn-sector:hover {
  background-color: #e09a2f;
  color: #171717;
}

/* Arrow styling */
.btn-sector .btn-arrow {
  font-size: 1.8rem;
  line-height: 1;
  transition: transform 0.25s ease;
}

/* Hover animation (RIGHT direction) */
.btn-sector:hover .btn-arrow {
  transform: translateX(4px);
}

/* Header alignment (CRITICAL) */
.fs1-item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.fs1-item-header h3 {
  margin: 0;
}


/* =========================
   SECTORS CARD – MOBILE
========================= */
@media (max-width: 768px) {

  /* Card spacing */
  .fs1-item {
    display: flex;
    flex-direction: column;
  }

  /* Image full width */
  .facility-item-image {
    width: 100%;
    margin-bottom: 16px;
  }

  .facility-item-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  /* Title + button stack */
  .fs1-item-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
  }

  .fs1-item-header h3 {
    font-size: 2.2rem;
    line-height: 3rem;
  }

  /* Button full width */
  .btn-sector {
    width: 100%;
    justify-content: center;
    padding: 14px 16px;
    font-size: 1.6rem;
  }

  /* Separator spacing */
  .seperator-horizontal {
    margin: 16px 0;
  }

  /* Description */
  .fs1-item-description p {
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin-bottom: 16px;
  }

  /* Services list */
  .sector-services {
    margin-top: 8px;
  }

  .sector-services br {
    display: none;
  }

  .sector-services {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
}

/* FILTER WRAPPER */
.projects-filter-wrapper {
  padding: 24px 0;
}

/* TOGGLE BUTTON */
.filter-toggle {
  background: #fff;
  border: 1px solid #d9d9d9;
  padding: 12px 18px;
  border-radius: 6px;
  font-size: 1.6rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* Filter panel hidden by default */
.filter-panel {
  display: none;
  margin-top: 24px;
  background: #fff;
  padding: 24px;
  border-radius: 8px;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* When open */
.filter-panel.is-open {
  display: grid;
}


/* FILTER BOX */
.filter-box h4 {
  font-size: 2rem;
  margin-bottom: 12px;
  border-bottom: 2px solid #F3A93C;
  padding-bottom: 8px;
}

/* OPTIONS */
.filter-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
  font-size: 1.6rem;
}

.filter-option input {
  width: 20px;
  height: 20px;
  accent-color: #F3A93C;
}

/* ACTIONS */
.filter-actions {
  grid-column: span 3;
  text-align: right;
}

/* MOBILE */
@media (max-width: 768px) {
  .filter-panel {
    grid-template-columns: 1fr;
  }

  .filter-actions {
    text-align: center;
  }
}


.custom-margin-left {
  margin: 0px 0px 0px 0px;
}


/* ===== FACILITIES CUSTOM GRID ===== */

.fs1-custom-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  /* Equal columns */
  gap: 40px;
  margin-top: 40px;
  align-items: center;
}

/* LEFT BIG */
.facility-big img,
.facility-small img {
  width: 100%;
  /* Same height for all */
  object-fit: cover;
  border-radius: 3px;
}

/* TITLE STYLING */
.facility-big h3,
.facility-small h4 {
  margin-top: 16px;
  font-size: 1.9rem;
  font-family: 'GeneralSans-Bold';
  font-weight: 700 !important;
  color: #000000 !important;
}



/* Yellow line */
.yellow-line {
  width: 100%;
  height: 4px;
  background: #F3A93C;
  margin-top: 12px;
}

/* RIGHT GRID */
.facility-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

/* Ensure equal spacing */
.facility-big,
.facility-small {
  display: flex;
  flex-direction: column;
}

/* MOBILE */
@media (max-width: 992px) {
  .fs1-custom-grid {
    grid-template-columns: 1fr;
  }

  .facility-grid {
    grid-template-columns: 1fr;
  }

  .facility-big img,
  .facility-small img {
    height: 220px;
  }
}

/* =====================================================
   FACILITY DETAIL PAGE – FINAL PRODUCTION CSS
===================================================== */

/* ===== SECTION SPACING ===== */
.facility-detail-section {
  padding: 80px 0;
}

/* =====================================================
   1️⃣  TWO COLUMN SECTION (Image + Content)
===================================================== */

.facility-two-col {
  display: grid;
  grid-template-columns: 539px 1fr;
  /* Figma width */
  gap: 60px;
  align-items: center;
}

.facility-left img {
  width: 100%;
  height: 303px;
  /* Figma height */
  object-fit: cover;
  border-radius: 3px;
}

.facility-right h2 {
  font-size: 2rem;
  line-height: 2.2rem;
  font-family: 'GeneralSans-Bold';
  color: #000;
  margin-bottom: 10px;
}

.facility-desc {
  font-size: 1.8rem;
  line-height: 2.8rem;
  color: #171717;
}

/* =====================================================
   2️⃣  INLINE IMAGE POINTER SECTION (2–5 Dynamic)
===================================================== */
/* ===== FACILITY STATS – INLINE CARD STYLE ===== */

.facility-stats-new {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 40px;
  margin-top: 100px;
  text-align: center;
  align-items: end;
}

/* CARD */
.facility-stat-new {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* IMAGE */
.facility-stat-new .stat-image img {
  width: 100%;
  height: 100%;
  /*   object-fit: cover; */
  border-radius: 3px;
  margin-bottom: 16px;
  padding: 10px
}

/* INLINE TEXT */
.facility-stat-new .stat-text {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 1.8rem;
  line-height: 2.4rem;
  white-space: nowrap;
}

/* LABEL */
.facility-stat-new .stat-label {
  color: rgba(23, 23, 23, 0.6);
  font-weight: 400;
  font-size: 1.6rem;
}

/* SEPARATOR */
.facility-stat-new .stat-sep {
  color: rgba(243, 169, 60, 1);
}

/* VALUE */
.facility-stat-new .stat-value {
  color: #1b1f6b;
  font-weight: 700;

}

/* SUPERSCRIPT */
.facility-stat-new .stat-value sup {
  font-size: 1.2rem;
  vertical-align: super;
  margin-left: 2px;
}

/* =====================================================
   3️⃣  SECOND HEADING + DESCRIPTION
===================================================== */

.facility-section-heading {
  margin-top: 100px;
}

.facility-section-heading h3 {
  font-size: 3rem;
  font-family: 'GeneralSans-Bold';
  margin-bottom: 20px;
  color: #000;
}

.facility-section-heading p {
  font-size: 1.8rem;
  line-height: 2.8rem;
  color: #171717;
}

/* =====================================================
   4️⃣  GREY BOX SECTION
===================================================== */

.facility-grey-box {
  background: rgb(240 240 247);
  padding: 60px;
  border-radius: 6px;
  margin-top: 80px;
}

.facility-grey-box h3 {
  font-size: 3rem;
  font-family: 'GeneralSans-Bold';
  margin-bottom: 20px;
  color: #000;
}

.facility-grey-box p {
  font-size: 1.8rem;
  line-height: 2.8rem;
  color: #171717;
}

/* =====================================================
   5️⃣  FULL WIDTH GALLERY IMAGE
===================================================== */

.facility-full-image {
  margin-top: 40px;
}

.facility-full-image img {
  width: 100%;
  height: 450px;
  object-fit: cover;
  border-radius: 3px;
}

/* =====================================================
   6️⃣  VIEW PHOTOS BUTTON
===================================================== */

.facility-gallery-btn {
  text-align: center;
  margin-top: 40px;
}

/* Uses your existing .btn-sector style */


/* =====================================================
   MOBILE RESPONSIVE
===================================================== */

@media (max-width: 992px) {

  .facility-two-col {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .facility-left img {
    height: auto;
  }

  .facility-stats {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 24px;
    margin-top: 60px;
  }

  .facility-stat-item img {
    height: 200px;
  }

  .facility-section-heading,
  .facility-grey-box {
    margin-top: 60px;
  }

  .facility-grey-box {
    padding: 30px;
  }

  .facility-full-image img {
    height: 280px;
  }

  .facility-right h2 {
    font-size: 2.8rem;
    line-height: 3.6rem;
  }

  .facility-section-heading h3,
  .facility-grey-box h3 {
    font-size: 2.4rem;
  }

}


/* ===== SUB GALLERIES SECTION ===== */



.facility-gallery-card {
  background: #fff;
  border-radius: 6px;
  padding: 20px;
  transition: 0.3s ease;
}

.facility-gallery-card:hover {
  transform: translateY(-6px);
}

.facility-gallery-thumb {
  margin-bottom: 16px;
}

.facility-gallery-thumb img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  border-radius: 3px;
}

.facility-gallery-content h3 {
  font-size: 2.2rem;
  font-weight: 700;
  color: #171717;
}

.facility-gallery-content p {
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: rgba(23, 23, 23, 0.8);
  margin: 16px 0;
}


/* ===== 3-CARD SPECIAL GRID ===== */

.facility-sub-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: auto;
  gap: 40px;
  align-items: stretch;
}

/* Default card styling */
.facility-sub-card {
  background: #f5f6fa;
  border-radius: 6px;
  overflow: hidden;
}

/* CARD 1 – LEFT TOP */
.facility-sub-card:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}

/* CARD 2 – LEFT BOTTOM */
.facility-sub-card:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}

/* CARD 3 – RIGHT CENTER (SPANS BOTH ROWS) */
.facility-sub-card:nth-child(3) {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
}

/* IMAGE */
.facility-sub-thumb img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}

/* CONTENT */
.facility-sub-content {
  padding: 24px;
  background-color: rgb(240 240 247);
}

.facility-sub-content h3 {
  font-size: 2.2rem;
  font-family: 'GeneralSans-Bold';
  color: #000;
  margin-bottom: 8px;
}

.facility-sub-content p {
  font-size: 1.6rem;
  line-height: 1.6;
  color: rgba(23, 23, 23, 0.8);
  margin-bottom: 20px;
}

/* ===== MOBILE ===== */
@media (max-width: 768px) {
  .facility-sub-grid {
    grid-template-columns: 1fr;
  }

  .facility-sub-card:nth-child(3) {
    grid-column: 1;
    grid-row: auto;
    align-self: stretch;
  }
}


/* INLINE GALLERY */
.facility-inline-gallery {
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  padding: 24px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.facility-inline-gallery .fg-layout {
  height: 600px;
  /* Fixed height for consistency */
}

/* OVERLAY */
.fg-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: none;
  z-index: 9999;
}

.fg-overlay.open {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* MODAL */
.fg-modal {
  background: #fff;
  width: 92%;
  max-width: 1200px;
  height: 85vh;
  border-radius: 6px;
  position: relative;
  padding: 20px;
}

/* CLOSE */
.fg-close {
  position: absolute;
  top: 14px;
  right: 14px;
  background: #22407C;
  color: #fff;
  border: none;
  font-size: 18px;
  width: 36px;
  height: 36px;
  border-radius: 6px;
  cursor: pointer;
  z-index: 10;
}

/* LAYOUT */
.fg-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 24px;
  height: 100%;
}

/* MAIN IMAGE */
.fg-main {
  background: #f2f2f2;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 4px;
}

.fg-main img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* RIGHT PANEL */
.fg-side {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  padding-top: 20px;
}

.fg-modal .fg-side {
  padding-top: 60px;
}

.fg-side h3 {
  font-size: 18px;
  margin-bottom: 12px;
  font-weight: 700;
  color: #171717;
}

/* THUMB GRID */
.fg-thumbs {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-content: start;
  gap: 12px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 6px;
}

.fg-thumbs img {
  width: 100%;
  height: 80px;
  object-fit: cover;
  border-radius: 4px;
  cursor: pointer;
  opacity: 0.7;
  border: 2px solid transparent;
  transition: all 0.2s ease;
}

.fg-thumbs img:hover {
  opacity: 1;
}

.fg-thumbs img.active {
  opacity: 1;
  border-color: #F3A93C;
}

/* NAV BUTTONS AT BOTTOM */
.fg-nav {
  flex-shrink: 0;
  margin-top: 16px;
  display: flex;
  gap: 10px;
}

.fg-nav button {
  background: #F3A93C;
  border: none;
  padding: 10px 16px;
  font-size: 18px;
  cursor: pointer;
  border-radius: 4px;
  color: #171717;
  transition: background 0.2s ease;
}

.fg-nav button:hover {
  background: #e59a2e;
}

/* MOBILE */
@media (max-width: 991px) {
  .facility-inline-gallery .fg-layout {
    height: auto;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .fg-layout {
    grid-template-columns: 1fr;
    height: auto;
  }

  .fg-modal {
    height: 90vh;
    padding: 15px;
  }

  .fg-side {
    height: auto;
    padding-top: 20px;
  }

  .fg-thumbs {
    grid-template-columns: repeat(4, 1fr);
    max-height: 200px;
  }
}