
/* Shared CFIS custom navigation */
.cfis-global-header,
.cfis-global-header *{box-sizing:border-box}
.cfis-global-header{
  position:relative;
  z-index:9999;
  width:100%;
  background:#051d35;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-family:Arial,Helvetica,sans-serif;
}
.cfis-global-inner{
  width:min(1180px,calc(100% - 46px));
  min-height:76px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.cfis-global-logo{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  text-decoration:none;
}
.cfis-global-logo img{
  display:block;
  width:205px;
  max-height:58px;
  object-fit:contain;
  object-position:left center;
}
.cfis-global-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:30px;
  margin-left:auto;
}
.cfis-global-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:76px;
  color:#fff!important;
  font-size:13px;
  font-weight:700;
  line-height:1;
  text-decoration:none!important;
  text-transform:uppercase;
  white-space:nowrap;
}
.cfis-global-nav a:not(.cfis-global-quote):after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:16px;
  height:3px;
  background:#ff6700;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .2s ease;
}
.cfis-global-nav a:hover:after,
.cfis-global-nav a.is-active:after{transform:scaleX(1)}
.cfis-global-nav a.is-active{color:#ff6700!important}
.cfis-global-nav .cfis-global-quote{
  min-height:auto;
  padding:15px 19px;
  border-radius:4px;
  background:#ff6700;
  color:#fff!important;
}
.cfis-global-nav .cfis-global-quote:hover{background:#e85e00}
.cfis-global-toggle{
  display:none;
  width:44px;
  height:40px;
  padding:8px;
  border:0;
  background:transparent;
  cursor:pointer;
}
.cfis-global-toggle span{
  display:block;
  width:100%;
  height:2px;
  margin:5px 0;
  background:#fff;
}

@media(max-width:1020px){
  .cfis-global-inner{min-height:72px}
  .cfis-global-toggle{display:block;margin-left:auto}
  .cfis-global-nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:10px 23px 20px;
    background:#051d35;
    box-shadow:0 16px 30px rgba(0,0,0,.24);
  }
  .cfis-global-nav.is-open{display:flex}
  .cfis-global-nav a{
    min-height:48px;
    border-bottom:1px solid rgba(255,255,255,.09);
  }
  .cfis-global-nav a:not(.cfis-global-quote):after{
    left:0;
    right:auto;
    bottom:7px;
    width:34px;
  }
  .cfis-global-nav .cfis-global-quote{
    justify-content:center;
    margin-top:14px;
    border-bottom:0;
  }
}
@media(max-width:600px){
  .cfis-global-inner{width:min(100% - 28px,1180px)}
  .cfis-global-logo img{width:175px}
}


.cfis-about-v2,.cfis-about-v2 *{box-sizing:border-box}
.cfis-about-v2{--navy:#051d35;--navy2:#082a4d;--orange:#ff6700;--ink:#0a2039;--text:#26374b;--line:#d9dee5;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff}
.cfis-about-v2 .cfis-shell{width:min(1180px,calc(100% - 46px));margin:auto}
.cfis-about-v2 h1,.cfis-about-v2 h2,.cfis-about-v2 h3,.cfis-about-v2 p{margin-top:0}
.cfis-about-v2 h1,.cfis-about-v2 h2,.cfis-about-v2 h3{color:var(--ink)!important;opacity:1!important;text-shadow:none!important}
.cfis-about-v2 .cfis-hero{min-height:410px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(3,22,41,.98) 0%,rgba(3,22,41,.91) 33%,rgba(3,22,41,.35) 64%,rgba(3,22,41,.12) 100%),url("hero-industrial.png") center right/cover no-repeat}
.cfis-about-v2 .cfis-hero__content{padding:62px 0}
.cfis-about-v2 .cfis-hero h1{margin:10px 0 10px;color:#fff!important;font-size:clamp(46px,6vw,72px);line-height:1;font-weight:800}
.cfis-about-v2 .cfis-hero h2{margin:14px 0 18px;color:#fff!important;font-size:clamp(25px,3vw,36px);line-height:1.22}
.cfis-about-v2 .cfis-hero p{max-width:560px;margin:0;color:#fff;font-size:18px;line-height:1.55}
.cfis-rule{display:block;width:50px;height:4px;background:var(--orange);margin-bottom:15px}.cfis-rule--short{width:38px;height:3px}
.cfis-section{padding:55px 0}
.cfis-eyebrow{display:block;margin-bottom:10px;color:var(--orange);font-size:13px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}
.cfis-philosophy__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:62px;align-items:center}
.cfis-copy h2,.cfis-approach>div>h2,.cfis-commitment h2,.cfis-future h2{font-size:clamp(30px,3.3vw,42px);line-height:1.12;margin-bottom:12px}
.cfis-copy p,.cfis-future p{font-size:16px;line-height:1.65}
.cfis-values{display:grid;grid-template-columns:repeat(3,1fr)}
.cfis-value{padding:12px 18px 20px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.cfis-value:nth-child(3n){border-right:0}.cfis-value:nth-child(n+4){border-bottom:0}
.cfis-icon svg,.cfis-step-icon svg,.cfis-promise__icon svg{width:54px;height:54px;fill:none;stroke:var(--orange);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.cfis-value h3{font-size:15px;text-transform:uppercase;margin:7px 0 5px}.cfis-value p{font-size:14px;line-height:1.4;margin:0}
.cfis-future{padding:38px 0;background:linear-gradient(90deg,#061e38,#06335d);color:#fff}
.cfis-future__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:35px;align-items:center}
.cfis-future h2{color:#fff!important}.cfis-future p{color:#fff}.cfis-future strong{display:block;color:var(--orange);font-size:17px;line-height:1.45}
.cfis-map{min-height:285px;background:url("southern-africa-map.png") center/contain no-repeat;filter:saturate(1.08) contrast(1.08)}
.cfis-approach{padding-top:42px;padding-bottom:34px}
.cfis-steps{display:grid;grid-template-columns:repeat(4,1fr);margin:24px 0 28px}
.cfis-steps article{text-align:center;padding:0 28px;border-right:1px solid var(--line)}.cfis-steps article:last-child{border-right:0}
.cfis-step-icon{width:62px;height:62px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:var(--navy)}
.cfis-step-icon svg{width:40px;height:40px}.cfis-steps h3{text-transform:uppercase;font-size:15px;margin-bottom:7px}.cfis-steps p{font-size:14px;line-height:1.45;margin:0}
.cfis-commitment{display:grid;grid-template-columns:.78fr 1.08fr 1.08fr;gap:28px;border-top:1px solid var(--line);padding-top:18px;align-items:center}
.cfis-commitment h2{font-size:25px;margin-bottom:8px}.cfis-commitment p{font-size:14px;margin:0}
.cfis-commitment ul{list-style:none;padding:0;margin:0}.cfis-commitment li{position:relative;padding:5px 0 5px 26px;font-size:14px}.cfis-commitment li:before{content:"✓";position:absolute;left:0;top:4px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff;font-size:11px;font-weight:bold}
.cfis-promise{display:grid;grid-template-columns:95px 1.2fr .9fr;gap:24px;align-items:center;margin-top:22px;padding:22px 28px;border-radius:10px;background:linear-gradient(100deg,#062746,#031a31);color:#fff}
.cfis-promise__icon{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:var(--orange)}.cfis-promise__icon svg{stroke:#fff;width:48px;height:48px}
.cfis-promise__copy p{font-size:14px;line-height:1.45;margin-bottom:8px;color:#fff}.cfis-promise__statement{padding-left:28px;border-left:1px solid var(--orange)}
.cfis-promise__statement p{font-size:20px;line-height:1.25;margin-bottom:8px;color:#fff}.cfis-promise__statement strong{display:block;color:var(--orange);font-size:25px}
@media(max-width:900px){.cfis-philosophy__grid,.cfis-future__grid,.cfis-commitment,.cfis-promise{grid-template-columns:1fr}.cfis-values{grid-template-columns:repeat(2,1fr)}.cfis-value{border:1px solid var(--line)!important}.cfis-steps{grid-template-columns:repeat(2,1fr);gap:26px}.cfis-steps article{border-right:0}.cfis-promise__statement{border-left:0;border-top:1px solid var(--orange);padding:20px 0 0}}
@media(max-width:600px){.cfis-about-v2 .cfis-shell{width:min(100% - 28px,1180px)}.cfis-about-v2 .cfis-hero{min-height:460px;background-position:65% center}.cfis-about-v2 .cfis-hero p{font-size:16px}.cfis-values,.cfis-steps{grid-template-columns:1fr}.cfis-section{padding:42px 0}.cfis-map{min-height:240px}.cfis-promise{padding:22px}}

/* Mobile-menu interaction safeguards */
.cfis-global-toggle{
  position:relative;
  z-index:10001;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
@media(max-width:1020px){
  .cfis-global-header.is-open .cfis-global-nav{display:flex}
}

/* 2.1.4 verified full-browser-width fix */
body:has(.cfis-about-v2){overflow-x:hidden}
body:has(.cfis-about-v2) #page,
body:has(.cfis-about-v2) .site,
body:has(.cfis-about-v2) .site-content,
body:has(.cfis-about-v2) .content-area,
body:has(.cfis-about-v2) .site-main,
body:has(.cfis-about-v2) .ast-container,
body:has(.cfis-about-v2) article,
body:has(.cfis-about-v2) .entry-content,
body:has(.cfis-about-v2) .entry-content-wrap,
body:has(.cfis-about-v2) .elementor,
body:has(.cfis-about-v2) .elementor-section-wrap,
body:has(.cfis-about-v2) .elementor-section,
body:has(.cfis-about-v2) .elementor-container,
body:has(.cfis-about-v2) .elementor-column,
body:has(.cfis-about-v2) .elementor-widget-wrap,
body:has(.cfis-about-v2) .elementor-widget-shortcode,
body:has(.cfis-about-v2) .elementor-widget-shortcode > .elementor-widget-container,
body:has(.cfis-about-v2) .e-con,
body:has(.cfis-about-v2) .e-con-inner{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
.cfis-about-v2{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.cfis-about-v2 h1,.cfis-about-v2 h2,.cfis-about-v2 h3,.cfis-about-v2 p,.cfis-about-v2 a,.cfis-about-v2 li{overflow-wrap:normal;word-break:normal;hyphens:none}
