@font-face {
  font-family: proxima-semibold;
  src: url(../fonts/ProximaNovaSemiBold.otf);
}

@font-face {
  font-family: proxima-bold;
  src: url(../fonts/Proxima-Nova-Bold.otf);
}

@font-face {
  font-family: proxima-extrabold;
  src: url(../fonts/Proxima-Nova-Extrabold.otf);
}

@font-face {
  font-family: proxima-regular;
  src: url(../fonts/ProximaNova-Regular.otf);
}

@font-face {
  font-family: proxima-thin;
  src: url(../fonts/Proxima-Nova-Thin.otf);
}

@font-face {
  font-family: proxima-semibold;
  src: url(../fonts/Proxima-Nova-Semibold.otf);
}

@font-face {
  font-family: proxima-nova-bold;
  src: url(../fonts/Proxima-Nova-Bold.otf);
}

body {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: proxima-regular;
  color: #000;
  font-size: 16px;
  line-height: 22px;
}

html.homepage {
  overflow-x: hidden !important;
}

h1,
h2,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0px;
  padding: 0px;
}

a {
  text-decoration: none !important;
}

a:hover {
  text-decoration: none !important;
}

p {
  font-size: 16px;
  line-height: 22px;
}

/*-----------Header Css start-----------*/

.top_menubg {
  float: left;
  width: 100%;
  height: 30px;
  background-color: #555;
  position: fixed;
  z-index: 9999;
}

.header-container {
  margin: 0px auto;
  max-width: 1244px;
  height: auto;
}

.top_menu {
  float: left;
  height: auto;
  width: 100%;
}

.top_menu #menu {
  border: none;
  border: 0;
  margin: -26px 0;
  padding: 0;
  float: right;
}

.top_menu #nav {
  height: 35px;
  list-style: none;
  margin: 0;
  padding: 0;
  float: left;
  text-align: center;
  padding-top: 4px;
}

.top_menu #nav li {
  display: inline-block;
  position: relative;
  float: left;
  margin: 0 13px;
  z-index: 99999999;
  list-style: none;
}

.top_menu #nav li a {
  display: inline-block;
  width: auto;
  padding: 0;
  color: #eaeaea;
  font-size: 14px;
  font-family: proxima-regular;
  line-height: 30px;
}

.top_menu #nav ul {
  position: absolute;
  padding: 0;
  left: 0;
  display: none;
  background: #555;
  width: 200px !important;
}

.top_menu #nav li li {
  float: left;
  width: 86%;
  text-align: left;
  border-bottom: 1px dotted #f2f2f2;
}

.top_menu #nav li li:last-child {
  border-bottom: 0 dotted #f2f2f2;
}

.top_menu #nav li li a {
  display: block;
  font-size: 12px;
}

.top_menu #nav li:hover ul {
  display: block;
}

ul.top_menu_list li a:hover {
  color: #c1c1c1 !important;
}

.header_bg {
  float: left;
  width: 100%;
  height: 130px;
  box-shadow: 0 0 15px #888;
  background-color: #fff;
  position: fixed;
  z-index: 999;
}

.menu_right {
  float: none;
  width: 100%%;
  height: auto;
  position: static;
  padding-bottom: 30px;
  margin: 49px auto 0;
}

.cbp-hsmenu-wrapper {
  position: relative;
  text-decoration: none !important;
}

.cbp-hsinner {
  background: #fff;
  position: relative;
  z-index: 100;
}

.logo_left {
  float: left;
  width: 14%;
  height: auto;
  margin-left: 20px;
}

#cssmenu {
  margin: 0;
  width: auto;
  padding: 0;
  line-height: 1;
  display: block;
  position: relative;
  z-index: -1;
}

#cssmenu #menu-button {
  display: none;
}

#cssmenu ul {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  display: block;
  width: 100%;
}

#cssmenu > ul > li {
  width: 8%;
  float: left;
}

#cssmenu ul li {
  margin: 0;
  padding: 0;
  display: block;
  position: relative;
}

#cssmenu > ul > li > a {
  padding: 15px 0 0;
  letter-spacing: 0;
  background: #fff;
  color: #31313f;
  font-size: 12px;
  position: relative;
  z-index: 10000;
  outline: none;
  padding-left: 0;
  padding-right: 0;
  text-transform: uppercase;
  text-align: center;
  width: 100%;
  min-height: 81px;
  display: block;
}

#cssmenu ul li a {
  text-decoration: none;
  display: block;
  margin: 0;
  -webkit-transition: color 0.2s ease;
  -moz-transition: color 0.2s ease;
  -ms-transition: color 0.2s ease;
  -o-transition: color 0.2s ease;
  transition: color 0.2s ease;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

#cssmenu > ul > li:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 0;
  top: 0;
  z-index: 0;
  background: #000;
  -webkit-transition: height 0.2s;
  -moz-transition: height 0.2s;
  -ms-transition: height 0.2s;
  -o-transition: height 0.2s;
  transition: height 0.2s;
}

li.product-list.has-submenu {
  margin-right: 17px !important;
  width: 10% !important;
}

#cssmenu > ul > li > ul {
  width: 220px !important;
  display: block;
  border-top: 3px solid #38b449;
}

#cssmenu ul li ul {
  position: absolute;
  left: -9999px;
  top: auto;
}

#cssmenu > ul > li:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 0;
  top: 0;
  z-index: 0;
  background: #000;
  -webkit-transition: height 0.2s;
  -moz-transition: height 0.2s;
  -ms-transition: height 0.2s;
  -o-transition: height 0.2s;
  transition: height 0.2s;
}

#cssmenu > ul > li > ul > li {
  width: 220px;
  display: block;
}

#cssmenu > ul > li > ul > li {
  width: 220px;
  display: block;
}

#cssmenu ul li ul li {
  max-height: 0;
  position: absolute;
  -webkit-transition: max-height 0.4s ease-out;
  -moz-transition: max-height 0.4s ease-out;
  -ms-transition: max-height 0.4s ease-out;
  -o-transition: max-height 0.4s ease-out;
  transition: max-height 0.4s ease-out;
  background: #fff;
}

#cssmenu ul li ul li {
  background-color: #fff;
}

#cssmenu ul li ul li a {
  font-size: 11px;
  font-weight: 400;
  text-transform: none;
  color: #000;
  letter-spacing: 0;
  line-height: 16px;
  display: block;
  width: 220px;
  padding: 7px 10px 7px 20px;
  text-align: left;
}
select#tab_selector:focus-visible {
  outline: none;
}

#cssmenu ul li a {
  text-decoration: none;
  display: block;
  margin: 0;
  -webkit-transition: color 0.2s ease;
  -moz-transition: color 0.2s ease;
  -ms-transition: color 0.2s ease;
  -o-transition: color 0.2s ease;
  transition: color 0.2s ease;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: proxima-regular;
  font-size: 12px;
  line-height: 1.1;
}

ul.sub-menu {
  width: 100% !important;
}

li.agile-list.has-submenu {
  margin-right: 15px !important;
  width: 10% !important;
}

li.internet-list {
  width: 10% !important;
}

li.analyics-list.has-submenu {
  width: 10% !important;
}

li.last:last-child {
  width: 10% !important;
}

li.dpa-list {
  width: 10% !important;
}

li.lastbox ul.sub-menu {
  top: -171px !important;
}

#cssmenu ul:after,
#cssmenu:after {
  content: " ";
  display: block;
  font-size: 0;
  height: 0;
  clear: both;
  visibility: hidden;
}

.cbp-hsmenubg {
  position: absolute;
  width: 100%;
  top: 100%;
  left: 0;
  z-index: 0;
  height: auto !important;
}

#cssmenu > ul > li:hover > ul > li {
  max-height: 72px;
  position: relative;
  border-bottom: 1px dotted;
}

#cssmenu ul li ul li:hover > ul {
  left: 100%;
  top: 0;
  margin-left: 0;
  border-left: 3px solid rgba(43, 36, 36, 0.02);
}

#cssmenu ul li:hover ul li {
  max-height: 72px;
  position: relative;
  border-bottom: 1px dotted;
}

#cssmenu > ul > li:hover > a,
#cssmenu > ul > li.active > a {
  color: #38b449;
}

#cssmenu > ul > li:hover > ul {
  left: 0;
}

#cssmenu ul li ul li:hover > ul.s-new {
  left: -221px;
}

.search-right {
  float: right;
  display: none;
}

#wrap {
  margin: 23px 10px 0 0;
  display: inline-block;
  position: relative;
  height: 60px;
  float: right;
  padding: 0;
  position: absolute;
  z-index: 9999;
  outline: none;
}

.header_bg input[type="text"] {
  height: 30px;
  font-size: 12px;
  display: inline-block;
  font-weight: 400;
  border: none;
  outline: none;
  color: #000 !important;
  padding: 3px;
  padding-right: 60px;
  width: 0px;
  position: absolute;
  top: 0;
  right: 0;
  background: none;
  z-index: 3;
  transition: width 0.4s cubic-bezier(0, 0.795, 0, 1);
  cursor: pointer;
  outline: none;
}

.header_bg input[type="submit"] {
  height: 30px;
  width: 60px;
  display: inline-block;
  color: red;
  float: right;
  background: url(../images/search-icone.png) no-repeat;
  text-indent: -10000px;
  border: none;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  cursor: pointer;
  opacity: 0.4;
  cursor: pointer;
  transition: opacity 0.4s ease;
  background-position: center;
  border-left: 1px #c1c1c1 solid;
  outline: none;
}

li.last.has-submenu.has-submenu-new {
  margin-right: 25px !important;
}

/* Footer */
#section16 {
  width: 100%;
  height: auto;
  background: #2e2c2b;
}

.container-home {
  margin: 0px auto;
  max-width: 1146px;
  height: auto;
  overflow: hidden;
}

.site_map {
  float: left;
  width: 100%;
  height: auto;
  margin-bottom: 30px;
}
.footer_col {
  float: left;
  width: 24%;
  height: auto;
  margin-right: 1%;
}

ul.site_map_col {
  float: left;
  margin: 0px;
  padding: 0px;
  margin-top: 10px;
  /* clear: both; */
  width: 100%;
}

.title_bg {
  float: left;
  width: 99%;
  height: auto;
}

ul.site_map_col li {
  list-style: none;
  margin-bottom: 0px;
  clear: both;
  text-align: start;
  color: #fff;
  line-height: 20px;
}

ul.site_map_col li a {
  font-size: 11px;
  color: #f3f3f3 !important;
  text-decoration: none;
  line-height: 27px;
  font-family: proxima-regular;
}

.site_map_col li {
  display: none;
}

p.site_map_title {
  font-size: 13px;
  color: #fff;
  float: left;
  padding-top: 30px;
  padding-right: 10px;
  margin: 0;
  padding-bottom: 20px;
  text-transform: uppercase;
  font-family: proxima-bold;
}

hr.h_line {
  color: #c4cbc7;
  background: #c2c6c9;
  margin-top: 40px;
  border: none;
  height: 1px;
}

.white11 {
  background: rgba(170, 170, 170, 0.75) !important;
}

a.happiest-text {
  line-height: 18px !important;
  color: #fff !important;
  font-size: 12px;
}

#section17 {
  width: 100%;
  height: auto;
  background: #111111;
  padding-top: 5px;
  padding-bottom: 5px;
}

.footer_left {
  float: left;
  width: 46%;
  height: auto;
  padding-top: 5px;
}

.footer_right {
  float: right;
  height: auto;
  margin-right: 10px;
}

p.footer_txt {
  float: left;
  font-size: 12px;
  color: #c1c1c1;
  padding-top: 6px;
  font-family: proxima-regular;
}

p.footer_txt span {
  font-size: 16px;
  vertical-align: middle;
}

p.footer_txt a {
  font-size: 12px;
  color: #c1c1c1;
  text-decoration: none;
  margin-left: 10px;
  margin-right: 10px;
  border-bottom-style: dotted;
  border-bottom: 1px #ccc dotted;
}

/* End Footer */
.mb-menu {
  display: none;
}

/* Mobile slide-out menu: scroll a tall menu internally, and lock the page behind it */
.my-sidenav {
  overflow-y: auto;
}
body.menu-open {
  overflow: hidden;
}

.d-btn,
.f-btn {
  position: fixed;
  right: -195px;
  background: #34ae57;
  padding: 10px 0px;
  z-index: 99;
  border-radius: 50px 0 0 50px;
  width: 250px;
  top: 50%;
  transition: all ease.3s;
}

.d-btn a,
.f-btn a {
  color: #fff;
  font-size: 13px;
  text-decoration: none;
}

.d-btn a img,
.f-btn a img {
  padding-right: 22px;
  padding-left: 10px;
}

.f-btn {
  top: 57%;
  background: #05a9a2;
}

.f-btn:hover {
  right: 0;
  width: 110px;
}

.d-btn:hover {
  right: 0;
  width: 155px;
}

.downlodrptcenter {
  background-color: #31ac55;
  width: 100%;
  padding: 20px;
  position: relative;
}

.d-btn-wrap {
  display: flex;
  justify-content: space-between;
  max-width: 750px;
  margin: auto;
  gap:20px;
}

.dn-btn a {
  border: 2px solid #fff;
  padding: 6px 15px;
  display: flex;
  align-items: center;
  color: #fff;
  transition: all 0.3s ease-in-out;
  font-size: 14px;
}

.dn-btn a img {
  height: 20px;
  padding-left: 10px;
}

.toolbar {
  position: fixed;
  right: 0px;
  top: 30%;
  z-index: 99;
}

.tools {
  display: block;
  text-align: center;
  right: 0;
  width: auto;
  margin: 0px;
  pointer-events: all;
  padding: 8px 15px 8px 8px;
  background-color: #fff;
  border-top-left-radius: 17px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 17px;
}

.tool {
  position: relative;
  display: block;
}

.tool__trigger {
  display: grid;
  align-items: center;
  height: 32px;
  width: 32px;
  border-radius: 50%;
  background: #3ab549;
  color: #fff;
  cursor: pointer;
  transition: background-color 0.15s ease;
  border: 0;
}

.tool__dropout {
  display: none;
  position: absolute;
  top: 50%;
  right: calc(100% + 10px);
  transform: translateY(-50%);
  font-size: 13px;
  font-weight: 500;
  color: #007236;
  white-space: nowrap;
  padding: 5px;
  background: #fff;
  max-width: 320px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
}

.tool__dropout--recommend {
  background: 0 0;
  right: 100%;
  box-shadow: none;
}

.recommend {
  display: flex;
  list-style: none;
}

.recommend__item {
  display: block;
  margin-right: 10px;
}

.recommend__link {
  display: grid;
  align-items: center;
  height: 45px;
  width: 45px;
  border-radius: 50%;
  background: #3ab549;
  color: #fff;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.hide-text {
  position: absolute;
  top: auto;
  overflow: hidden;
  width: 1px;
  height: 1px;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

.tool__trigger:hover,
.recommend__link:hover {
  background: #007136;
}

.tool__trigger:focus .tool__dropout,
.tool__trigger:focus-within .tool__dropout,
.tool__trigger:hover .tool__dropout {
  display: block;
}

.tool + .tool {
  margin-top: 10px;
}

.tool__trigger::before,
.recommend__link::before {
  content: "";
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  top: 0px;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}

.tool__trigger--downloads::before {
  background-image: url(../svg/fxicon1.svg);
}

.tool__trigger--cg::before {
  background-image: url(../svg/fxicon2.svg);
}

.tool__trigger--tag-manager::before {
  background-image: url(../svg/fxicon3.svg);
}

.tool__trigger--recommend::before {
  background-image: url(../svg/fxicon4.svg);
}

.recommend__link--linkedin::before {
  background-image: url(../svg/linkdin.svg);
}

.recommend__link--twitter::before {
  background-image: url(../svg/tw.svg);
}

.recommend__link--facebook::before {
  background-image: url(../svg/fbsocial-icon.svg);
  width: 10px;
}

.recommend__link--insta::before {
  background-image: url(../svg/insta.svg);
}
.recommend__link--threads::before {
  background-image: url(../svg/threads-logo-wihte.svg);
}
.tool__trigger--leaf::before {
  background-image: url(../svg/leafshare.svg);
}
.tool__trigger--lotus::before {
  background-image: url(../svg/lotushare.svg);
}

.socilstxt ul {
  display: flex;
  gap: 15px;
  margin-bottom: 0px;
}

.socilstxt ul li a {
  font-size: 24px;
  font-family: Proxima-Thin;
  margin-right: 2px;
  color: #fff;
}

.footer-arrow {
  border-bottom: 1px solid #fff;
  margin-bottom: 20px;
  margin-top: 33px;
}

.f-arrow-icon {
  text-align: center;
  margin-bottom: -15px;
  cursor: pointer;
}

.rotate {
  transform: rotate(180deg);
  transition: 0.3s;
}

.f-arrow-icon img {
  width: 32px;
  height: 32px;
}

.hiddenFooter {
  display: none;
}

.readmoreBtn {
  display: none;
}
.socilstxt ul li a img.threadLo {
  width: 18px;
}

.topBanner {
  height: 100vh;
  position: relative;
}

.desktop-video,
.desktop-video video {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

.bannerTxt {
  max-width: 600px;
  width: 100%;
}

.bannerTxt h1 {
  color: #fff;
  font-size: clamp(44px, 6vw, 78px);
  line-height: 1.02;
  font-family: proxima-extrabold;
  text-transform: uppercase;
  padding-bottom: 18px;
}

.bannerTxt h1 em {
  font-style: italic;
  font-family: proxima-extrabold;
}

.bannerTxt h2 {
  font-size: clamp(15px, 1.5vw, 20px);
  line-height: 1.3;
  color: #fff;
  font-family: proxima-semibold;
  letter-spacing: 0.5px;
  padding-bottom: 20px;
}
.bannerTxt p {
  color: #fff;
  padding-bottom: 30px;
}
.futureIns h5 {
  font-size: 22px;
  line-height: 28px;
  color: #fff;
  font-family: proxima-bold;
}

.bannerTxts {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  height: 100vh;
  padding-top: 10%;
}

/* ===== FY2025-26 AI-First video banner ===== */
.aiBanner {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: linear-gradient(115deg, #0f7a36 0%, #2c9a39 40%, #74bb3d 72%, #b6d63a 100%);
}
.aiBanner .aiBannerVid {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
}
/* Desktop video by default; swap to the mobile banner video below 767px */
.aiBannerVid--mobile {
  display: none;
}
@media (max-width: 767px) {
  .aiBannerVid--desktop {
    display: none;
  }
  .aiBannerVid--mobile {
    display: block;
  }
}
/* caption sits directly under the baked-in "AGILE ALWAYS." text in the video */
.aiBanner .aiHero {
  position: absolute;
  z-index: 2;
  left: 43.8%;
  top: 69%;
  max-width: 50%;
}
.aiBanner .aiTagline {
  font-family: proxima-bold;
  color: #fff;
  font-size: clamp(14px, 1.7vw, 26px);
  line-height: 1.25;
  margin-bottom: 6px;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.28);
}
.aiBanner .aiReport {
  display: inline-block;
  font-family: proxima-semibold;
  color: #fff;
  font-size: clamp(11px, 1.1vw, 15px);
  letter-spacing: 0.5px;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.28);
}

.banner-btn a {
  position: relative;
  display: inline-block;
  background-color: transparent;
  border-left: 2px solid #fff;
  padding: 6px 15px;
  font-size: 18px;
  line-height: 20px;
  color: #fff;
  font-family: proxima-semibold;
  cursor: pointer;
  overflow: hidden;
  z-index: 1;
  transition: color 0.3s ease;
}

.banner-btn a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffff;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
  z-index: -1;
}

.banner-btn a:hover::before {
  transform: scaleX(1);
}

.banner-btn a:hover {
  color: #32ad56;
}

/* Mobile banner video */
.mobile-video {
  display: none;
}

/* Back to Top (footer) */
.backTop {
  text-align: center;
  color: #fff;
  position: absolute;
  right: calc(100vw / 16 * 1);
  top: 15px;
  cursor: pointer;
}
.backTop img {
  transform: rotate(180deg);
}

/* ===================== Footer redesign ===================== */
#section16 {
  padding: 55px 0 45px;
}

.footerGrid {
  position: relative;
}

.fRow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

/* grid cell — override legacy float/width */
.footerGrid .footer_col {
  width: auto;
  float: none;
  margin: 0;
  padding: 0 45px;
  position: relative;
}

/* vertical dividers between columns */
.footerGrid .footer_col:not(:nth-child(3n)) {
  border-right: 1px solid rgba(255, 255, 255, 0.22);
}

.fRow-top .footer_col {
  padding-bottom: 26px;
}

.fRow-btm .footer_col {
  padding-top: 26px;
}

.footerGrid .title_bg {
  width: 100%;
  float: none;
}

.footerGrid .site_map_title {
  float: none;
  margin: 0;
  padding: 0 0 6px;
}

.footerGrid ul.site_map_col {
  float: none;
  margin: 0;
  margin-top: 8px;
}

.footerGrid ul.site_map_col li a {
  line-height: 24px;
}

/* download icon links (statutory / financial / GRI) */
.footerGrid .dl-li {
  position: relative;
  padding-right: 22px;
}

.footerGrid .dl-li .dlIcon {
  position: absolute;
  right: 0;
  top: 5px;
  line-height: 0;
}

.footerGrid .dl-li .dlIcon img {
  width: 14px;
  height: auto;
}

/* horizontal divider line + centred toggle arrow */
.fDivider {
  position: relative;
  height: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.fDivider .footer-arrow {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  border: 0;
  margin: 0;
}

.fDivider .f-arrow-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin: 0;
  border-radius: 50%;
  background: #2e2c2b;
  cursor: pointer;
}

.fDivider .f-arrow-icon img {
  width: 30px;
  height: 30px;
}

.arrow-img {
  transition: transform 0.3s ease;
}

/* Follow us + social row */
.footerSocial {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  margin-top: 35px;
}

.footerSocial .followLbl {
  color: #fff;
  font-size: 14px;
  font-family: proxima-regular;
}

.footerSocial .socilstxt ul {
  display: flex;
  gap: 10px;
  margin: 0;
  padding: 0;
}

.footerSocial .socilstxt li {
  margin: 0;
}

.footerSocial .socilstxt li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid #8a8a8a;
  color: #fff;
  font-size: 15px;
  transition: all 0.25s ease;
}

.footerSocial .socilstxt li a:hover {
  background: #3ab549;
  border-color: #3ab549;
}

.footerSocial .socilstxt li a img {
  width: 14px;
  height: auto;
}

.footerSocial .socilstxt li a img.threadLo {
  width: 16px;
}

/* bottom bar */
#section17 .container-home {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#section17 .footer_left,
#section17 .footer_right {
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
}

.footer_left .rightsTxt {
  color: #9a9a9a;
  font-size: 12px;
  margin: 0;
  font-family: proxima-regular;
}

#section17 p.footer_txt {
  float: none;
}

/* ===================== Our Business / About Happiest Minds ===================== */
.ourBusiness {
  position: relative;
  z-index: 1;
  padding: 50px 0 20px;
}

.ourBusinessBox {
  background: #fff;
  padding: 20px 40px 40px;
  border-bottom: 4px solid #32ad56;
  box-shadow: 0px 3px 6px #00000029;
}

/* Let the text column fill the box height and bottom-align the whole text block */
.ourBusinessBox .row {
  align-items: stretch !important;
}
.ourBusinessBox .aboutHmTxt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.ourBusinessHead {
  text-align: center;
  color: #32AD56;
  font-size: 18px;
  font-family: proxima-bold;
  padding-bottom: 20px;
}

.ourBusinessImg {
  text-align: center;
  padding-right: 30px;
}

.ourBusinessImg img {
  max-width: 100%;
  height: auto;
}

.aboutHmSub {
  font-size: 24px;
  color: #000;
  padding-bottom: 12px;
  font-family: proxima-regular;
}

.aboutHmHead {
  font-size: 35px;
  line-height:38px;
  color: #32AD56;
  font-family: proxima-extrabold;
  padding-bottom: 16px;
}

.aboutHmTxt p {
  font-size: 18px;
  line-height: 24px;
  padding-bottom: 35px;
}

.aboutHmBtn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 28px;
  background-color: #32AD56;
  color: #fff;
  font-size: 18px;
  font-family: proxima-semibold;
  border-radius: 30px;
  transition: all 0.3s ease;
}

.aboutHmBtn a .btnArrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0;
  height: 30px;
  margin-left: 0;
  border-radius: 50%;
  background: #fff;
  color: #32ad56;
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.3s ease;
}

.aboutHmBtn a:hover {
  padding-right: 5px;
  background-color: #32ad56;
  color: #fff;
}

.aboutHmBtn a:hover .btnArrow {
  width: 30px;
  margin-left: 12px;
  opacity: 1;
}

/* ===================== Chairman's Letter ===================== */
.chairmanSec {
  padding: 50px 0px 60px;
}

/* left — image + names */
.chairImg img {
  width: 100%;
}

.chairNames {
  display: flex;
  gap: 17px;
  margin-top: 20px;
}

/* two signatories side by side */
.chairImgDuo {
  display: flex;
  gap: 20px;
}
.chairImgDuo .chairPerson {
  flex: 1;
}
.chairImgDuo .chairPerson img {
  width: 100%;
  aspect-ratio: 44 / 52;
  object-fit: cover;
  object-position: top center;
  border-radius: 8px;
}
.chairImgDuo .chairName {
  margin-top: 12px;
}

/* message centred between two signatory photos */
.chairRow3 .chairPerson img {
  width: 100%;
  aspect-ratio: 44 / 52;
  object-fit: cover;
  object-position: top center;
  border-radius: 8px;
}
.chairRow3 .chairPerson .chairName {
  margin-top: 12px;
  text-align: center;
}
.chairRow3 .chairContent {
  padding: 60px 45px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.chairName h5 {
  font-size: 14px;
  line-height: 18px;
  color: #32ad56;
  font-family: proxima-bold;
}

.chairName p {
  font-size: 12px;
  line-height: 16px;
  color: #32AD56;
  padding-top: 3px;
}

/* right — gradient content */
.chairContent {
  background: transparent
    linear-gradient(90deg, #01a89d 0%, #01a89d 0%, #32ad56 100%) 0% 0% no-repeat
    padding-box;
  padding: 70px 65px 70px 65px;
}

.chairHead {
  font-size: 35px;
  line-height: 38px;
  color: #fff;
  font-family: proxima-extrabold;
  padding-bottom: 16px;
}

.chairPara {
  font-size: 18px;
  line-height: 24px;
  color: #fff;
  padding-bottom: 17px;
}

.chairSign h4 {
  font-size: 18px;
  line-height: 22px;
  color: #fff;
  font-family: proxima-bold;
}

.chairSign span {
  display: block;
  font-size: 14px;
  line-height: 18px;
  color: #fff;
  padding-top: 2px;
}

.chairSign + .chairSign {
  margin-top: 14px;
}

.chairBtn {
  margin-top: 30px;
}

.chairBtn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 28px;
  background-color: #fff;
  color: #32ad56;
  font-size: 16px;
  font-family: proxima-semibold;
  border-radius: 30px;
  transition: all 0.3s ease;
}

.chairBtn a .btnArrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0;
  height: 30px;
  margin-left: 0;
  border-radius: 50%;
  background: #32ad56;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.3s ease;
}

.chairBtn a:hover {
  padding-right: 5px;
  background-color: #fff;
  color: #32ad56;
}

.chairBtn a:hover .btnArrow {
  width: 30px;
  margin-left: 12px;
  opacity: 1;
}
.chairImg
{
  padding-top: 45px;
}

/* Managing Director's Message — reuses .chairContent / .chairHead / .chairPara / .chairSign / .chairBtn */
.mdSec {
  background: #f1f7f2;
}

.mdImg {
  position: relative;
  padding-top: 45px;
  text-align: center;
}

.mdImg::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 360px;
  max-width: 80%;
  aspect-ratio: 1 / 1;
  background: radial-gradient(circle at 50% 45%, #d9efdd 0%, #bfe6c8 55%, rgba(191, 230, 200, 0) 72%);
  border-radius: 50%;
  z-index: 0;
}

.mdImg img {
  position: relative;
  z-index: 1;
  max-width: 100%;
  max-height: 520px;
  width: auto;
  height: auto;
}
.mdSec .chairContent {
    padding: 113px 65px 128px 65px;
}
/* ===================== Key Performance Indicators (stacked slider) ===================== */
.kpiSec {
  padding: 90px 0 60px;
}

/* --- KPI horizontal mesh-bar charts (FY2025-26) --- */
.kpiHeadTop {
  margin-bottom: 36px;
}
.kpiHeadTop h6 {
  color: #32ad56;
  font-family: proxima-bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 14px;
  margin-bottom: 6px;
}
.kpiHeadTop h2 {
  color: #1f9e58;
  font-family: proxima-extrabold;
  font-size: 34px;
  line-height: 1.1;
}
.kpiGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 46px;
}
.kpiChartHead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 2px solid #e3e8e8;
  padding-bottom: 8px;
  margin-bottom: 18px;
}
.kpiChartHead h5 {
  font-size: 16px;
  color: #0f8e95;
  font-family: proxima-bold;
}
.kpiChartHead .kpiUnit {
  font-size: 12px;
  color: #888;
}
.kpiGraphImg {
  display: block;
  width: 100%;
  height: auto;
}
.kpiRows {
  list-style: none;
  margin: 0;
  padding: 0;
}
.kpiRows li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 11px;
}
.kpiFy {
  flex: 0 0 42px;
  font-size: 13px;
  color: #333;
  font-family: proxima-bold;
}
.kpiBar {
  flex: 1;
  height: 18px;
}
.kpiBar i {
  display: block;
  height: 100%;
  position: relative;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(90deg, #0c8f96 0%, #25b3ac 100%);
  overflow: hidden;
}
.kpiBar i::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.28) 0 1px, transparent 1px 8px),
    repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.28) 0 1px, transparent 1px 8px);
}
.kpiVal {
  flex: 0 0 72px;
  text-align: right;
  font-size: 13px;
  color: #000;
  font-family: proxima-regular;
}
@media (max-width: 991px) {
  .kpiGrid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .kpiGrid {
    grid-template-columns: 1fr;
  }
}

/* stacked card deck */
.kpiDeck {
  position: relative;
  min-height: 340px;
  isolation: isolate;
}

.kpiSlide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: transform 0.55s ease, opacity 0.55s ease;
  will-change: transform, opacity;
}

.kpiSlide.pos-0 { transform: translateY(0) scale(1); z-index: 40; opacity: 1; }
.kpiSlide.pos-1 { transform: translateY(-25px) scale(0.955); z-index: 30; opacity: 1; }
.kpiSlide.pos-2 { transform: translateY(-50px) scale(0.91); z-index: 20; opacity: 1; }
.kpiSlide.pos-3 { transform: translateY(-75px) scale(0.865); z-index: 10; opacity: 1; }

.kpiSlide.is-exit { transform: translateY(-70px) scale(1.02); opacity: 0; z-index: 50; }

.kpiCard {
  background: #fbf1b5;
  border-radius:0px;
  padding: 30px;
}

.kpiCard .row {
  margin-left: -6px;
  margin-right: -6px;
}

.kpiCard .row [class*="col-"] {
  padding-left: 6px;
  padding-right: 6px;
}

.kpiPanel {
  background: #fff;
  padding: 18px 16px 14px;
  height: 100%;
}

.kpiPanelHead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 60px;
}

.kpiPanelHead h5 {
  font-size: 15px;
  color: #32ad56;
  font-family: proxima-bold;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.kpiUnit {
  font-size: 12px;
  color: #777;
}

.kpiValues {
  display: flex;
  margin-bottom: 12px;
}

.kpiValues span {
  flex: 1;
  text-align: center;
  font-size: 11px;
  color: #555;
}

.kpiBars {
  display: flex;
  align-items: flex-end;
  height: 180px;
  border-bottom: 1px solid #cfcfcf;
}

.kpiBarCol {
  flex: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.kpiBarCol i {
  display: block;
  width: 60%;
  max-width: 30px;
  background: #c9e7cf;
}

.kpiBarCol i.is-active {
  background: #32ad56;
}

.kpiFys {
  display: flex;
  margin-top: 8px;
}

.kpiFys span {
  flex: 1;
  text-align: center;
  font-size: 11px;
  color: #555;
}

.kpiBottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 35px;
}

.kpiCount {
  font-size: 18px;
  color: #000;
  font-family: proxima-bold;
  min-width: 70px;
}

.kpiHeading {
  text-align: center;
  flex: 1;
  position: relative;
  z-index: 60;
  margin-bottom: 95px;
}

.kpiHeading h6 {
  font-size: 24px;
  color: #000;
  padding-bottom: 4px;
}

.kpiHeading h2 {
  display: inline-block;
  font-size: 35px;
  line-height: 38px;
  font-family: proxima-extrabold;
  background: linear-gradient(90deg, #49bb58 0%, #2aa45f 45%, #017665 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.kpiNav {
  display: flex;
  gap: 12px;
  min-width: 70px;
  justify-content: flex-end;
}

.kpiArrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid #32ad56;
  background: #32ad56;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transition: all 0.3s ease;
}

.kpiArrow:hover {
  background: #007236;
  border-color: #007236;
  color: #fff;
}

/* deck depth tint — cards get lighter toward the back of the stack */
.kpiCard {
  transition: background-color 0.55s ease;
}

.kpiSlide.pos-0 .kpiCard { background: #fbf1b5; }
.kpiSlide.pos-1 .kpiCard { background: #fcf4cb; }
.kpiSlide.pos-2 .kpiCard { background: #fdf7dd; }
.kpiSlide.pos-3 .kpiCard { background: #fefbf0; }

/* ===================== Six Capitals — sticky scroll-stack ===================== */
.capital-wrapper {
  position: relative;
  /* left/right edge that lines up with the menu logo (header-container + its margins) */
  --capEdge: max(32px, calc((100% - 1244px) / 2 + 32px));
}
.capital-section {
  position: relative;
}
.capital-header {
  position: sticky;
  top: 0;
  height: 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 40px;
  z-index: 5;
  border-bottom: 2px solid var(--capClr);
  background: #fff;
  padding: 0 var(--capEdge);
}
.capital-header h2 {
  font-size: 26px;
  line-height: 1;
  font-family: proxima-bold;
  color: var(--capClr);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
}
.capHeadIcon {
  margin-right: 14px;
  font-size: 28px;
  line-height: 1;
}
.capital-header span {
  font-size: 30px;
  font-family: proxima-extrabold;
  color: var(--capClr);
}
.capital-content {
  background: #fff;
  color: #333;
  min-height: 82vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 100px 0 50px;
}
/* align content with the capital header / section heading (40px left) */
/* .capital-content > .container {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: var(--capEdge);
  padding-right: var(--capEdge);
} */
/* @media (max-width: 767px) {
  .capital-content > .container {
    padding-left: 18px;
    padding-right: 18px;
  }
} */
.capital-content h2,
.capital-content h5,
.capital-content h6,
.capital-content p,
.capital-content li {
  color: #222;
}
.capSub {
  font-size: 18px;
  font-family: proxima-bold;
  margin-bottom: 12px;
  text-transform: uppercase;
}
.capList {
  list-style: disc;
  padding-left: 20px;
  margin-bottom: 20px;
}

.capList li::marker {
  color: #000;
}
.capList li {
  margin-bottom: 8px;
  line-height: 1.5;
  color: #333 !important;
}
/* Input / Outcomes + Operating-model lists: show ~2 items, scroll the rest.
   Thin rounded grey thumb, no arrow buttons, transparent track. Grey is used for
   every capital so the scroll indicator reads the same across all sections. */
.capital-content > .container > .row .capList,
.capModel .capList {
  max-height: 84px;
  overflow-y: auto;
  padding-right: 12px;
  scrollbar-width: thin;
  scrollbar-color: #888 transparent;
}
.capital-content > .container > .row .capList::-webkit-scrollbar,
.capModel .capList::-webkit-scrollbar {
  width: 4px;
}
.capital-content > .container > .row .capList::-webkit-scrollbar-button,
.capital-content > .container > .row .capList::-webkit-scrollbar-button:start:decrement,
.capital-content > .container > .row .capList::-webkit-scrollbar-button:end:increment,
.capModel .capList::-webkit-scrollbar-button,
.capModel .capList::-webkit-scrollbar-button:start:decrement,
.capModel .capList::-webkit-scrollbar-button:end:increment {
  display: none;
  width: 0;
  height: 0;
}
.capital-content > .container > .row .capList::-webkit-scrollbar-track,
.capModel .capList::-webkit-scrollbar-track {
  background: transparent;
}
.capital-content > .container > .row .capList::-webkit-scrollbar-thumb,
.capModel .capList::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 10px;
}
.capDivider {
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  margin: 20px 0;
}
.capModelHead {
  font-size: 20px;
  font-family: proxima-bold;
  margin-bottom: 18px;
}
.capBlock {
  margin-bottom: 22px;
}
.capBlock + .capBlock {
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  padding-top: 22px;
}
.capBlockTitle {
  font-size: 16px;
  font-family: proxima-bold;
  margin-bottom: 8px;
}
.capPlaceholder {
  font-size: 16px;
  opacity: 0.85;
}
/* Value Creation Model section heading */
.vcmHead {
  padding: 30px 0 40px;
  text-align: left;
}
@media (max-width: 767px) {
  .vcmHead {
    padding: 20px 0 30px;
  }
}
.vcmHead h6 {
  color: #111;
  font-family: proxima-bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 14px;
  margin-bottom: 8px;
}
.vcmHead h2 {
  display: inline-block;
  font-family: proxima-extrabold;
  font-size: 34px;
  line-height: 1.15;
  background: linear-gradient(90deg, #49bb58 0%, #2aa45f 45%, #017665 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* Value Creation Model CTA */
.vcmCta {
  text-align: center;
  padding: 0px 0 30px;
}
.vcmCta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 36px;
  background: linear-gradient(90deg, #49bb58 0%, #017665 100%);
  color: #fff;
  font-size: 16px;
  font-family: proxima-semibold;
  border-radius: 30px;
  transition: all 0.3s ease;
}
.vcmCta a .btnArrow {
  display: inline-flex;
  margin-left: 10px;
  transition: transform 0.3s ease;
}
.vcmCta a:hover {
  box-shadow: 0 8px 20px rgba(1, 118, 101, 0.28);
}
.vcmCta a:hover .btnArrow {
  transform: translateX(5px);
}

/* operating-model text in green (as in the report) — applies to every capital */
.capital-content .capModel .capBlockTitle,
.capital-content .capModel .capList,
.capital-content .capModel .capList li {
  color: #32ad56;
}

@media (max-width: 767px) {
  .capital-header {
    padding: 0 18px;
    height: 64px;
  }
  .capital-header h2 {
    font-size: 18px;
  }
  .capital-header span {
    font-size: 22px;
  }
}

/* ===================== Six Capitals accordion (legacy) ===================== */
.capitalAcc {
  width: 100%;
}

.accHead {
  background: var(--accClr);
  cursor: pointer;
}

.accHead .container {
  display: flex;
  align-items: center;
  gap: 18px;
  padding-top: 14px;
  padding-bottom: 14px;
}

.accNum {
  font-size: 24px;
  line-height: 1;
  color: #fff;
  font-family: proxima-bold;
}

.accTitle {
  font-size: 24px;
  line-height: 1;
  color: #fff;
  font-family: proxima-bold;
}

.accBody {
  background: var(--accClr);
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
}

.accInner {
  padding: 12px 0 45px;
}

.accBlock {
  margin-bottom: 26px;
}

.accSub {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 18px;
  color: #fff;
  font-family: proxima-bold;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-bottom: 14px;
}

.accIcon {
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #6eb343;
  border: 2px solid #fff;
}

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

.accList li {
  position: relative;
  padding-left: 16px;
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 22px;
  color: #fff;
}

.accList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #fff;
}

.accDivider {
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  margin: 14px 0 24px;
}

.accModelHead {
  font-size: 16px;
  color: #fff;
  font-family: proxima-bold;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-bottom: 22px;
}

.accBlockTitle {
  font-size: 16px;
  color: #fff;
  font-family: proxima-bold;
  margin-bottom: 12px;
}

/* vertical divider down the centre of the Operating Model area (after accDivider) */
.accModel {
  position: relative;
}

.accModel::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 47%;
  width: 1px;
  background: rgba(255, 255, 255, 0.1);
}
.accOpen .accHead
{
  padding-top: 20px;
}
/* ===================== Business Segment Review — hero slider ===================== */
.segSlider {
  position: relative;
}

.segSlide {
  position: relative;
  min-height: 100vh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  overflow: hidden;
}

/* Mobile: swap the segment slider + BRSR backgrounds for the mbl-images versions
   (overrides the inline desktop background-image below 767px). */
@media (max-width: 767px) {
  .segSlide.segImg1 {
    background-image: url(../images/home-page/pdes.png) !important;
  }
  .segSlide.segImg2 {
    background-image: url(../images/mbl-images/business-responsibility-img2.png) !important;
  }
  .segSlide.segImg3 {
    background-image: url(../images/mbl-images/business-responsibility-mbl-img3.png) !important;
  }
  .brSec .brBg {
    background-image: url(../images/mbl-images/sustainability-mbl-img.png) !important;
  }
}

.segSlide::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, rgba(2, 10, 20, 0.78) 0%, rgba(2, 10, 20, 0.4) 45%, rgba(2, 10, 20, 0) 75%);
}

.segSlide .container {
  position: relative;
  z-index: 2;
}

.segTxt {
  max-width: 560px;
}

.segLabel {
  color: #fff;
  font-size: 24px;
  line-height: 24px;
  margin-bottom: 10px;
  font-family: proxima-regular;
}

.segHead {
  color: #fff;
  font-size: 35px;
  line-height: 38px;
  font-family: proxima-extrabold;
  margin-bottom: 18px;
}

.segPara {
  color: #fff;
  font-size: 16px;
  line-height: 22px;
  margin-bottom: 28px;
}

.segBtn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 26px;
  background: #fff;
  color: #32ad56;
  border-radius: 30px;
  font-size: 15px;
  font-family: proxima-semibold;
  transition: all 0.3s ease;
}

.segBtn a .btnArrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0;
  height: 28px;
  margin-left: 0;
  border-radius: 50%;
  background: #32ad56;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.3s ease;
}

.segBtn a:hover {
  padding-right: 5px;
}

.segBtn a:hover .btnArrow {
  width: 28px;
  margin-left: 10px;
  opacity: 1;
}

/* counter + arrows overlaid at bottom */
.segControls {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 14%;
  z-index: 4;
}

.segControls .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.segCount {
  color: #fff;
  font-size: 18px;
  font-family: proxima-bold;
}

.segCount i {
  font-style: normal;
  opacity: 0.6;
  margin: 0 3px;
}

.segNav {
  display: flex;
  gap: 12px;
}

.segArrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: transparent;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transition: all 0.3s ease;
}

.segArrow:hover {
  background: #fff;
  border-color: #fff;
  color: #32ad56;
}

/* Swiper container sizing for the Business Segment hero */
.segSwiper {
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.segSwiper .swiper-slide {
  height: 100%;
}

/* ===================== ESG tabbed section ===================== */
.esgSec {
  padding: 60px 0;
}

.esgHeading {
  text-align: center;
  font-size: 35px;
  line-height: 38px;
  color: #32ad56;
  font-family: proxima-extrabold;
  margin-bottom: 30px;
}

.esgBox {
  background: transparent
    linear-gradient(90deg, #01a89d 0%, #01a89d 0%, #32ad56 100%) 0% 0% no-repeat
    padding-box;
  border-radius: 6px;
  overflow: hidden;
}

/* tabs */
.esgTabs {
  display: flex;
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
}

/* mobile dropdown (hidden on desktop) */
.esgSelect {
  display: none;
  width: 100%;
  padding: 15px 18px;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 15px;
  font-family: proxima-semibold;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  cursor: pointer;
}

.esgSelect option {
  color: #222;
  text-transform: none;
}

.esgTab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 20px 15px;
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.28);
  color: #fff;
  cursor: pointer;
  opacity: 0.55;
  transition: opacity 0.3s ease, background 0.3s ease;
}

.esgTab:last-child {
  border-right: 0;
}

.esgTab:hover {
  opacity: 0.85;
}

.esgTab.active {
  opacity: 1;
  background: rgba(255, 255, 255, 0.1);
}

.esgTabIcon {
  display: inline-flex;
  align-items: center;
}

.esgTabIcon img {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.esgTabLabel {
  font-size: 18px;
  font-family: proxima-semibold;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* panels */
.esgPanel {
  display: none;
  padding: 40px 35px;
}

.esgPanel.active {
  display: block;
  animation: esgFade 0.35s ease both;
}

@keyframes esgFade {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.esgEyebrow {
  color: #fff;
  font-size: 13px;
  font-family: proxima-bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.85;
  margin-bottom: 8px;
}
.esgTopicHead {
  color: #fff;
  font-size: 28px;
  line-height: 1.2;
  font-family: proxima-extrabold;
  margin-bottom: 14px;
}
.esgText p {
  color: #fff;
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 28px;
}

.esgImg img {
  width: 100%;
  border-radius: 10px;
}

/* Read More button (white pill, green text, arrow reveal) */
.esgBtn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 28px;
  background: #fff;
  color: #32ad56;
  border-radius: 30px;
  font-size: 15px;
  font-family: proxima-semibold;
  transition: all 0.3s ease;
}

.esgBtn a .btnArrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0;
  height: 28px;
  margin-left: 0;
  border-radius: 50%;
  background: #32ad56;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.3s ease;
}

.esgBtn a:hover {
  padding-right: 5px;
}

.esgBtn a:hover .btnArrow {
  width: 28px;
  margin-left: 10px;
  opacity: 1;
}

/* ===================== Glimpses slider ===================== */
.glimpsesSec {
  padding: 40px 0px 0 0px;
}
.glimpsesSec .col-xl-11
{
  padding-right: 0px;
}
.glimpsesHeading {
  text-align: center;
  font-size: 35px;
  line-height: 38px;
  color: #32ad56;
  font-family: proxima-extrabold;
  margin-bottom: 40px;
}

/* card: image + overlapping caption box */
.glimpseCard {
  position: relative;
  padding-bottom: 84px;
}

/* Allow the page to scroll vertically when swiping over the glimpses slider;
   Owl still handles horizontal drag/swipe. */
.glimpsesSlider.owl-carousel,
.glimpsesSlider .owl-stage-outer,
.glimpsesSlider .owl-stage,
.glimpsesSlider .owl-item {
  touch-action: pan-y !important;
}

/* image is narrower and left-aligned */
.glimpseImg {
  width: 80%;
}

.glimpseImg img {
  display: block;
  width: 100%;
  border-radius: 3px;
}

/* Happiest Minds Run: the source collage (747x300) is wider than the standard
   480x300 tiles. Its slide gets a wider box (see .item.itemWide) so the image can
   grow sideways at its own aspect ratio, keeping the same rendered height as every
   other tile - nothing cropped, all 8 locations visible. */

/* caption sits at the right, overlapping + extending past the image's right edge.
   lifted off the card bottom so its drop-shadow isn't clipped by Owl's overflow:hidden */
.glimpseCaption {
  position: absolute;
  right: 0;
  bottom: 14px;
  width: 62%;
  background: #fff;
  box-shadow: 0px 3px 6px #00000029;
  padding: 16px 20px;
}

.glimpseCaption p {
  margin: 0;
  font-size: 18px;
  line-height: 22px;
  color: #000;
}

/* controls: counter + green arrows */
.glimpsesControls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 30px;
  margin-bottom: 40px;
  position: relative;
  z-index: 5;
  margin-right: calc(100vw / 16 * 1);
}

.glimpsesCount {
  font-size: 18px;
  font-family: proxima-bold;
  color: #000;
}

.glimpsesCount i {
  font-style: normal;
  opacity: 0.6;
  margin: 0 2px;
}

.glimpsesNav {
  display: flex;
  gap: 12px;
}

.glimpsesArrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid #32ad56;
  background: #32ad56;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transition: all 0.3s ease;
}

.glimpsesArrow:hover {
  background: #007236;
  border-color: #007236;
  color: #fff;
}

/* autoWidth card sizing — flush left, only a small right peek */
.glimpsesSlider .item {
  width: 525px;
}

/* Happiest Minds Run collage is 747x300 vs the standard 480x300, so its slide is
   widened to keep the image the same rendered height as the others while letting
   it extend sideways. 525 * (747/300) / (480/300) = 818px. Owl runs autoWidth,
   so the wider slide is laid out correctly instead of overlapping its neighbour. */
.glimpsesSlider .item.itemWide {
  width: 818px;
}

/* mobile: one centered card with side space */
@media (max-width: 767px) {
  .glimpsesSlider .item {
    width: auto;
  }
}

/* ===================== Business Responsibility & Sustainability (sticky scroll-up reveal) ===================== */
/* taller than the viewport so there is scroll distance to drive the reveal */
.brSec {
  position: relative;
  height: 200vh;
}

/* the visible pinned stage */
.brSticky {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
}

.brBg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* dark overlay — opacity driven by scroll progress (JS) */
.brOverlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: #000;
  opacity: 0;
}

/* centered content — transform/opacity driven by scroll progress (JS):
   starts low (near bottom) and rises to centre, then holds */
.brContent {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 20px;
  opacity: 0;
  transform: translateY(40vh);
  will-change: transform, opacity;
}

.brHeading {
  color: #fff;
  font-size: 35px;
  line-height: 38px;
  font-family: proxima-extrabold;
  margin-bottom: 26px;
}

.brHeading span {
  display: block;
}

.brBtn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 26px;
  background: #fff;
  color: #32ad56;
  border-radius: 30px;
  font-size: 15px;
  font-family: proxima-semibold;
  transition: all 0.3s ease;
}

.brBtn a .btnArrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0;
  height: 28px;
  margin-left: 0;
  border-radius: 50%;
  background: #32ad56;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.3s ease;
}

.brBtn a:hover {
  padding-right: 5px;
}

.brBtn a:hover .btnArrow {
  width: 28px;
  margin-left: 10px;
  opacity: 1;
}

/* ===================== Expanding Global Footprint ===================== */
.footprintSec {
  padding: 60px 0;
}

.footprintHeading {
  text-align: center;
  font-size: 35px;
  line-height: 38px;
  color: #32ad56;
  font-family: proxima-extrabold;
  margin-bottom: 40px;
}

/* left accordion */
.fpItem {
  position: relative;
  border-bottom: 1px solid #e3e3e3;
}
.fpItem1
{
border-top: 1px solid #e3e3e3;
}
.fpHead {
  width: 100%;
  background: transparent;
  border: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0px 12px 16px;
  text-align: left;
}

.fpName {
  font-size: 24px;
  line-height: 1.2;
  color: #333;
  font-family: proxima-regular;
  transition: color 0.25s ease;
}

.fpItem.active .fpName {
  color: var(--fpClr, #00C0F3);
  font-family: proxima-bold;
}

/* accent bar on the active item — uses the item's location colour */
.fpItem.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 15px;
  width: 3px;
  height: 22px;
  background: var(--fpClr, #00C0F3);
}

/* +/- icon */
.fpIcon {
  position: relative;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.fpIcon::before,
.fpIcon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #b7b7b7;
  transform: translate(-50%, -50%);
  transition: opacity 0.25s ease;
}

.fpIcon::before {
  width: 14px;
  height: 2px;
}

.fpIcon::after {
  width: 2px;
  height: 14px;
}

.fpItem.active .fpIcon::after {
  opacity: 0;
}

/* expanded body */
.fpBody {
  display: none;
  padding: 0 4px 24px 16px;
}

.fpSub {
  font-size: 19px;
  line-height: 1.3;
  color: #000;
  margin-bottom: 20px;
   font-family: proxima-semibold;
}

.fpStats {
  display: flex;
  gap: 30px;
}

.fpStat h3 {
  font-size: 34px;
  line-height: 1;
  color: var(--fpClr, #00C0F3);
  font-family: proxima-bold;
  margin-bottom: 6px;
}

.fpStat p {
  font-size: 19px;
  line-height: 22px;
  color: #000;
}

/* right map */
.fpMap {
  text-align: center;
}

.fpMap img {
  width: 100%;
}

/* ===================== Breadcrumb / sitemap ===================== */
.sitemap {
    padding-top: 142px;
    padding-bottom: 30px;
}

.sitemap a {
    font-size: 12px;
    line-height: 21px;
    color: #000;
}

.awards-crumb {
  padding-top: 142px;
  padding-bottom: 30px;
}

.awards-crumb-inner {
  font-size: 12px;
  line-height: 21px;
  color: #000;
}

.awards-crumb-inner a {
  color: #000;
}

/* ===================== Managing banner ===================== */
.managing-banner{
  padding-bottom: 30px;
}
/* No breadcrumb above the banner (e.g. powering-the-ai-future): clear the fixed header. */
.managing-banner.paf-banner {
  padding-top: 180px;
}

/* ===================== Powering the AI Future — content ===================== */
.paf-content {
  padding: 0px 0 30px;
}
.paf-block {
  margin-bottom: 20px;
}
.lastimg-powering{
  text-align: right;
}
.paf-block:last-child {
  margin-bottom: 0;
}
.paf-block h3 {
  margin: 0 0 12px;
  font-family: proxima-bold;
  font-size: 22px;
  line-height: 1.3;
  color: #1b1b1b;
}
.paf-block p {
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.7;
  color: #4b4b4b;
}
.paf-block p:last-child {
  margin-bottom: 0;
}
.paf-block p b {
  color: #1b1b1b;
}
@media (max-width: 767px) {
  .paf-content {
    padding: 0 0 30px;
  }
  .paf-block h3 {
    font-size: 19px;
  }
  .paf-block p {
    font-size: 15px;
    line-height: 1.65;
  }
}

.takeGiant h1 {
    font-size: 35px;
    line-height: 40px;
    /* color: #32ad56; */
    font-family: proxima-nova-bold;
    padding-bottom: 12px;
    background: linear-gradient(to right, #39b54a 0%, #0d6350 100%);
  background-clip: text;
  -webkit-background-clip: text;
  
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.takeGiant h4 {
    font-size: 18px;
    line-height: 25px;
    padding-bottom: 5px;
    font-weight: 600;
}

/* .stakeholder-page .sitemap,
.stakeholder-page .managing-banner,
.stakeholder-page .kpi-graphs {
  display: none;
} */

.stakeholder-banner .container > .row:nth-of-type(2) {
  display: none;
}

.stakeholder-banner .stakeholder-banner-copy-row {
  display: flex !important;
  padding-top: 28px;
}

.stakeholder-banner {
  padding: 0 0 30px;
  background: #fff;
}

.stakeholder-banner-copy {
  max-width: 760px;
}

.stakeholder-banner-copy h4 {
  color: #1f9e58;
  font-size: 22px;
  line-height: 1.1;
  padding-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-family: proxima-regular;
}

.stakeholder-banner-copy h1 {
      background: linear-gradient(to right, #39b54a 0%, #0d6350 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  font-size: 35px;
  line-height: 40px;
  font-family: proxima-extrabold;
  max-width: 820px;
}
.stakeholder-banner-copy h1 span{
  display: block;
}

/* .stakeholder-banner-placeholder::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, transparent 0 50%, rgba(255,255,255,0.18) 50%, transparent 54%),
    radial-gradient(circle at 50% 52%, rgba(255,255,255,0.18) 0 4px, transparent 5px);
  opacity: 0.9;
} */

.stakeholder-banner-placeholder span {
  position: relative;
  z-index: 1;
  color: #fff;
  font-family: proxima-bold;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.22);
  padding: 8px 12px;
  border-radius: 999px;
}

/* AI disclaimer overlay on the stakeholder banner image (overrides the pill span above) */
.stakeholder-banner-placeholder {
  position: relative;
}
.stakeholder-banner-placeholder .ai-disclaimer {
  position: absolute;
  left: 0;
  right: auto;
  bottom: 0;
  z-index: 2;
  width: 100%;
  padding: 8px 16px;
  color: #ffffff;
  font-family: proxima-regular;
  font-size: 13px;
  font-style: italic;
  text-transform: none;
  letter-spacing: normal;
  background: rgba(0, 0, 0, 0.45);
  border: 0;
  border-radius: 0;
}

/* .stakeholder-banner-placeholder img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
} */

.stakeholder-content-section {
  padding: 8px 0 42px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.stakeholder-lead {
  color: #32ad56;
  font-family: proxima-bold;
  font-size: 20px;
  line-height: 1.28;
  margin: 0 0 34px;
  max-width: 1280px;
}

.stakeholder-approach {
  max-width: 1280px;
}

.stakeholder-approach h2 {
  color: #222;
  font-family: proxima-bold;
  font-size: 24px;
  line-height: 1.08;
  margin: 0 0 10px;
}

.stakeholder-approach p {
  color: #222;
  font-family: proxima-regular;
  font-size: 20px;
  line-height: 1.34;
  margin: 0;
}

.stakeholder-banner-copy-row .stakeholder-lead {
  margin-bottom: 18px;
}

.stakeholder-content-section .container {
  position: relative;
}

.stakeholder-content-section {
  padding: 34px 0 42px;
  background: #fff;
}

.stakeholder-customer-head {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 16px;
}

.stakeholder-customer-icon {
  width: 68px;
  height: 68px;
  color: #0aa04a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  line-height: 1;
  position: relative;
}

.stakeholder-customer-icon::before {
  content: "\1F464";
  font-size: 34px;
  line-height: 1;
}

.stakeholder-customer-icon--people::before {
  content: "\1F465";
}

.stakeholder-customer-icon--sdg::before {
  content: "SDG";
  font-size: 14px;
  letter-spacing: 0.8px;
  font-family: proxima-bold;
}

.stakeholder-customer-head h2,
.shareholder-head h2 {
  margin: 0;
  color: #32ad56;
  font-family: proxima-bold;
  font-size: 28px;
  line-height: 1.06;
}

.stakeholder-rule,
.shareholder-rule {
  height: 12px;
  margin: 0 0 24px;
  border-top: 1px solid #45b35b;
  position: relative;
}

.stakeholder-rule::before,
.shareholder-rule::before {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  width: 176px;
  height: 12px;
  background: #0b8f95;
}

.stakeholder-channels h3,
.stakeholder-hipo h3 {
  margin: 0 0 8px;
  color: #111;
  font-family: proxima-bold;
  font-size: 22px;
  line-height: 1.1;
}

.stakeholder-channels p,
.stakeholder-hipo p,
.stakeholder-bottom-col p {
  margin: 0;
  color: #222;
  font-family: proxima-regular;
  font-size: 16px;
  line-height: 1.36;
}

.stakeholder-channels {
  margin-bottom: 30px;
}

.stakeholder-columns {
  margin-top: 18px;
}

.stakeholder-list {
  margin: 0;
  padding-left: 20px;
  list-style-type: square;
}

.stakeholder-list li {
  margin-bottom: 12px;
  color: #222;
  font-family: proxima-regular;
  font-size: 18px;
  line-height: 1.34;
}

.stakeholder-list li strong {
  font-family: proxima-bold;
  color: #111;
}

.stakeholder-placeholder-panel {
  border-radius: 10px;
  padding: 28px 24px;
  max-width: 900px;
}

.stakeholder-placeholder-label {
  color: #32ad56;
  font-family: proxima-bold;
  font-size: 22px;
  line-height: 1.1;
  margin-bottom: 6px;
}

.stakeholder-placeholder-panel p {
  margin: 0;
  color: #222;
  font-family: proxima-regular;
  font-size: 18px;
  line-height: 1.4;
}

.stakeholder-placeholder-panel img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-top: 10px;
}

.stakeholder-sdg-placeholder {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 160px;
}

.stakeholder-sdg-box {
  width: 240px;
  height: 140px;
  border: 2px dashed #32ad56;
  border-radius: 12px;
  color: #32ad56;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: proxima-bold;
  font-size: 20px;
  background: linear-gradient(180deg, rgba(50, 173, 86, 0.04), rgba(247, 231, 90, 0.08));
}

.stakeholder-hipo {
  margin: 30px 0 34px;
}

.stakeholder-matrix,
.stakeholder-bottom-grid {
  margin-bottom: 32px;
}

.stakeholder-matrix-head,
.stakeholder-bottom-head {
  background: linear-gradient(90deg, #bfe7c2 0%, #dff0b5 58%, #fff08a 100%);
}

.stakeholder-matrix-head > div,
.stakeholder-bottom-head > div {
  padding: 10px 14px;
  color: #111;
  font-family: proxima-bold;
  font-size: 22px;
  line-height: 1.08;
}

.stakeholder-matrix-body,
.stakeholder-bottom-body {
  padding-top: 18px;
}

.stakeholder-matrix-col,
.stakeholder-bottom-col {
  min-height: 220px;
  padding: 10px 20px 12px 14px;
}

.stakeholder-matrix-col + .stakeholder-matrix-col,
.stakeholder-bottom-col + .stakeholder-bottom-col {
  border-left: 1px solid #bfc4c7;
}

.stakeholder-list--compact li {
  font-size: 16px;
}

.stakeholder-risk-icons {
  display: flex;
  align-items: flex-start;
  gap: 28px;
      padding-bottom: 15px;
}

.stakeholder-risk-item {
  text-align: left;
  color: #222;
  font-family: proxima-regular;
  font-size: 18px;
  line-height: 1.2;
}

.stakeholder-risk-icon,
.stakeholder-capital-icon {
  width: 52px;
  height: 52px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  position: relative;
  background: transparent;
  border: 0;
}

.stakeholder-customer-icon img,
.shareholder-icon img,
.stakeholder-risk-icon img,
.stakeholder-capital-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.stakeholder-customer-icon::before,
.shareholder-icon::before,
.shareholder-icon::after,
.stakeholder-risk-icon::before,
.stakeholder-capital-icon::before {
  content: none;
}

.stakeholder-risk-icon::before {
  font-size: 26px;
  line-height: 1;
}

.stakeholder-risk-item:first-child .stakeholder-risk-icon::before {
  content: none;
}

.stakeholder-risk-item:last-child .stakeholder-risk-icon::before {
  content: none;
}

.stakeholder-capital-icon::before {
  content: none;
}

.stakeholder-capital {
  color: #222;
  font-family: proxima-regular;
  font-size: 18px;
  line-height: 1.2;
  padding-top: 10px;
}

.stakeholder-footer-line {
  height: 1px;
  background: #45b35b;
}

.shareholder-section {
  padding: 28px 0 44px;
  background: #fff;
}

.shareholder-head {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 16px;
}

.shareholder-icon {
  width: 64px;
  height: 64px;
  position: relative;
  flex: 0 0 auto;
  background: transparent;
  border: 0;
}

.shareholder-icon::before {
  content: none;
}

.shareholder-icon::after {
  content: none;
}

.shareholder-head h2 {
  margin: 0;
  color: #32ad56;
  font-family: proxima-bold;
  font-size: 28px;
  line-height: 32px;
}

.shareholder-rule {
  height: 12px;
  margin: 0 0 20px;
  border-top: 1px solid #45b35b;
  position: relative;
}

.shareholder-rule::before {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  width: 170px;
  height: 12px;
  background: #0b8f95;
}

.shareholder-block {
  margin-bottom: 28px;
}

.shareholder-block-title {
  padding: 10px 16px 11px;
  color: #111;
  font-family: proxima-bold;
  font-size: 22px;
  line-height: 1.08;
  background: linear-gradient(90deg, #bfe7c2 0%, #dff0b5 55%, #fff08a 100%);
}

.shareholder-block-title--center {
  text-align: center;
}

.shareholder-columns {
  padding-top: 16px;
}

/* Merged matrix column: the gradient heading bar sits above its own list
   (so on mobile each heading stays paired with its content) */
.shareholder-col-merged .shareholder-block-title {
  margin-bottom: 14px;
}

.shareholder-twocol {
  align-items: stretch;
}

.shareholder-twocol-col {
  position: relative;
  padding-top: 0;
}

.shareholder-twocol-col--left {
  padding-right: 18px;
}

.shareholder-twocol-col--right {
  padding-left: 18px;
}

.shareholder-twocol-col--right::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: #bfc4c7;
}

.shareholder-list {
  margin: 0;
  padding-left: 20px;
  list-style-type: square;
}

.shareholder-list li {
  margin-bottom: 11px;
  color: #222;
  font-family: proxima-regular;
  font-size: 16px;
  line-height: 1.34;
}

.shareholder-list li strong {
  color: #111;
  font-family: proxima-bold;
}

.shareholder-subblock {
  height: 100%;
}

.shareholder-bottom {
  margin-top: 10px;
}

.shareholder-bottom-head > div {
  padding: 10px 16px 11px;
  color: #111;
  font-family: proxima-bold;
  font-size: 22px;
  line-height: 1.08;
  background: linear-gradient(90deg, #bfe7c2 0%, #dff0b5 55%, #fff08a 100%);
}

.shareholder-bottom-body {
  padding-top: 18px;
}

.shareholder-bottom-col {
  min-height: 160px;
  padding: 10px 18px 12px;
}

.shareholder-bottom-col + .shareholder-bottom-col {
  border-left: 1px solid #bfc4c7;
}

/* Mobile: pair each bottom-grid heading with its own content (heading above its content) */
@media (max-width: 991px) {
  .shareholder-bottom {
    display: flex;
    flex-direction: column;
  }
  .shareholder-bottom > .shareholder-bottom-head,
  .shareholder-bottom > .shareholder-bottom-body {
    display: contents;
  }
  .shareholder-bottom-head > [class*="col-"]:nth-child(1) { order: 1; }
  .shareholder-bottom-body > [class*="col-"]:nth-child(1) { order: 2; margin-bottom: 16px; }
  .shareholder-bottom-head > [class*="col-"]:nth-child(2) { order: 3; }
  .shareholder-bottom-body > [class*="col-"]:nth-child(2) { order: 4; margin-bottom: 16px; }
  .shareholder-bottom-head > [class*="col-"]:nth-child(3) { order: 5; }
  .shareholder-bottom-body > [class*="col-"]:nth-child(3) { order: 6; }
}

.shareholder-risk {
  display: block;
  align-items: center;
  gap: 12px;
  color: #222;
  font-family: proxima-regular;
  font-size: 18px;
  line-height: 1.2;
}

.shareholder-risk-icon,
.shareholder-capital-icon {
  width: 50px;
  height: 50px;
  position: relative;
  flex: 0 0 auto;
      margin-bottom: 10px;
}


.shareholder-capitals {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  flex-wrap: wrap;
}

.shareholder-risk--single {
  align-items: flex-start;
}

.shareholder-capital-item {
  color: #222;
  font-family: proxima-regular;
  font-size: 18px;
  line-height: 1.2;
}

.shareholder-capital-icon::before {
  content: none;
}

.shareholder-capital-icon--social::before {
  content: none;
}

.shareholder-footer-line {
  height: 1px;
  background: #45b35b;
}

@media (max-width: 991px) {
  .shareholder-head h2 {
    font-size: 28px;
  }

  .shareholder-list li,
  .shareholder-risk,
  .shareholder-capital-item {
    font-size: 17px;
  }

  .shareholder-twocol-col + .shareholder-twocol-col::before,
  .shareholder-bottom-col + .shareholder-bottom-col {
    border-left: 0;
    border-top: 1px solid #bfc4c7;
  }

  .stakeholder-placeholder-panel {
    max-width: 100%;
  }

  .stakeholder-sdg-box {
    width: 100%;
    max-width: 320px;
    height: 120px;
  }

  .people-section .shareholder-columns,
  .vendor-section .shareholder-columns,
  .community-section .shareholder-columns,
  .alliance-section .shareholder-columns,
  .regulatory-section .shareholder-columns {
    row-gap: 14px;
  }
}

@media (max-width: 767px) {
  .shareholder-section {
    padding: 24px 0 36px;
  }

  .shareholder-head {
    gap: 12px;
  }

  .shareholder-icon {
    width: 56px;
    height: 56px;
  }

  .shareholder-head h2 {
    font-size: 24px;
  }

  .shareholder-block-title,
  .shareholder-bottom-head > div {
    font-size: 18px;
  }

  .shareholder-list li,
  .shareholder-risk,
  .shareholder-capital-item {
    font-size: 16px;
  }

  .shareholder-capitals {
    gap: 18px;
  }

  .shareholder-twocol-col--right::before {
    display: none;
  }

  .shareholder-block-title,
  .shareholder-bottom-head > div {
    padding: 8px 12px;
  }

  .shareholder-bottom-body .shareholder-bottom-col,
  .shareholder-twocol-col {
    min-height: auto;
  }

  .stakeholder-placeholder-panel {
    padding: 20px 16px;
  }

  .stakeholder-placeholder-label {
    font-size: 18px;
  }

  .stakeholder-placeholder-panel p {
    font-size: 15px;
  }

  .stakeholder-sdg-placeholder {
    min-height: 120px;
  }

  .stakeholder-sdg-box {
    max-width: 100%;
    height: 100px;
    font-size: 16px;
  }

  .people-section .shareholder-head h2,
  .vendor-section .shareholder-head h2,
  .community-section .shareholder-head h2,
  .alliance-section .shareholder-head h2,
  .regulatory-section .shareholder-head h2 {
    font-size: 24px;
  }
}

@media (max-width: 991px) {
 

  .stakeholder-banner-placeholder {
    min-height: 220px;
  }

  .stakeholder-lead {
    font-size: 18px;
  }

  .stakeholder-approach h2 {
    font-size: 22px;
  }

  .stakeholder-approach p {
    font-size: 18px;
  }

  .stakeholder-customer-head h2 {
    font-size: 28px;
  }

  .stakeholder-channels h3,
  .stakeholder-hipo h3,
  .stakeholder-matrix-head > div,
  .stakeholder-bottom-head > div {
    font-size: 20px;
  }

  .stakeholder-channels p,
  .stakeholder-hipo p,
  .stakeholder-bottom-col p,
  .stakeholder-list li,
  .stakeholder-list--compact li,
  .stakeholder-risk-item,
  .stakeholder-capital {
    font-size: 17px;
  }

  .stakeholder-matrix-col + .stakeholder-matrix-col,
  .stakeholder-bottom-col + .stakeholder-bottom-col {
    border-left: 0;
    border-top: 1px solid #bfc4c7;
  }

  .stakeholder-matrix-col,
  .stakeholder-bottom-col {
    min-height: auto;
  }
}

@media (max-width: 767px) {
  .stakeholder-banner-copy h4 {
    font-size: 16px;
  }

  .stakeholder-banner-copy h1 {
    font-size: 30px;
  }

  .stakeholder-banner-placeholder {
    min-height: 180px;
  }

  .stakeholder-content-section {
    padding-bottom: 32px;
  }

  .stakeholder-lead {
    font-size: 17px;
    margin-bottom: 24px;
  }

  .stakeholder-approach h2 {
    font-size: 20px;
  }

  .stakeholder-approach p {
    font-size: 16px;
  }

  .stakeholder-content-section {
    padding-top: 24px;
  }

  .stakeholder-customer-head {
    gap: 12px;
  }

  .stakeholder-customer-icon {
    width: 56px;
    height: 56px;
    font-size: 28px;
  }

  .stakeholder-customer-head h2 {
    font-size: 24px;
  }

  .stakeholder-channels h3,
  .stakeholder-hipo h3,
  .stakeholder-matrix-head > div,
  .stakeholder-bottom-head > div {
    font-size: 18px;
  }

  .stakeholder-channels p,
  .stakeholder-hipo p,
  .stakeholder-bottom-col p,
  .stakeholder-list li,
  .stakeholder-list--compact li,
  .stakeholder-risk-item,
  .stakeholder-capital {
    font-size: 16px;
  }

  .stakeholder-risk-icons {
    gap: 16px;
    flex-wrap: wrap;
  }
}
.takeGiant p {
  font-size: 18px;
    padding-bottom: 15px;
  color: #32ad56 ;
}

.awards-banner {
  padding: 28px 0 24px;
  background: #fff;
}

.awards-banner .awards-banner-copy {
  max-width: 560px;
}

.awards-banner .takeGiant h1 {
  font-size: 34px;
  line-height: 1.05;
  padding-bottom: 0;
}

.awards-banner .takeGiant h4 {
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #1f1f1f;
}

.awards-banner-placeholder {
  min-height: 260px;
  border-radius: 22px;
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.24), transparent 24%),
    radial-gradient(circle at 80% 35%, rgba(160,102,255,0.26), transparent 18%),
    radial-gradient(circle at 50% 75%, rgba(255,255,255,0.12), transparent 28%),
    linear-gradient(135deg, #130b3a 0%, #26105c 46%, #12062f 100%);
  box-shadow: 0 18px 40px rgba(23, 11, 58, 0.28);
}

.awards-banner-placeholder::before,
.awards-banner-placeholder::after {
  content: "";
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
}

.awards-banner-placeholder::before {
  background-image:
    linear-gradient(115deg, transparent 0 44%, rgba(255,255,255,0.9) 44%, rgba(255,255,255,0.0) 47%),
    linear-gradient(126deg, transparent 0 48%, rgba(164, 112, 255, 0.68) 48%, rgba(164,112,255,0.0) 58%),
    linear-gradient(145deg, transparent 0 62%, rgba(255, 255, 255, 0.82) 62%, rgba(255,255,255,0) 66%);
  opacity: 0.45;
  transform: skewX(-12deg);
}

.awards-banner-placeholder::after {
  background:
    radial-gradient(circle at 28% 72%, rgba(255,255,255,0.7) 0 1px, transparent 2px),
    radial-gradient(circle at 35% 66%, rgba(255,255,255,0.5) 0 1px, transparent 2px),
    radial-gradient(circle at 42% 58%, rgba(255,255,255,0.8) 0 1.2px, transparent 2px),
    radial-gradient(circle at 52% 48%, rgba(255,255,255,0.7) 0 1.1px, transparent 2px),
    radial-gradient(circle at 60% 54%, rgba(255,255,255,0.55) 0 1px, transparent 2px),
    radial-gradient(circle at 68% 40%, rgba(255,255,255,0.75) 0 1.2px, transparent 2px),
    radial-gradient(circle at 76% 62%, rgba(255,255,255,0.65) 0 1.1px, transparent 2px),
    radial-gradient(circle at 84% 34%, rgba(255,255,255,0.8) 0 1.1px, transparent 2px);
  opacity: 0.72;
}

.awards-banner-placeholder span {
  position: absolute;
  right: 18px;
  bottom: 16px;
  z-index: 1;
  color: rgba(255, 255, 255, 0.88);
  font-family: proxima-bold;
  font-size: 14px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  background: rgba(255,255,255,0.08);
  padding: 8px 12px;
  border-radius: 999px;
  backdrop-filter: blur(4px);
}

.awards-banner-placeholder .awards-ai-disclaimer {
  position: absolute;
  left: 0;
  bottom: 0;
  right: auto;
  top: auto;
  z-index: 2;
  width: 100%;
  padding: 8px 16px;
  color: #ffffff;
  font-family: proxima-regular;
  font-size: 13px;
  font-style: italic;
  letter-spacing: normal;
  text-transform: none;
  background: rgba(0, 0, 0, 0.45);
  border-radius: 0;
  backdrop-filter: none;
}

.awards-showcase {
  padding: 45px 0 24px;
  background:
    none;
}

.awards-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 65px 28px;
}

.award-card {
  text-align: center;
  color: #fff;
  min-width: 0;
}

.award-art {
  width: 100%;
  overflow: hidden;
}


.award-art::before {
  content: "";
  width: 76%;
  height: 72%;
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.92) 0 18%, rgba(255,255,255,0.72) 18% 100%);
  box-shadow: inset 0 0 0 1px rgba(40, 20, 84, 0.08), 0 10px 24px rgba(0, 0, 0, 0.18);
}

.award-art::after {
  content: "";
  position: absolute;
  inset: 15px;
  border: 1px dashed rgba(255, 255, 255, 0.08);
  pointer-events: none;
}

.award-art span {
  position: relative;
  z-index: 1;
  color: rgba(35, 20, 68, 0.65);
  font-family: proxima-bold;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.award-art-1::before {
  width: 58%;
  height: 82%;
  background:
    linear-gradient(180deg, #ffffff 0 70%, #c51f14 70% 100%);
}

.award-art-2::before {
  width: 82%;
  height: 66%;
  background:
    linear-gradient(180deg, #ffffff 0 34%, #6a2dd8 34% 60%, #ef5f83 60% 100%);
}

.award-art-3::before {
  width: 70%;
  height: 68%;
  background:
    linear-gradient(180deg, #ffffff 0 65%, #e75d1d 65% 100%);
}

.award-art-4::before {
  width: 44%;
  height: 84%;
  background:
    radial-gradient(circle at 50% 8%, #f1d27c 0 10%, #d19f21 11% 38%, #f4e4a7 38% 44%, #0b0b0b 45% 100%);
}

.award-art-5::before {
  width: 60%;
  height: 78%;
  background:
    linear-gradient(180deg, #d3b16e 0 34%, #f0d38d 34% 100%);
}

.award-art-6::before {
  width: 84%;
  height: 72%;
  background:
    linear-gradient(90deg, #eee 0 48%, #fff 48% 52%, #eee 52% 100%);
}

.award-art-7::before {
  width: 74%;
  height: 68%;
  background:
    linear-gradient(180deg, #ffffff 0 56%, #1d3b73 56% 100%);
}

.award-art-8::before {
  width: 86%;
  height: 68%;
  background:
    linear-gradient(180deg, #ffffff 0 58%, #2f4b84 58% 100%);
}

.award-card h3 {
  margin: 18px auto 0;
  font-family: proxima-bold;
  font-size: 18px;
  line-height: 1.2;
  color: #222;
  max-width: 90%;
}

.award-card-wide {
  grid-column: span 2;
}

@media (max-width: 991px) {
  .awards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .award-card-wide {
    grid-column: span 2;
  }
}

@media (max-width: 767px) {
  .awards-showcase {
    padding: 18px 0 20px;
  }

  .awards-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .award-card-wide {
    grid-column: span 1;
  }

  .award-art {
    min-height: auto;
  }

  .award-card h3 {
    font-size: 18px;
    max-width: 100%;
  }
}

@media (max-width: 991px) {
  .awards-banner {
    padding: 22px 0 18px;
  }

  .awards-banner-placeholder {
    min-height: 220px;
  }
}

@media (max-width: 767px) {
  .awards-banner .takeGiant h1 {
    font-size: 28px;
  }

  .awards-banner .takeGiant h4 {
    font-size: 16px;
  }

  .awards-banner-placeholder {
    min-height: 180px;
  }
}

/* Awards page image overrides */
.awards-banner-placeholder {
  background: #130b3a;
}

.awards-banner-placeholder img {
  display: block;
  width: 100%;
  min-height: 260px;
  height: 100%;
  object-fit: cover;
}

.awards-banner-placeholder::before,
.awards-banner-placeholder::after {
  content: none !important;
}

.award-art::before,
.award-art::after,
.award-art span {
  content: none !important;
  display: none !important;
}


.strong-client-banner .takeGiant p {
    color: #32ad56;
}

.strong-client-banner-image {
  margin-top: 26px;
  max-width: 100%;
}

.strong-client-banner-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.strategy-overview-banner {
  padding: 22px 0 28px;
  background: #fff;
}

.strategy-overview-banner .takeGiant h4 {
  color: #1f9e58;
  font-size: 22px;
  line-height: 1.05;
  padding-bottom: 8px;
}

.strategy-overview-banner .takeGiant h1 {
  font-size: 34px;
  line-height: 1.04;
  color: #14233d;
}

.strategy-overview-banner .takeGiant p {
  margin: 0 0 12px;
  color: #111;
  font-size: 18px;
  line-height: 1.35;
}

.strategy-overview-banner .takeGiant h3 {
  margin: 0 0 10px;
  color: #111;
  font-family: proxima-bold;
  font-size: 24px;
  line-height: 1.08;
}

.strategy-banner-list {
  margin: 0;
  padding-left: 24px;
}

.strategy-banner-list li {
  margin-bottom: 8px;
  color: #111;
  font-size: 18px;
  line-height: 1.34;
}

@media (max-width: 767px) {
  .strategy-overview-banner .takeGiant h4 {
    font-size: 16px;
  }

  .strategy-overview-banner .takeGiant h1 {
    font-size: 28px;
  }

  .strategy-overview-banner .takeGiant p,
  .strategy-overview-banner .takeGiant h3,
  .strategy-banner-list li {
    font-size: 16px;
  }

  .strategy-overview-banner .takeGiant h3 {
    font-size: 18px;
  }
}

.strategy-focus-panel {
  position: relative;
  padding: 26px 18px 22px;
  border: 2px solid #0fb0b1;
  border-right: none;
  border-top: 0;
  background: #fff;
  overflow: hidden;
}

.strategy-focus-topbar {
  position: absolute;
  left: 0px;
  top: 0;
  width: 106px;
  height: 10px;
  background: #0fb0b1;
}

.strategy-focus-grid {
  color: #fff;
}

.strategy-focus-col {
  position: relative;
}

.strategy-focus-col + .strategy-focus-col {
  border-left: 1px solid rgba(255, 255, 255, 0.55);
}

.strategy-focus-inner {
  min-height: 100%;
  padding: 0 18px 36px;
}

.strategy-focus-inner--middle {
  padding-left: 22px;
  padding-right: 22px;
}

.strategy-focus-inner--right {
  padding-left: 22px;
  padding-right: 18px;
}

.strategy-focus-title {
  margin: 0 0 8px;
  font-family: proxima-bold;
  font-size: 24px;
  line-height: 30px;
  color: #222;
}

.strategy-focus-title--mt {
  margin-top: 30px;
}

.strategy-focus-copy {
  margin: 0;
  font-size: 17px;
  line-height: 1.4;
  color: #222;
}

.strategy-focus-list {
  margin: 0;
  padding-left: 20px;
  list-style-type: square;
}

.strategy-focus-list li {
  margin-bottom: 10px;
  font-size: 17px;
  line-height: 1.35;
  color: #222;
}

.strategy-focus-list li::marker {
  color: #222;
}

.strategy-focus-list--compact li {
  font-size: 16px;
}

.strategy-capital-icons {
  display: flex;
  gap: 12px;
  margin: 16px 0 20px;
}

.strategy-capital-icon {
  width: 130px;
  border-radius: 10px;
  color: #12b65f;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 23px;
  line-height: 1;
  background: rgba(255, 255, 255, 0.02);
}
.strategy-capital-icon.single {
    width: 47px;
}
.strategy-capital-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.strategy-focus-accent {
  position: absolute;
  right: 14px;
  bottom: 0;
  width: 114px;
  height: 70px;
  border-right: 2px solid #0fb0b1;
  border-bottom: 2px solid #0fb0b1;
  clip-path: polygon(0 100%, 0 45%, 72% 0, 100% 0, 100% 100%);
}

@media (max-width: 991px) {
  .strategy-focus-col + .strategy-focus-col {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.35);
  }

  .strategy-focus-inner,
  .strategy-focus-inner--middle,
  .strategy-focus-inner--right {
    padding: 20px 10px 18px;
  }

  .strategy-focus-title {
    font-size: 22px;
  }

  .strategy-focus-copy,
  .strategy-focus-list li {
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  .strategy-focus-panel {
    padding: 20px 14px 18px;
  }

  .strategy-focus-topbar {
    left: 14px;
    width: 92px;
  }

  .strategy-focus-title {
    font-size: 21px;
  }
}

.strategy-land-expand-section {
  padding: 0 0 36px;
}

.strategy-land-expand-panel {
  overflow: hidden;
}

.strategy-land-expand-copy {
  min-height: 100%;
  padding: 18px 22px 24px 14px;
  padding-left: 0;
  color: #fff;
}

.strategy-land-expand-copy h3 {
  margin: 0 0 10px;
  color: #222;
  font-family: proxima-bold;
  font-size: 24px;
  line-height: 1.06;
}

.strategy-land-expand-copy p {
  margin: 0;
  color: #222;
  font-size: 17px;
  line-height: 1.42;
  text-align: justify;
}

.strategy-land-expand-image {
  position: relative;
  min-height: 100%;
  padding: 18px 16px 24px 18px;
}

.strategy-land-expand-kpi {
  position: relative;
  z-index: 2;
  width: 100%;
  margin-left: auto;
  margin-bottom: 16px;
  padding: 12px 0 0;
  color: #fff;
}

.strategy-land-expand-kpi h4 {
  margin: 0 0 6px;
  color: #222;
  font-family: proxima-bold;
  font-size: 22px;
  line-height: 1.1;
}

.strategy-land-expand-percent {
  margin: 0 0 6px;
  color: #222;
  font-family: proxima-extrabold;
  font-size: 35px;
  line-height: 0.95;
}

.strategy-land-expand-kpi p {
  margin: 0;
  color: #222;
  font-family: proxima-extrabold;
  font-size: 20px;
  line-height: 1.08;
}

.strategy-land-expand-placeholder {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);

}


.strategy-land-expand-placeholder span {
  position: relative;
  z-index: 2;
  display: inline-block;
  color: #9dd8ff;
  font-family: proxima-bold;
  font-size: 15px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  border: 1px solid rgba(157, 216, 255, 0.42);
  padding: 8px 12px;
  background: rgba(2, 10, 20, 0.38);
}

.strategy-land-expand-placeholder img {
  display: block;
  width: 100%;
  min-height: 270px;
  height: 100%;
  object-fit: cover;
}


.strategy-visual-placeholder {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
}

.strategy-visual-placeholder img {
  display: block;
  width: 100%;
  height: auto;
}

.strategy-box-section {
  padding: 10px 0 40px;
  background: #fff;
}

.strategy-box-card {
  position: relative;
  min-height: 100%;
  background: #fff;
  border: 2px solid #16a7a7;
      border-top: none;
      border-right: none;
  overflow: hidden;
}

.strategy-box-topbar {
  position: absolute;
  left: 0;
  top: 0;
  width: 138px;
  height: 12px;
  background: #16a7a7;
}

.strategy-box-grid {
  min-height: 100%;
}

.strategy-box-col {
  position: relative;
}

.strategy-box-col + .strategy-box-col {
  border-left: 1px solid #c9c9c9;
}

.strategy-box-inner {
  min-height: 100%;
  padding: 28px 18px 38px 18px;
}

.strategy-box-inner--mid {
  padding-left: 20px;
  padding-right: 20px;
}

.strategy-box-inner--right {
  padding-left: 22px;
  padding-right: 18px;
}

.strategy-box-title {
  margin: 0 0 8px;
  color: #000;
  font-family: proxima-bold;
  font-size: 20px;
  line-height: 1.08;
}

.strategy-box-title--green {
  color: #32ad56;
  font-size: 24px;
  line-height: 1.06;
}

.strategy-box-title--mt {
  margin-top: 30px;
}

.strategy-box-copy {
  margin: 0 0 12px;
  color: #000;
  font-family: proxima-regular;
  font-size: 16px;
  line-height: 1.42;
}

.strategy-box-list {
  margin: 0;
  padding-left: 18px;
  list-style-type: square;
}

.strategy-box-list li {
  margin-bottom: 10px;
  color: #000;
  font-family: proxima-regular;
  font-size: 16px;
  line-height: 1.36;
}

.strategy-box-list li::marker {
  color: #000;
}

.strategy-box-list--bold li {
  font-family: proxima-bold;
}

.strategy-capital-icons--box {
  margin: 16px 0 18px;
}

.strategy-box-accent {
  position: absolute;
  right: 16px;
  bottom: 0;
  width: 118px;
  height: 78px;
  border-right: 2px solid #109f9f;
  border-bottom: 2px solid #109f9f;
  clip-path: polygon(0 100%, 0 55%, 72% 0, 100% 0, 100% 100%);
}

@media (max-width: 991px) {
  .strategy-box-col + .strategy-box-col {
    border-left: 0;
    border-top: 1px solid #c9c9c9;
  }

  .strategy-box-inner,
  .strategy-box-inner--mid,
  .strategy-box-inner--right {
    padding: 22px 14px 24px;
  }

  .strategy-box-title--green {
    font-size: 22px;
  }

  .strategy-box-title {
    font-size: 19px;
  }

  .strategy-focus-panel {
    padding-left: 14px;
    padding-right: 14px;
  }

  .strategy-focus-accent {
    width: 92px;
    height: 58px;
  }

  .strategy-land-expand-panel {
    border-width: 1px;
  }

  .strategy-land-expand-copy,
  .strategy-land-expand-image {
    padding-left: 14px;
    padding-right: 14px;
  }

  .strategy-box-section {
    padding-bottom: 30px;
  }

  .ma-priority-grid {
    gap: 22px;
  }

  .ma-table-wrap {
    overflow-x: auto;
  }

  .ma-table {
    min-width: 820px;
  }

  .bm-chart-placeholder,
  .bm-bar-placeholder {
    height: 220px;
  }

  .bm-chart-legend {
    gap: 8px 12px;
  }

  .awards-grid {
    gap: 28px 22px;
  }
}

@media (max-width: 767px) {
  .strategy-box-card {
    border-top-width: 10px;
  }

  .strategy-box-topbar {
    width: 104px;
    height: 10px;
  }

  .strategy-box-title--green {
    font-size: 21px;
  }

  .strategy-box-copy,
  .strategy-box-list li {
    font-size: 15px;
  }

  .strategy-focus-section,
  .strategy-land-expand-section {
    padding-bottom: 24px;
  }

  .strategy-focus-panel {
    padding: 18px 12px 16px;
  }

  .strategy-focus-topbar {
    left: 12px;
    width: 84px;
  }

  .strategy-focus-title {
    font-size: 20px;
  }

  .strategy-focus-copy,
  .strategy-focus-list li {
    font-size: 15px;
  }

  .strategy-focus-accent {
    width: 80px;
    height: 50px;
  }

  .strategy-land-expand-copy h3 {
    font-size: 21px;
  }

  .strategy-land-expand-copy p {
    font-size: 15px;
  }

  .strategy-land-expand-kpi h4 {
    font-size: 17px;
  }

  .strategy-land-expand-percent {
    font-size: 34px;
  }

  .strategy-land-expand-kpi p {
    font-size: 15px;
  }

  .strategy-land-expand-placeholder {
    min-height: 180px;
  }

  .strategy-land-expand-placeholder img {
    min-height: 180px;
  }

  .strategy-box-topbar {
    width: 92px;
  }

  .strategy-box-title--green {
    font-size: 20px;
  }

  .strategy-box-title {
    font-size: 18px;
  }

  .strategy-box-copy,
  .strategy-box-list li {
    font-size: 14px;
  }

  .strategy-box-inner,
  .strategy-box-inner--mid,
  .strategy-box-inner--right {
    padding: 18px 12px 20px;
  }

  .strategy-capital-icons--box {
    margin-top: 12px;
  }

  .ma-priority-copy h2,
  .ma-section-head h2,
  .ma-narrative h2,
  .ma-detail-copy h2 {
    font-size: 22px;
  }

  .ma-priority-copy li {
    font-size: 15px;
  }

  .ma-table {
    min-width: 700px;
  }

  .bm-chart-title {
    font-size: 21px;
  }

  .bm-chart-placeholder,
  .bm-bar-placeholder {
    height: 180px;
  }

  .bm-chart-legend,
  .bm-chart-copy,
  .bm-chart-footnote {
    font-size: 15px;
  }

  .awards-banner .takeGiant h1 {
    font-size: 26px;
  }

  .awards-banner-placeholder {
    min-height: 160px;
  }

  .awards-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .award-art {
    min-height: auto;
  }

  .award-card h3 {
    font-size: 17px;
  }

  .strong-client-banner-image {
    margin-top: 18px;
  }

  .partner-row {
    margin-bottom: 16px;
  }

  .partner-card {
    padding: 14px 14px 18px;
  }
}

@media (max-width: 991px) {
  .strategy-land-expand-copy,
  .strategy-land-expand-image {
    padding-left: 10px;
    padding-right: 10px;
  }

  .strategy-land-expand-kpi {
    max-width: 100%;
    margin-left: 0;
  }

  .strategy-land-expand-percent {
    font-size: 48px;
  }

  .strategy-land-expand-kpi p {
    font-size: 18px;
  }

  .strategy-land-expand-placeholder {
    min-height: 240px;
  }

  .strategy-land-expand-placeholder img {
    min-height: 240px;
  }
}

@media (max-width: 767px) {
  .strategy-land-expand-copy h3 {
    font-size: 22px;
  }

  .strategy-land-expand-copy p {
    font-size: 16px;
  }

  .strategy-land-expand-kpi h4 {
    font-size: 18px;
  }

  .strategy-land-expand-percent {
    font-size: 40px;
  }

  .strategy-land-expand-kpi p {
    font-size: 16px;
  }

  .strategy-land-expand-placeholder {
    min-height: 220px;
  }

  .strategy-land-expand-placeholder img {
    min-height: 220px;
  }

  .strategy-visual-section {
    padding-bottom: 24px;
  }
}

.client-growth {
  padding: 0px 0 0px;
  background: #fff;
}

.partnerships-ecosystem {
  padding: 10px 0 30px;
  background: #fff;
}

.partnerships-copy {
  max-width: 1280px;
}

.partnerships-copy h2 {
  color: #1f9e58;
  font-family: proxima-extrabold;
  font-size: 28px;
  line-height: 33px;
  margin-bottom: 6px;
}

.partnerships-copy h3 {
  color: #000;
  font-family: proxima-extrabold;
  font-size: 24px;
  line-height: 28px;
  margin-bottom: 10px;
}

.partnerships-copy p {
  color: #000;
  font-family: proxima-regular;
  font-size: 18px;
  line-height: 1.28;
  max-width: 1280px;
}

.partner-showcase {
  padding: 10px 0 35px;
  background: #fff;
}

.partner-row {
  margin-bottom: 26px;
}

.partner-card {
  min-height: 100%;
  padding: 18px 22px 24px;
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 25%, #cdeecf 62%, #f8f2b8 100%);
}

.partner-head {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 16px;
}

.partner-logo {
  flex: 0 0 150px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  font-family: proxima-bold;
  font-size: 18px;
  color: #4b4b4b;
  text-transform: uppercase;
}

.partner-logo--image {
  padding: 6px 10px;
}

.partner-logo--image img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.partner-title {
  flex: 1;
  color: #000;
  font-family: proxima-extrabold;
  font-size: 20px;
  line-height: 1.05;
}

.partner-card p {
  color: #000;
  font-family: proxima-extrabold;
  font-size: 18px;
  line-height: 1.25;
  margin-bottom: 16px;
}

.partner-card h4 {
  color: #000;
  font-family: proxima-extrabold;
  font-size: 18px;
  line-height: 1.15;
  margin-bottom: 10px;
}

.partner-card ul {
  margin: 0;
  padding-left: 22px;
}

.partner-card li {
  color: #000;
  font-family: proxima-regular;
  font-size: 18px;
  line-height: 1.25;
  margin-bottom: 8px;
  list-style-type: square;
}

.ma-priority {
  padding: 20px 0 34px;
}

.ma-priority-grid {
  display: grid;
  grid-template-columns: minmax(0, 46%) minmax(0, 54%);
  gap: 28px;
  align-items: center;
}

.ma-priority-copy h2,
.ma-section-head h2,
.ma-narrative h2,
.ma-detail-copy h2 {
  color: #32ad56;
  font-family: proxima-extrabold;
  font-size: 24px;
  line-height: 1.05;
  margin-bottom: 10px;
}

.ma-priority-copy ul {
  margin: 0;
  padding-left: 14px;
}

.ma-priority-copy li {
  font-family: proxima-regular;
  font-size: 16px;
  line-height: 22px;
  color: #111;
  margin-bottom: 12px;
  list-style-type: square;
}

.ma-priority-copy li::marker {
  font-size: 0.8em;
}

.ma-image-placeholder img {
  display: block;
  width: 100%;
  height: auto;
}

.ma-image-placeholder span {
  font-family: proxima-bold;
  font-size: 18px;
  color: #666;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.ma-acquisitions {
  padding: 0 0 40px;
}

.ma-section-head {
  margin-bottom: 10px;
}

.ma-table-wrap {
  background: linear-gradient(90deg, #ffffff 0%, #edf8e8 46%, #f8f7c5 100%);
  padding: 6px 0 0;
}

.ma-table {
  width: 100%;
  border-collapse: collapse;
  background: transparent;
}

.ma-table thead th {
  background: #0c8f96;
  color: #fff;
  font-family: proxima-bold;
  font-size: 18px;
  padding: 10px 10px;
  text-align: left;
}

.ma-table tbody td {
  border-top: 1px solid #b8b8b8;
  padding: 14px 10px;
  font-family: proxima-regular;
  font-size: 17px;
  line-height: 1.18;
  color: #111;
  vertical-align: top;
}

.ma-table tbody td strong {
  font-family: proxima-bold;
}

.ma-table tbody tr:first-child td {
  border-top: none;
}

.ma-table tbody tr:last-child td {
  padding-bottom: 18px;
}

.ma-table tbody td:first-child {
  width: 28%;
}

.ma-table tbody td:nth-child(2) {
  width: 18%;
  white-space: nowrap;
}

.ma-table tbody td:nth-child(3) {
  width: 54%;
}

.ma-narrative {
  max-width: 1280px;
}

.ma-narrative p,
.ma-detail-copy p {
  color: #111;
  font-family: proxima-regular;
  font-size: 16px;
  line-height: 1.25;
  margin-bottom: 14px;
}

.ma-bullets {
  margin: 0 0 14px;
  padding-left: 16px;
}

.ma-bullets li {
  font-family: proxima-regular;
  font-size: 16px;
  line-height: 1.25;
  color: #111;
  margin-bottom: 8px;
  list-style-type: square;
}

.kpi-graphs {
  padding: 20px 0 40px;
  background: #fff;
}

.kpi-graph-row {
  row-gap: 28px;
}

.kpi-graph-card {
  height: 100%;
}

.kpi-graph-card h3 {
  font-family: proxima-bold;
  font-size: 20px;
  line-height: 1.1;
  color: #111;
  margin-bottom: 14px;
}

.kpi-graph-placeholder {
  padding: 22px 18px 18px;
  border-radius: 0;
  background: linear-gradient(180deg, #ffffff 0%, #f5fbf3 55%, #fffde5 100%);
  border: 1px solid rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.kpi-graph-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.kpi-graph-bars {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}

.kpi-graph-bars span {
  display: block;
  height: 18px;
  background: linear-gradient(90deg, #0c8f96 0%, #25b3ac 100%);
  border-radius: 0 3px 3px 0;
  position: relative;
  overflow: hidden;
}

.kpi-graph-bars span::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.22) 0 1px, transparent 1px 8px),
    repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.18) 0 1px, transparent 1px 8px);
}

.kpi-graph-note {
  font-family: proxima-semibold;
  font-size: 14px;
  color: #777;
  text-align: right;
  padding-top: 10px;
}

.vcm-tabs {
  padding: 0 0 30px;
  background: #fff;
}


.vcmTabStrip .nav-item {
  margin: 0;
  flex: 0 0 auto;
}
.vcmTabStrip{
  display: flex;
  justify-content: starts;
  gap: 40px;
  flex-wrap: wrap;
  border-bottom: none;
}

.vcmTabLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  border: 0;
  color: #222;
  font-family: proxima-bold;
  font-size: 19px;
  line-height: 1;
  padding: 15px 30px;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  /* border-radius: 999px; */
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  border: 1px solid #222;
}

.vcmTabLink:hover,
.vcmTabLink:focus-visible {
  background: #fff;
  color: #222;
  outline: none;
  transform: translateY(-1px);
}

.vcmTabLink.active {
  background: linear-gradient(90deg, #49bb58 0%, #2aa45f 55%, #017665 100%);
  color: #fff;
  box-shadow: 0 10px 24px rgba(50, 173, 86, 0.24), inset 0 0 0 1px rgba(255, 255, 255, 0.22);
  border: 1px solid #32ad56;
  transform: translateY(-1px) scale(1.03);
}

.vcmTabContent {
  min-height: 40px;
}

.vcmTabSelectWrap {
  display: none;
  margin-bottom: 14px;
}

.vcmTabSelect {
  width: 100%;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid #1f9e58;
  border-radius: 12px;
  background: #fff;
  color: #111;
  font-family: proxima-bold;
  font-size: 16px;
  outline: none;
}

.vcm-section {
  padding-top: 10px;
}
.vcm-section + .vcm-section {
  margin-top: 18px;
}
.vcm-section-head {
  margin: 0;
  padding: 6px 0 2px;
  font-family: proxima-extrabold;
  font-size: 28px;
  line-height: 1.2;
  color: #0d6350;
}

.vcm-input-stack {
  padding: 20px 0 8px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

.vcm-capital-card {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  padding: 22px 24px;
  border-radius: 20px;
  border: 1px solid rgba(50, 173, 86, 0.14);
  background: linear-gradient(180deg, #f8fbf2 0%, #eef8ea 100%);
  box-shadow: 0 10px 25px rgba(13, 122, 54, 0.06);
}

.vcm-capital-icon {
  width: 72px;
  height: 72px;
}

/* .vcm-capital-icon::after {
  content: "";
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 18px;
  height: 18px;
  background: linear-gradient(135deg, transparent 49%, #32ad56 50%, #32ad56 100%);
  border-bottom-right-radius: 14px;
} */

.vcm-capital-icon span {
  position: relative;
  z-index: 1;
  font-family: proxima-extrabold;
  font-size: 20px;
  line-height: 1;
  color: #32ad56;
  letter-spacing: 0.5px;
}

.vcm-capital-icon img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.vcm-capital-copy {
  flex: 1;
  min-width: 0;
}

.vcm-capital-title {
  margin: 0 0 10px;
  font-family: proxima-bold;
  font-size: 24px;
  line-height: 1.15;
}

.vcm-capital-intro {
  margin: 0 0 10px;
  font-size: 16px;
  line-height: 1.5;
  color: #222;
}

.vcm-capital-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.vcm-capital-list li {
  position: relative;
  padding-left: 22px;
  font-size: 16px;
  line-height: 1.45;
  color: #222;
}

.vcm-capital-list li + li {
  margin-top: 6px;
}

.vcm-capital-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--vcm-bullet, #000);
  transform: translateY(-50%);
}

.vcm-financial { color: #ff6f7b; }
.vcm-manufactured { color: #14a7c4; }
.vcm-intellectual { color: #ff8c1a; }
.vcm-human { color: #a652a8; }
.vcm-social { color: #1889d0; }
.vcm-natural { color: #7fb33d; }

/* Bullets are black for every capital; only the section headings stay colour-coded. */
.vcm-financial-list,
.vcm-manufactured-list,
.vcm-intellectual-list,
.vcm-human-list,
.vcm-social-list,
.vcm-natural-list { --vcm-bullet: #000; }

.vcm-model-grid {
  padding: 20px 0 6px;
}

.vcm-model-card {
  display: flex;
  align-items: center;
  gap: 40px;
  min-width: 0;
}

.vcm-model-card + .vcm-model-card {
  margin-top: 40px;
}

.vcm-model-card:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  padding-bottom: 40px;
}

.vcm-model-body {
  flex: 1;
  min-width: 0;
}

.vcm-model-media {
  width: 260px;
  max-width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  margin: 0;
  flex: 0 0 auto;
  position: relative;
  overflow: hidden;
  box-shadow: 0 14px 30px rgba(15, 122, 54, 0.12);
  background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.55), transparent 34%),
    linear-gradient(145deg, #0d2037 0%, #0a5678 52%, #1eb7d0 100%);
}

.vcm-model-media::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(255,255,255,0.14) 0 18%, transparent 18% 100%),
    radial-gradient(circle at 75% 28%, rgba(255,255,255,0.12) 0 8%, transparent 9%);
  opacity: 0.8;
}

.vcm-model-media::after {
  content: "";
  position: absolute;
  inset: 12%;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.vcm-model-media-2 {
  background: radial-gradient(circle at 28% 26%, rgba(255, 255, 255, 0.56), transparent 34%),
    linear-gradient(145deg, #b89b7a 0%, #7b5c46 48%, #d8b28c 100%);
}

.vcm-model-media-3 {
  background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.56), transparent 34%),
    linear-gradient(145deg, #8b97b7 0%, #23466d 54%, #1a2f4c 100%);
}

.vcm-model-media-4 {
  background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.56), transparent 34%),
    linear-gradient(145deg, #0f1a2a 0%, #223149 52%, #596773 100%);
}

.vcm-model-media span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  color: rgba(255, 255, 255, 0.82);
  font-family: proxima-extrabold;
  font-size: 20px;
  letter-spacing: 2px;
}

.vcm-model-media img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.vcm-model-title {
  margin: 0 0 18px;
  font-family: proxima-bold;
  font-size: 22px;
  line-height: 1.15;
  color: #32ad56;
}

.vcm-model-list {
  list-style: none;
  margin: 0;
  padding: 0;
  columns: 2;
  column-gap: 40px;
}

.vcm-model-list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 16px;
  break-inside: avoid;
  font-size: 16px;
  line-height: 1.5;
  color: #32ad56;
}

.vcm-model-list li + li {
  margin-top: 0;
}

.vcm-model-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.68em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f4cf00;
  transform: translateY(-50%);
}

@media (max-width: 1199px) {
  .vcm-model-card {
    gap: 30px;
  }
  .vcm-model-media {
    width: 220px;
  }
}

@media (max-width: 767px) {
  .vcm-model-card {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
  }

  .vcm-model-card + .vcm-model-card {
    margin-top: 32px;
  }

  .vcm-model-media {
    width: 200px;
  }

  .vcm-model-title {
    font-size: 20px;
    margin-bottom: 14px;
  }

  .vcm-model-body {
    text-align: left;
  }

  .vcm-model-list {
    columns: 1;
  }

  .vcm-model-list li {
    font-size: 15px;
  }
}

.vcm-outcomes-stack {
  padding: 20px 0 6px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.vcm-outcome-block {
  padding: 0 2px;
      padding: 22px 24px;
    border-radius: 20px;
    border: 1px solid rgba(50, 173, 86, 0.14);
    background: linear-gradient(180deg, #f8fbf2 0%, #eef8ea 100%);
    box-shadow: 0 10px 25px rgba(13, 122, 54, 0.06);
}

.vcm-outcome-title {
  margin: 0 0 10px;
  font-family: proxima-extrabold;
  font-size: 24px;
  line-height: 1.1;
}

.vcm-outcome-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 42px;
}

.vcm-outcome-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.vcm-outcome-list li {
  position: relative;
  padding-left: 20px;
  font-size: 16px;
  line-height: 1.35;
  color: #222;
}

.vcm-outcome-list li + li {
  margin-top: 6px;
}

.vcm-arrow-up {
  color: #32ad56;
  font-weight: 700;
}

.vcm-outcome-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.68em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--vcm-bullet, #000);
  transform: translateY(-50%);
}

@media (max-width: 991px) {
  .vcm-outcome-columns {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

@media (max-width: 767px) {
  .vcm-outcomes-stack {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .vcm-section-head {
    font-size: 22px;
  }

  .vcm-outcome-title {
    font-size: 20px;
  }

  .vcm-outcome-list li {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .vcmTabSelectWrap {
    display: block;
  }

  .vcmTabStrip {
    display: none;
  }

  .vcm-capital-card {
    padding: 18px 16px;
    gap: 16px;
  }

  .vcm-capital-icon {
    flex-basis: 58px;
    width: 58px;
    height: 58px;
    border-radius: 14px;
  }

  .vcm-capital-icon span {
    font-size: 16px;
  }

  .vcm-capital-title {
    font-size: 20px;
  }

  .vcm-capital-list li,
  .vcm-capital-intro {
    font-size: 15px;
  }

  .vcm-input-stack {
    grid-template-columns: 1fr;
    gap: 16px;
    padding-top: 20px;
  }

  .vcm-capital-card {
    flex-direction: column;
  }

  .vcm-capital-icon {
    width: 58px;
    height: 58px;
  }

  .vcm-capital-title {
    font-size: 19px;
  }

  .vcm-outcome-columns {
    gap: 14px;
  }

  .vcm-model-media {
    width: 100%;
    max-width: 220px;
  }

  .vcm-model-media span {
    font-size: 16px;
  }
}

.ma-detail {
  padding: 8px 0 8px;
}

.ma-detail-copy h3 {
  color: #111;
  font-family: proxima-extrabold;
  font-size: 20px;
  line-height: 1.08;
  margin-bottom: 10px;
}

.ma-detail-copy {
  max-width: 1280px;
}

.growth-head {
  margin-bottom: 30px;
}

.growth-head h2 {
  color: #1f9e58;
  font-family: proxima-extrabold;
  font-size: 28px;
  line-height: 33px;
  margin-bottom: 12px;
}

.growth-head p {
  color: #000;
  font-family: proxima-regular;
  font-size: 18px;
  line-height: 1.25;
  max-width: 1240px;
}

.growth-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.growth-card {
  padding-top: 8px;
  min-height: 110px;
  position: relative;
}

.growth-card::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: rgba(50, 173, 86, 0.25);
}

.growth-card--single::after {
  display: none;
}

.growth-number {
  margin-bottom: 8px;
}

.gradient-number {
  display: inline-block;
  font-family: proxima-extrabold;
  font-size: 35px;
  line-height: 1;
  background: linear-gradient(90deg, #0aa79c 0%, #32ad56 55%, #8bc53f 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.growth-label {
  color: #666f7b;
  font-family: proxima-bold;
  font-size: 18px;
  line-height: 1.25;
}

.growth-card--single {
  grid-column: 1 / 2;
}

@media (max-width: 991px) {
  .growth-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 40px;
  }
  .growth-head h2,
  .gradient-number {
    font-size: 32px;
  }
}

@media (max-width: 767px) {
  .client-growth {
    padding: 28px 0 48px;
  }
  .partnerships-ecosystem {
    padding: 8px 0 34px;
  }
  .growth-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .growth-card--single {
    grid-column: auto;
  }
  .partnerships-copy h2 {
    font-size: 28px;
  }
  .partnerships-copy h3 {
    font-size: 22px;
  }
  .partner-row {
    margin-bottom: 18px;
  }
  .partner-card {
    padding: 16px 16px 20px;
  }
  .partner-head {
    gap: 12px;
    flex-direction: column;
  }
  .partner-logo {
    flex-basis: auto;
    width: 140px;
    height: 48px;
    font-size: 15px;
  }
  .partner-title {
    font-size: 20px;
  }
  .partner-card p,
  .partner-card li,
  .partner-card h4 {
    font-size: 16px;
  }
  .ma-priority-grid {
    grid-template-columns: 1fr;
  }
  .ma-priority-copy h2,
  .ma-section-head h2,
  .ma-narrative h2,
  .ma-detail-copy h2 {
    font-size: 24px;
  }
  .ma-priority-copy li {
    font-size: 17px;
  }
  .ma-image-placeholder {
    min-height: 250px;
  }
  .ma-table thead th,
  .ma-table tbody td {
    font-size: 15px;
  }
  .ma-table tbody td:first-child,
  .ma-table tbody td:nth-child(2),
  .ma-table tbody td:nth-child(3) {
    width: auto;
    white-space: normal;
  }
  .ma-narrative p,
  .ma-detail-copy p {
    font-size: 16px;
  }
  .ma-detail-copy h3 {
    font-size: 20px;
  }
  .kpi-graph-card h3 {
    font-size: 20px;
  }
  .kpi-graph-placeholder {
    min-height: 240px;
  }
  .growth-head p,
  .growth-label,
  .partnerships-copy p {
    font-size: 16px;
  }
}

/* ===================== Next / Prev navigation ===================== */
.Nextprev {
    margin: 60px 0;
}

.Nextprev a {
    color: #000;
}

.Nextprev .leftBtn {
    display: flex;
    align-items: center;
    gap: 10px;
}

.Nextprev .leftData,
.Nextprev .rightData {
    max-width: 486px;
    width: 100%;
    border: 1px solid #707070;
    border-radius: 50px;
    font-family: proxima-semibold;
    font-size: 18px;
    transition: all 0.4s ease;
}

.Nextprev .leftData {
    padding: 11px 0 11px 18px;
}

.Nextprev .rightData {
    padding: 11px 18px 11px 0px;
    text-align: right;
}

.leftBtn.rgt {
    justify-content: end;
}

.Nextprev .arrowImh img {
    transition: transform 0.4s ease;
}

.leftBtn:hover .leftData,
.leftBtn:hover .rightData {
    background: #32ad56;
    border-color: #32ad56;
    color: #fff;
}

.leftBtn:hover .arrowImh img {
    transform: translateX(-8px);
}

.leftBtn.rgt:hover .arrowImh img {
    transform: translateX(8px);
}
/* ============================================================
   About the Report page  ===  CSS start
   ============================================================ */

.aboutReport .arBlock {
    margin-bottom: 30px;
}

.arHead {
    font-size: 20px;
    line-height: 26px;
    color: #0072bc;
    font-family: proxima-nova-bold;
    margin-bottom: 12px;
}

.aboutReport p {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 15px;
}

.arList {
    margin: 0 0 0 18px;
    padding: 0;
}

.arList li {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 8px;
    list-style: square;
}

/* Our Capitals */


.capHead {
    display: flex;
    align-items: center;
    gap: 0;
    font-size: 24px;
    line-height: 30px;
    /* color: #32ad56; */
    font-family: proxima-nova-bold;
    margin-bottom: 25px;
    background: linear-gradient(to right, #39b54a 0%, #0d6350 100%);
  background-clip: text;
  -webkit-background-clip: text;

  color: transparent;
  -webkit-text-fill-color: transparent;
}

/* trailing dot + line after the heading text */
.capHead::before {
    content: "";
    order: 1;
    flex: 0 0 5px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #159b57;
    margin-left: 18px;
}

.capHead::after {
    content: "";
    order: 2;
    flex: 1 1 auto;
    height: 1px;
    background: #159b57;
}

.capCard {
    display: flex;
    gap: 15px;
    margin-bottom: 28px;
}

.capIcon {
    flex: 0 0 46px;
    max-width: 46px;
}

.capIcon img {
    width: 100%;
}

.capTxt h4 {
    font-size: 18px;
    line-height: 24px;
    color: #000;
    font-family: proxima-semibold;
    margin-bottom: 6px;
}

.capTxt p {
    font-size: 16px;
    line-height: 22px;
}

/* UN SDGs */
.sdgSec {
    padding: 0px 0 0px;
}

.sdgRow {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.sdgRow img {
    width: 80px;
    height: 80px;
}
.sdghead{
  font-size: 20px;
  line-height: 24px;
    color: #32ad56;
    font-family: proxima-nova-bold;
    margin-bottom: 15px;
}
/* ============================================================
   About the Report page  ===  CSS end
   ============================================================ */
/* chairman letter csss start  */
.chairmanTxt p {
  font-size: 18px;
  font-weight: 600;
  color: #444;
  position: relative;
  padding: 20px 0px;
  padding-left: 20px;
}
.chairmanTxt p::before{
  content: "";
  position: absolute;
  left: -10px;
  top: 0;
  width: 70px;
  height: 70px;
  background: url(../images/Chairman-Letter/line.svg) no-repeat left top;
  background-size: contain;
}

.bannerimg {
  position: relative;
  display: inline-block;
  width: 100%;
}

.bannerimg img {
  width: 100%;
  border-radius: 0px;
}

.bannerimg .banner-ai-disclaimer {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
  padding: 8px 16px;
  color: #ffffff;
  font-family: proxima-regular;
  font-size: 13px;
  font-style: italic;
  background: rgba(0, 0, 0, 0.45);
}

/* Reusable AI-generated image disclaimer (bottom-left overlay) */
.gbsVisual,
.industryVisual,
.strategy-visual-placeholder {
  position: relative;
}
.ai-disclaimer {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
  padding: 8px 16px;
  color: #ffffff;
  font-family: proxima-regular;
  font-size: 13px;
  font-style: italic;
  background: rgba(0, 0, 0, 0.45);
}

.bannerName {
  position: absolute;
  left: -35px;
  bottom: -10px;
  background: #37864f;
  color: #fff;
  padding: 5px 30px 5px 10px;
}

.bannerName h5 {
  font-size: 18px;
  font-family: proxima-nova-bold;
  margin-bottom: 2px;
}

.bannerName p {
  font-size: 16px;
  color: #fff;
}

/* ---- Chairman letter body ---- */

.clBody p {
  font-size: 16px;
  line-height: 24px;
  color: #333;
  margin-bottom: 16px;
}

.clSub {
  margin-top: 20px;
}

.clHead {
  font-size: 20px;
  line-height: 26px;
  color: #32ad56;
  font-family: proxima-nova-bold;
  margin-bottom: 12px;
}

.clHead.clHeadBlack {
  color: #000;
}

.clSub p {
  font-size: 16px;
  line-height: 24px;
}

/* ---- 12 AI Programs timeline ---- */
.aiPrograms {
  margin: 40px 0 30px;
}

.aiProgHead {
  margin-bottom: 22px;
}

.aiRow {
  display: flex;
  align-items: stretch;
  margin-bottom: 14px;
}

.aiPhase {
  flex: 0 0 190px;
  max-width: 190px;
  display: flex;
  align-items: center;
  min-height: 96px;
  padding: 0 30px;
  color: #fff;
  font-size: 20px;
  font-family: proxima-nova-bold;
  letter-spacing: 1px;
  background: linear-gradient(100deg, #0d8f6f 0%, #6cc24a 100%);
  clip-path: polygon(0 0, 75% 0, 100% 50%, 100% 100%, 0 100%);
}

.aiSteps {
  position: relative;
  flex: 1 1 auto;
  display: flex;
  padding-top: 8px;
  padding-left: 20px;
}

/* connecting line through the number squares */
.aiSteps::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 0;
  right: 12px;
  height: 2px;
  background: #159b57;
}

/* end dot */
.aiSteps::after {
  content: "";
  position: absolute;
  top: 16px;
  right: 4px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #159b57;
}

.aiStep {
  flex: 0 0 20%;
  max-width: 20%;
  padding-right: 18px;
}

.aiNum {
  position: relative;
  z-index: 1;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #45a247;
  color: #fff;
  font-size: 16px;
  font-family: proxima-nova-bold;
  border-radius: 3px;
  margin-bottom: 14px;
}

.aiStep p {
  font-size: 16px;
  line-height: 19px;
  font-family: proxima-semibold;
}

/* ---- Summary grid ---- */
.aiSummary {
  margin-top: 30px;
}

.aiSummaryIntro {
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 22px;
}

.aiSummaryGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px 40px;
}

.aiSumItem h5 {
  font-size: 18px;
  line-height: 22px;
  font-family: proxima-nova-bold;
  margin-bottom: 6px;
}

.aiSumItem p {
  font-size: 16px;
  line-height: 21px;
}

/* ---- Photo + award quote row ---- */
.clMediaRow {
  margin-top: 40px;
}

.awardQuote {
  position: relative;
  padding: 10px 0 10px 35px;
}

.awardQuote::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 70px;
  height: 70px;
  background: url(../images/Chairman-Letter/line.svg) no-repeat left top;
  background-size: contain;
}

.awardQuote p {
  font-size: 18px;
  line-height: 26px;
  font-weight: 600;
}

/* ---- AI point list (full width) ---- */
.aiPointList {
  list-style: none;
  margin: 40px 0 0;
  padding: 0;
  column-count: 2;
  column-gap: 50px;
}

.aiPointList li {
  position: relative;
  margin-bottom: 15px;
  break-inside: avoid;
  list-style: none;
  padding-left: 20px;
}

.aiPointList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #333;
}


.aiPointList h5 {
  font-size: 16px;
  line-height: 22px;
  font-family: proxima-nova-bold;
  margin-bottom: 6px;
}

.aiPointList p {
  font-size: 16px;
  line-height: 21px;
}

/* ---- Enterprise AI Platform (full width) ---- */
.aiPlatform {
  margin-top: 30px;
}

.aiPlatform h5 {
  font-size: 16px;
  line-height: 22px;
  font-family: proxima-nova-bold;
  margin-bottom: 8px;
}

.aiPlatform p {
  font-size: 16px;
  line-height: 24px;
}

/* ---- Large pullquote ---- */
.awardQuoteLg {
  margin: 20px 0;
}

.awardQuoteLg p {
  font-size: 20px;
  line-height: 30px;
}

/* ---- Signature ---- */
.clSign {
  margin-top: 20px;
}

.clRegards {
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 18px;
}

.clSignName {
  margin-bottom: 16px;
}

.clSignName h5 {
  font-size: 18px;
  line-height: 22px;
  color: #32ad56;
  font-family: proxima-nova-bold;
  margin-bottom: 2px;
}

.clSignName p {
  font-size: 16px;
  line-height: 20px;
}
/* chairman letter end */

/* ============================================================
   About Happiest Minds page  ===  CSS start
   ============================================================ */

.ahmIntro p {
  font-size: 16px;
  line-height: 24px;
  color: #333;
  margin-bottom: 16px;
}

.ahmDiagram {
  margin: 0px 0 40px;
  text-align: center;
}

.ahmDiagram img {
  width: 100%;
}

.ahmHead {
  font-size: 20px;
  line-height: 26px;
  color: #32ad56;
  font-family: proxima-nova-bold;
  margin-bottom: 15px;
}

/* Global Certifications */

.ahmCertGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px 30px;
  align-items: start;
}

.ahmCertItem {
  position: relative;
  padding-left: 16px;
  max-width: 265px;
}

.ahmCertItem::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 5px;
  background: #45a247;
  border-radius: 3px;
}

.ahmCertItem p {
  font-size: 16px;
  line-height: 21px;
  font-family: proxima-nova-bold;
}
.ahmCerts{
  margin-bottom: 30px;
}

/* Comprehensive Offerings */
.ahmOffer {
  margin-bottom: 30px;
}

.ahmOffer h5 {
  font-size: 16px;
  line-height: 22px;
  font-family: proxima-nova-bold;
  margin-bottom: 8px;
}

.ahmOffer p {
  font-size: 16px;
  line-height: 21px;
  margin-bottom: 15px;
}

/* Expanding Global Footprint */
.ahmMap {
  text-align: center;
}

.ahmMap img {
  width: 100%;
}



/* Footprint location cards */
.locCards {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 26px;
  margin-top: 40px;
}

.locCard {
  padding-top: 20px;
}

.locTop {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.locPin {
  position: relative;
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  background: var(--fpClr);
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
}

/* stem connecting the pin up to the top border line */
.locPin::after {
  content: "";
  position: absolute;
  left: 8%;
  top: 12px;
  width: 2px;
  height: 10px;
  background: var(--fpClr);
  transform: translateX(-50%) rotate(45deg);
  transform-origin: top center;
}

.locName {
  color: var(--fpClr);
  font-size: 18px;
  line-height: 20px;
  font-family: proxima-nova-bold;
}

.locLoc {
  border-top: 1px solid #000;
  font-size: 16px;
  line-height: 19px;
  background: color-mix(in srgb, var(--fpClr) 9%, #fff);
  padding: 12px 14px;
  min-height: 62px;
  margin-bottom: 14px;
}

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

.locStats li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-top: 1px solid #e5e5e5;
}

.locStats li:last-child {
  border-bottom: 1px solid #e5e5e5;
}

.locLbl {
  /* flex: 1 1 auto; */
  font-size: 16px;
  line-height: 20px;
  font-family: proxima-nova-bold;
}

.locColon {
  color: #999;
}

.locVal {
  flex: 0 0 auto;
  color: var(--fpClr);
  font-size: 18px;
  font-family: proxima-nova-bold;
}

/* Shareholding Pattern */
.shareholding {
  margin-top: 45px;
}

.shChart img {
  width: 100%;
}

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

.shLegend li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 12px;
  font-size: 16px;
  line-height: 22px;
  color: #333;
}

.shLegend li:last-child {
  margin-bottom: 0;
}

.shLegend li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--dot);
}
/* ============================================================
   About Happiest Minds page  ===  CSS end
   ============================================================ */

/* ============================================================
   PDES page  ===  CSS start
   ============================================================ */


.pdesHead {
  font-size: 20px;
  line-height: 26px;
  color: #32ad56;
  font-family: proxima-nova-bold;
  margin-bottom: 10px;
}

.pdesSec p {
  font-size: 16px;
  line-height: 24px;
  color: #333;
  margin-bottom: 22px;
}

.pdesList {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
}

.pdesList li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 12px;
  font-size: 16px;
  line-height: 23px;
  color: #333;
}

.pdesList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 8px;
  height: 8px;
  background: #333;
}
/* Vertical Focused Offerings */
.vfoSec {
  padding: 10px 0 20px;
}

.vfoHead {
  font-size: 24px;
  line-height: 30px;
  color: #32ad56;
  font-family: proxima-nova-bold;
  margin-bottom: 8px;
}

.vfoIntro {
  font-size: 16px;
  line-height: 24px;
  color: #333;
}

/* Industry cards */

.indCard {
  position: relative;
  padding: 30px 40px;
  color: #fff;
  /* background: linear-gradient(160deg, #1c6e46 0%, #2fa855 100%); */
  background: url(../images/key-business-enablers/bg.png) no-repeat left top;
  background-size: cover;
  clip-path: polygon(0 0, calc(100% - 46px) 0, 100% 46px, 100% 100%, 0 100%);
  margin: 25px 0px;
}

/* full-width visual with the same angled top-right corner */
.industryVisual {
  margin-top: 20px;
  /* clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%); */
}

.industryVisual img {
  display: block;
  width: 100%;
}

/* darker folded-corner accent along the top-right cut */
.indCard::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 72px;
  height: 72px;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
}

.indCardHead {
  font-size: 24px;
  line-height: 32px;
  font-family: proxima-nova-bold;
  margin-bottom: 22px;
}

.indCard p {
  font-size: 16px;
  line-height: 24px;
  color: #fff;
  padding-bottom: 15px;
}

/* Offerings */


.offHead {
  font-size: 24px;
  line-height: 30px;
  color: #32ad56;
  font-family: proxima-nova-bold;
  margin-bottom: 10px;
}

.offerings > p {
  font-size: 16px;
  line-height: 24px;
  color: #333;
  margin-bottom: 16px;
}

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

.offList li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 12px;
  font-size: 16px;
  line-height: 23px;
  color: #333;
}

.offList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 8px;
  height: 8px;
  background: #000;
}

/* two-column offerings list */
.offList2col {
  column-count: 2;
  column-gap: 50px;
}

.offList2col li {
  break-inside: avoid;
}

/* Offerings sub-categories (3 columns) */
.offCols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px 40px;
  margin-top: 6px;
}

.offSubHead {
  font-size: 18px;
  line-height: 24px;
  color: #32ad56;
  font-family: proxima-nova-bold;
  margin-bottom: 14px;
}

/* Case study */
.caseStudy {
  margin-top: 20px;
}

/* short yellow line with a dot at the end */
.caseStudy::before,
.csImpact::before {
  content: "";
  display: block;
  width: 180px;
  height: 10px;
  margin-bottom: 15px;
  background-image:
    radial-gradient(circle at calc(100% - 5px) 50%, #f5d400 0 5px, transparent 5px),
    linear-gradient(#f5d400, #f5d400);
  background-repeat: no-repeat;
  background-size: 10px 10px, 100% 3px;
  background-position: right center, left center;
}

.csHead {
  font-size: 24px;
  line-height: 26px;
  color: #0aa39a;
  font-family: proxima-nova-bold;
  margin-bottom: 10px;
}

.csTitle {
  font-size: 16px;
  line-height: 24px;
  color: #333;
  font-family: proxima-nova-bold;
}

.csSubHead {
  font-size: 20px;
  line-height: 26px;
  color: #32ad56;
  font-family: proxima-nova-bold;
  margin: 26px 0 10px;
}

.csPara {
  font-size: 16px;
  line-height: 24px;
  color: #333;
  padding-bottom: 15px;
}

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

.csList li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 14px;
  font-size: 16px;
  line-height: 23px;
  color: #333;
}

.csList li strong {
  color: #222;
}

.csList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 8px;
  height: 8px;
  background: #333;
}

/* Impact */
.csImpact {
  margin-top: 20px;
}

.csImpactHead {
  font-size: 24px;
  line-height: 30px;
  color: #32ad56;
  font-family: proxima-nova-bold;
  margin-bottom: 20px;
}

.impactGrid {
  display: flex;
  gap: 30px;
}

/* two-per-row impact grid */
.impactCols2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px 40px;
}

.impactCols2 .impactRow {
  margin-bottom: 0;
}

.impactRow {
  flex: 1 1 0;
  min-width: 0;
  margin-bottom: 26px;
}

.impactRow:last-child {
  margin-bottom: 0;
}

.impactNum {
  font-size: 30px;
  line-height: 1.1;
  font-family: proxima-nova-bold;
  margin-bottom: 6px;
  background: linear-gradient(150deg, #0a9d9a 0%, #7cc243 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  width: max-content;
  max-width: 100%;
}

.impactRow p {
  font-size: 16px;
  line-height: 22px;
  color: #444;
  font-family: proxima-nova-bold;
}

/* ---- Banner-gradient applied to all green headings (5 pages) ---- */
.capHead,
.ahmHead,
.clHead:not(.clHeadBlack),
.pdesHead,
.vfoHead,
.offHead,
.offSubHead,
.csSubHead,
.csImpactHead,
.itHead {
  background: linear-gradient(to right, #39b54a 0%, #0d6350 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
/* ============================================================
   PDES page  ===  CSS end
   ============================================================ */

/* ============================================================
   Integrated Thinking page  ===  CSS start
   ============================================================ */

.itHead {
  font-size: 24px;
  line-height: 30px;
  color: #32ad56;
  font-family: proxima-nova-bold;
  margin-bottom: 25px;
}

.itHeadCenter {
  text-align: center;
}

.itImg {
  text-align: center;
  margin-bottom: 30px;
}

/* Strategic Focus Areas / Supported by Business Activities */
.itSecHead {
  font-size: 20px;
  line-height: 26px;
  font-family: proxima-nova-bold;
  margin-bottom: 18px;
  background: linear-gradient(to right, #39b54a 0%, #0d6350 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.itSupported {
  position: relative;
  margin-top: 20px;
  padding-top: 30px;
}

.itCols3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px 40px;
}

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

.itList li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 22px;
  color: #333;
}

.itList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 8px;
  height: 8px;
  background: #333;
}



.itListTeal li::before {
  background: #333;
}

.itFactors {
  position: relative;
  margin-top: 30px;
  padding-top: 30px;
}

.itMaterialHead {
  font-size: 18px;
  line-height: 22px;
  color: #222;
  font-family: proxima-nova-bold;
  margin-bottom: 16px;
}

/* Key Risks */
.itRisks {
  position: relative;
  margin: 20px 0px;
  padding-top: 34px;
}

/* green divider line with a dot at the right end */
.itSupported::before,
.itFactors::before,
.itRisks::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 8px;
  background-image:
    radial-gradient(circle at calc(100% - 4px) 50%, #159b57 0 4px, transparent 4px),
    linear-gradient(#159b57, #159b57);
  background-repeat: no-repeat;
  background-size: 8px 8px, 100% 1px;
  background-position: right center, left center;
}

.itRisksHead {
  font-size: 18px;
  line-height: 26px;
  color: #222;
  font-family: proxima-nova-bold;
  margin-bottom: 30px;
}

.riskGrid {
  display: flex;
  gap: 20px;
  margin-bottom: 30px;
}

.riskItem {
  flex: 1 1 0;
  text-align: center;
}

.riskIcon img {
  width: 80px;
  height: auto;
}

.riskItem p {
  margin-top: 12px;
  font-size: 16px;
  line-height: 22px;
  color: #333;
  font-family: proxima-semibold;
}

/* Impact across Capitals & Stakeholders */
.impactBlock {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 40px;
  margin: 0 0 45px 55px;
  padding: 0 0 34px 55px;
  border-left: 1.5px solid #17a0a0;
  border-bottom: 1.5px solid #17a0a0;
}
.impctblockmtbtm0{
  margin-bottom: 0;
}

/* dot at the end of the bottom line */
.impactBlock::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -5px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #17a0a0;
}

.impactLabel {
  flex: 0 0 190px;
  position: relative;
  margin-left: -95px;
  padding: 26px 30px;
  text-align: center;
  font-size: 18px;
  font-family: proxima-nova-bold;
  color: #111;
  background: #17a0a0;
  clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%);
}

/* white inner fill + yellow glow (leaves a teal border along the clip) */
.impactLabel::before {
  content: "";
  position: absolute;
  inset: 1px;
  background: radial-gradient(ellipse 55% 50% at 50% 45%, #fbeca3 0%, #fdf6d2 30%, #ffffff 62%);
  clip-path: polygon(0 0, calc(100% - 21px) 0, 100% 21px, 100% 100%, 0 100%);
  z-index: 0;
}

.impactLabel span {
  position: relative;
  z-index: 1;
}

.iconGrid2 {
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px 40px;
}

.iconItem {
  display: flex;
  flex-direction: column;
}

.iconThumb img {
  width: 54px;
  height: auto;
}

.iconItem p {
  margin-top: 10px;
  font-size: 16px;
  line-height: 22px;
  color: #333;
  font-family: proxima-semibold;
}

/* ============================================================
   Integrated Thinking page  ===  CSS end
   ============================================================ */

/* ============================================================
   Generative AI Business Services page  ===  CSS start
   ============================================================ */
.generativeai-sec {
  padding: 30px 0 0px;
}

.generativeai-sec p {
  font-size: 16px;
  line-height: 24px;
  color: #333;
  margin-bottom: 16px;
}

.gbsHead {
  font-size: 24px;
  line-height: 26px;
  font-family: proxima-nova-bold;
  margin: 26px 0 10px;
  background: linear-gradient(to right, #39b54a 0%, #0d6350 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

/* Three interconnected dimensions cards */
.gbsDims {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 45px;
  margin-top: 32px;
}

.dimCard {
  position: relative;
  padding: 22px 24px 34px;
  border: 1.5px solid #5bbf9a;
  border-bottom: none;
}

/* dot at the bottom end of the right border */
.dimCard::before {
  content: "";
  position: absolute;
  right: -5px;
  bottom: -5px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #5bbf9a;
}

/* half-width bottom border with a single dot at its right end */
.dimCard::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 55%;
  height: 10px;
  background-image:
    radial-gradient(circle at calc(100% - 5px) 50%, #5bbf9a 0 4px, transparent 4px),
    linear-gradient(#5bbf9a, #5bbf9a);
  background-repeat: no-repeat;
  background-size: 10px 10px, 100% 1.5px;
  background-position: right center, center;
}

.dimHead {
  font-size: 17px;
  line-height: 23px;
  color: #1c2b46;
  font-family: proxima-nova-bold;
  margin: 14px 0 14px;
}

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

.dimList li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 12px;
  font-size: 16px;
  line-height: 21px;
}

.dimList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 7px;
  height: 7px;
  background: #333;
}

/* AI-Enabled Service Delivery banner */
.aiServiceBanner {
  position: relative;
  margin-top: 50px;
  padding: 26px 20px;
  text-align: center;
  border: 1px solid #cfe9d6;
  border-radius: 6px;
  background: linear-gradient(180deg, #e5f4ea 0%, #ffffff 100%);
}

/* upward peak at the top-center */
.aiServiceBanner::before {
  content: "";
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 22px;
  height: 22px;
  background: #e5f4ea;
  border-top: 1px solid #cfe9d6;
  border-left: 1px solid #cfe9d6;
}

.aiServiceTitle {
  position: relative;
  font-size: 36px;
  line-height: 36px;
  font-family: proxima-nova-bold;
  background: linear-gradient(to right, #39b54a 0%, #0d6350 100%);;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

p.aiServiceTabs {
  text-align: center;
  margin: 22px 0 10px;
  font-size: 24px;
  line-height: 26px;
  background: linear-gradient(to right, #39b54a 0%, #0d6350 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-family: proxima-nova-bold;
}

.aiServiceTabs i {
  color: #b7d9c1;
  font-style: normal;
  margin: 0 12px;
}

/* How Happiest Minds Enables Enterprise AI at Scale */
.scaleHeading {
  text-align: center;
  font-size: 24px;
  line-height: 30px;
  font-family: proxima-nova-bold;
  margin: 25px 0 25px;
  background: linear-gradient(to right, #39b54a 0%, #0d6350 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.scaleGrid {
  display: flex;
  gap: 18px;
  align-items: stretch;
}

.scaleRows {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.scaleRow {
  display: flex;
  gap: 16px;
  align-items: stretch;
}

.scaleLabel {
  flex: 0 0 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 14px 16px;
  background: #14757a;
  color: #fff;
  font-size: 16px;
  line-height: 20px;
  font-family: proxima-nova-bold;
}

.scaleMid {
  flex: 1 1 auto;
}

.scaleBoxes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.scaleBox {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 14px 12px;
  border: 1px solid #bcdad9;
  color: #333;
  font-size: 16px;
  line-height: 19px;
  font-family: proxima-semibold;
}

.scaleBand {
  margin-top: 14px;
  padding: 10px 14px;
  text-align: center;
  background: #e4f1f0;
  color: #333;
  font-size: 16px;
  line-height: 19px;
  font-style: italic;
}

.scaleAside {
  flex: 0 0 210px;
  background: #14757a;
  color: #fff;
  padding: 24px 22px 24px 40px;
}

.scaleList {
  margin: 0;
  padding: 0 0 0 16px;
}

.scaleList li {
  margin-bottom: 14px;
  font-size: 16px;
  line-height: 21px;
  font-family: proxima-semibold;
}

.scaleList li:last-child {
  margin-bottom: 0;
}

.gbsVisual {
  margin-top: 40px;
}

.gbsVisual img {
  width: 100%;
}

/* Value Delivered Across Industries */
.vdiCard {
  position: relative;
  margin: 10px 0 30px;
  padding: 8px 55px 30px 0;
}

/* right line + angled (chamfer) corner + bottom line, drawn with gradients */
.vdiCard::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(#5bbf9a, #5bbf9a),
    linear-gradient(#5bbf9a, #5bbf9a),
    linear-gradient(-45deg, transparent calc(50% - 0.8px), #5bbf9a calc(50% - 0.8px), #5bbf9a calc(50% + 0.8px), transparent calc(50% + 0.8px));
  background-repeat: no-repeat;
  background-size:
    1.5px calc(100% - 48px),
    calc(100% - 48px) 1.5px,
    48px 48px;
  background-position:
    right top,
    left bottom,
    right bottom;
}

/* dot at the top of the right line */
.vdiCard::after {
  content: "";
  position: absolute;
  right: -5px;
  top: -3px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #5bbf9a;
}

.vdiHead {
  font-size: 18px;
  line-height: 23px;
  color: #1c2b46;
  font-family: proxima-nova-bold;
  margin-bottom: 12px;
}

.vdiCard p {
  font-size: 16px;
  line-height: 23px;
  color: #333;
}

.vdiImpact {
  font-size: 18px;
  letter-spacing: 0.5px;
  background: linear-gradient(to right, #39b54a 0%, #0d6350 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-family: proxima-nova-bold;
  margin-bottom: 14px;
}

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

.vdiList li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 12px;
  font-size: 16px;
  line-height: 21px;
  color: #333;
  font-family: proxima-semibold;
}

.vdiList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 7px;
  height: 7px;
  background: #1c2b46;
}
.vdicardmrgnbtm0{
  margin-bottom: 0;
}
/* ============================================================
   Generative AI Business Services page  ===  CSS end
   ============================================================ */

/* ============================================================
   IMSS page  ===  CSS start
   ============================================================ */
   .infrastructure-sec p{
    padding-bottom: 5px;
   }
.secPillarIntro {
  font-size: 18px;
  line-height: 24px;
  color: #1c2b46;
  font-family: proxima-nova-bold;
  margin: 30px 0 10px;
}

.pillarGrid {
  position: relative;
  display: flex;
  border-right: 1.5px solid #3bb6a0;
  margin-top: 20px;
}

.pillarCol {
  position: relative;
  flex: 1 1 0;
  padding: 40px 26px;
  text-align: center;
  border-left: 1.5px solid #3bb6a0;
}

.pillarCol--glow {
  background: radial-gradient(ellipse 70% 55% at 50% 45%, rgba(245, 216, 0, 0.28) 0%, transparent 65%);
}

.pillarHead {
  font-size: 18px;
  line-height: 23px;
  color: #333;
  font-family: proxima-nova-bold;
  margin-bottom: 14px;
}

.pillarCol p {
  font-size: 16px;
  line-height: 23px;
  color: #333;
}

/* chevron caps on the divider lines */
.pillarCol::before,
.pillarCol::after,
.pillarGrid::before,
.pillarGrid::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #3bb6a0;
}

.pillarCol::before {
  left: -5px;
  top: -5px;
}

.pillarCol::after {
  left: -5px;
  bottom: -5px;
}

.pillarGrid::before {
  right: -5px;
  top: -5px;
}

.pillarGrid::after {
  right: -5px;
  bottom: -5px;
}

/* Our Enhanced ELLIPSE Platform */
.ellipseHeading {
  text-align: center;
  font-size: 20px;
  line-height: 30px;
  color: #111;
  font-family: proxima-nova-bold;
  margin: 30px 0 25px;
}

.ellipseImg {
  text-align: center;
  margin: 20px auto;
}

/* ---- Tables ---- */
.tableWrap {
  overflow-x: auto;
  margin-top: 30px;
}
.tablewrpmargintop0{
  margin-top: 0;
  border-top: 1px solid #333;
}

.benefitTable,
.imsTable {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

.benefitTable th {
  background: #17787d;
  color: #fff;
  text-align: left;
  vertical-align: top;
  padding: 12px 16px;
  font-size: 15px;
  line-height: 20px;
  font-family: proxima-nova-bold;
}

.benefitTable td {
  padding: 14px 16px;
  vertical-align: top;
  font-size: 16px;
  line-height: 20px;
  color: #333;
  border-bottom: 1px solid #e2eeee;
}

.tBold {
  color: #1c2b46 !important;
  font-family: proxima-nova-bold;
}

/* Infrastructure Management & Cybersecurity Services table */
.imsTableHead {
  font-size: 20px;
  line-height: 26px;
  font-family: proxima-nova-bold;
  margin: 45px 0 14px;
  background: linear-gradient(to right, #39b54a 0%, #0d6350 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.imsBand {
  background: #17787d;
  color: #fff;
  padding: 9px 16px;
  font-size: 16px;
  font-family: proxima-nova-bold;
}

.imsIntro {
  font-size: 16px;
  line-height: 21px;
  margin: 12px 0 6px;
}

.imsTable th {
  text-align: left;
  vertical-align: top;
  padding: 12px 14px;
  color: #333;
  font-size: 16px;
  font-family: proxima-nova-bold;
  border-bottom: 2px solid #17787d;
}

.imsTable td {
  padding: 14px;
  vertical-align: top;
  font-size: 16px;
  line-height: 20px;
  border-bottom: 1px solid #e2eeee;
}

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

.cellList li {
  margin-bottom: 6px;
}

.cellList li:last-child {
  margin-bottom: 0;
}

.imsFoot {
  font-size: 16px;
  line-height: 20px;
  margin-top: 16px;
}

/* ---- Security Services Portfolio columns ---- */
.secBand {
  margin-top: 45px;
  padding: 12px 18px;
  background: #17787d;
  color: #fff;
}

.secBand h3 {
  font-size: 18px;
  line-height: 22px;
  font-family: proxima-nova-bold;
}

.secBand p {
  margin-top: 4px;
  font-size: 16px;
  line-height: 20px;
  color: #fff;
  border-bottom: 0;
}

.secCols {
  display: grid;
  gap: 30px 40px;
  margin-top: 24px;
}

.secCols--2 {
  grid-template-columns: repeat(2, 1fr);
}

.secCols--4 {
  grid-template-columns: repeat(4, 1fr);
}

.secColHead {
  font-size: 18px;
  line-height: 22px;
  color: #333;
  font-family: proxima-nova-bold;
  margin-bottom: 14px;
}

.secColHead span {
  font-family: proxima-semibold;
  font-weight: normal;
}

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

.secColList li {
  position: relative;
  padding-left: 16px;
  margin-bottom: 11px;
  font-size: 16px;
  line-height: 20px;
}

.secColList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0aa39a;
}
/* ---- Case Study card ---- */
.csStudyCard {
  position: relative;
  margin: 0px 0 30px;
  padding: 42px 48px 48px;
  color: #fff;
  /* background: linear-gradient(125deg, #0d7345 0%, #2fa055 46%, #7cc389 100%); */
  
  background: url(../images/business-segment-review-infrastructure/bg-img.png) no-repeat left top;
  background-size: cover;
  clip-path: polygon(0 0, calc(100% - 55px) 0, 100% 55px, 100% 100%, 0 100%);
}

.csStudyTop {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

.csStudyNum {
  font-size: 36px;
  line-height: 1;
  font-family: proxima-nova-bold;
  color: #fff;
  /* -webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.75); */
}

.csStudyTitle {
  font-size: 36px;
  line-height: 1;
  color: #fff;
  font-family: proxima-nova-bold;
}

.csStudySub {
  max-width: 62%;
  font-size: 24px;
  line-height: 30px;
  color: #fff;
  font-family: proxima-nova-bold;
  margin-bottom: 28px;
}

.csStudyBody {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}

.csStudyLeft p {
  font-size: 16px;
  line-height: 23px;
  color: #fff;
  font-family: proxima-nova-bold;
}

.csStudyHead {
  font-size: 18px;
  line-height: 22px;
  color: #fff;
  font-family: proxima-nova-bold;
  margin-bottom: 12px;
}

.csStudyList {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
}

.csStudyList li {
  position: relative;
  padding-left: 16px;
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 20px;
  color: #fff;
}

.csStudyList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #fff;
}

.csStudyImpact {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px 34px;
}

.csImpactNum {
  font-size: 36px;
  line-height: 1;
  color: #fff;
  font-family: proxima-nova-bold;
  margin-bottom: 5px;
}

.csImpactItem p {
  font-size: 16px;
  line-height: 18px;
  color: #fff;
}
/* ============================================================
   IMSS page  ===  CSS end
   ============================================================ */
/* ============================================================
   Key Business Enablers (R&D) page  ===  CSS start
   ============================================================ */
.kbeSec {
  padding: 0px 0 0px;
}

.kbeMainHead {
  font-size: 37px;
  line-height: 40px;
  font-family: proxima-nova-bold;
  margin-bottom: 16px;
  background: linear-gradient(to right, #39b54a 0%, #0d6350 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.kbeSubHead {
  font-size: 20px;
  line-height: 26px;
  font-family: proxima-nova-bold;
  margin: 10px 0 10px;
  background: linear-gradient(to right, #39b54a 0%, #0d6350 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.kbeMinHead {
  font-size: 18px;
  line-height: 22px;
  color: #1c2b46;
  font-family: proxima-nova-bold;
  margin: 6px 0 18px;
}

.kbeText {
  font-size: 16px;
  line-height: 24px;
  color: #333;
  margin-bottom: 16px;
}

.kbeEnablersIntro {
  font-size: 16px;
  line-height: 24px;
  color: #333;
  font-family: proxima-nova-bold;
  margin: 20px 0 12px;
}

.kbeEnablersList {
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
  gap: 18px;
  padding: 0;
  margin: 0;
}

.kbeEnablersList li {
  position: relative;
  padding-left: 15px;
  font-size: 14px;
  line-height: 20px;
  white-space: nowrap;
  font-family: proxima-nova-bold;
  background: linear-gradient(to right, #39b54a 0%, #0d6350 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.kbeEnablersList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #45a247;
}

.kbeDisclaimer {
  font-size: 12px;
  line-height: 16px;
  font-style: italic;
  color: #666;
  margin: 8px 0 0;
}

.kbeBracketList {
  display: flex;
  gap: 0;
  margin: 14px 0 0;
  padding: 26px 30px;
  background: linear-gradient(to right, #dce9fb 0%, #ffffff 100%);
}

.kbeBracketItem {
  flex: 1 1 0;
  padding: 2px 24px 2px 18px;
  border-left: 2px solid #45a247;
  font-size: 16px;
  line-height: 22px;
  color: #0d6a6f;
  font-family: proxima-nova-bold;
}

.kbeExpGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 8px;
  background: linear-gradient(to top, #e7f3ea 0%, #ffffff 72%);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 26px), calc(100% - 26px) 100%, 26px 100%, 0 calc(100% - 26px));
}

.kbeExpItem {
  padding: 32px 28px;
  border-left: 1.5px solid #45a247;
}

.kbeExpItem:first-child {
  border-left: none;
}

.kbeExpItem p {
  font-size: 16px;
  line-height: 22px;
  color: #1c2b46;
  font-family: proxima-nova-bold;
}

.kbeCapital {
  margin-top: 40px; 
  padding: 45px 40px;
  color: #fff;
  /* background: linear-gradient(150deg, #0d7345 0%, #2fa055 55%, #17663f 100%); */
  clip-path: polygon(0 0, calc(100% - 42px) 0, 100% 42px, 100% 100%, 0 100%);
  background: url(../images/key-business-enablers/bg.png) no-repeat left top;
  background-size: cover;
}

.kbeCapital p {
  font-size: 17px;
  line-height: 27px;
  color: #fff;
  font-family: proxima-nova-bold;
}
/* ============================================================
   Key Business Enablers (R&D) page  ===  CSS end
   ============================================================ */
/* Tagged sub-sections (Generative AI, Marketing Analytics) */
.tagRow {
  display: flex;
  align-items: center;
  margin: 36px 0 18px;
}

.tagLabel {
  position: relative;
  flex: 0 0 auto;
  padding: 9px 42px 9px 20px;
  background: #45a247;
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%);
}

.tagLabel::before {
  content: "";
  position: absolute;
  inset: 1.5px;
  background: #fff;
  clip-path: polygon(0 0, calc(100% - 17px) 0, 100% 50%, calc(100% - 17px) 100%, 0 100%);
}

.tagLabel span {
  position: relative;
  z-index: 1;
  font-size: 18px;
  color: #2b8a3e;
  font-family: proxima-nova-bold;
}

.tagLine {
  flex: 1 1 auto;
  height: 2px;
  margin-left: -2px;
  background: linear-gradient(to right, #45a247 0%, #f2d21e 100%);
}

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

.kbeDotList li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 12px;
  font-size: 16px;
  line-height: 21px;
  color: #333;
}

.kbeDotList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 7px;
  height: 7px;
  background: #333;
}
/* Proprietary Platforms cards */
.platRow {
  margin-top: 22px;
}

.platCard {
  height: 100%;
  padding: 0px 30px 20px 0px
}

.platDots {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 18px;
}

/* the 4 dots (first filled green, rest outline) */
.platDots span {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 1px solid #5aa9a4;
}

.platDots span.on {
  background: #3ec37d;
  border-color: #3ec37d;
}

/* the connecting line */
.platLine {
  flex: 1 1 auto;
  height: 1px;
  margin: 0 0 0 4px;
  background: #5aa9a4;
}

/* the dot at the end of the line */
.platDots span.end {
  margin-left: -7px;
  background: #3ec37d;
  border-color: #3ec37d;
}

.platHead {
  font-size: 20px;
  line-height: 26px;
  color: #3ec37d;
  font-family: proxima-nova-bold;
  margin-bottom: 12px;
}

.platHead span {
  display: block;
  font-size: 20px;
}

.platCard p {
  font-size: 16px;
  line-height: 21px;
  color: #333;
  text-align: justify;
}

.business-model-banner .row{
  align-items: center;
}

.operating-context-cards {
  padding: 6px 0 34px;
}

.oc-card {
  min-height: 100%;
  padding: 20px;
     background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%), linear-gradient(to right, #d3eed4 0%, #fffbc3 100%);
}

.oc-title {
  margin: 0 0 8px;
  font-family: proxima-nova-bold;
  font-size: 24px;
  line-height: 1.08;
  color: #32ad56;
}

.oc-copy {
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.35;
  color: #111;
  text-align: justify;
}

.oc-subtitle {
  margin: 0 0 6px;
  font-family: proxima-bold;
  font-size: 20px;
  line-height: 1.15;
  color: #111;
}

.oc-list {
  margin: 0;
  padding-left: 22px;
  list-style: square;
}

.oc-list li {
  margin-bottom: 5px;
  font-size: 16px;
  line-height: 1.36;
  color: #111;
}

.oc-list li::marker {
  color: #111;
}

@media (max-width: 991px) {
  .operating-context-cards {
    padding-bottom: 28px;
  }

  .oc-title {
    font-size: 22px;
  }

  .oc-subtitle {
    font-size: 19px;
  }
}

@media (max-width: 767px) {
  .oc-title {
    font-size: 21px;
  }

  .oc-copy,
  .oc-list li {
    font-size: 16px;
  }

  .oc-card {
    padding-right: 0;
  }

  .business-model-banner .row {
    gap: 18px;
  }

  .business-model-banner .bannerimg {
    max-width: 100%;
  }

  .bm-chart-placeholder,
  .bm-bar-placeholder {
    height: 160px;
  }

  .bm-chart-legend {
    font-size: 14px;
  }

  .bm-chart-footnote {
    text-align: left;
  }
}

.business-model-charts {
  padding: 0 0 36px;
}

.business-model-charts-2 {
  padding-top: 12px;
}

.bm-chart-card {
  height: 100%;
}

.bm-chart-title {
  font-family: proxima-nova-bold;
  font-size: 20px;
  line-height: 30px;
  color: #32ad56;
   padding-bottom: 3px;
}
.bm-chart-title.new{
  color: #222;
  padding-bottom: 30px;
}
.bm-chart-placeholder {
  height: 270px;
  background: #f1f1f1;
  border: 1px solid #ececec;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8a8a8a;
  font-family: proxima-bold;
  font-size: 18px;
  margin-bottom: 18px;
}

.bm-chart-visual,
.bm-bar-visual {
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  max-width: 500px;
}

.bm-chart-visual {
  background: #fff;
}

.bm-bar-placeholder {
  height: 220px;
  background: linear-gradient(180deg, #f7f7f7 0%, #efefef 100%);
  border: 1px solid #ececec;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8a8a8a;
  font-family: proxima-bold;
  font-size: 18px;
  margin-bottom: 18px;
}


.bm-banner-image,
.bm-chart-image {
  display: block;
  width: 100%;
  object-fit: contain;
}



.bm-chart-image {
  height: 100%;
}

.bm-chart-legend {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  font-size: 17px;
  line-height: 1.35;
}

.bm-chart-legend-inline {
  gap: 10px 18px;
}

.bm-chart-legend li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #222;
}

.bm-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex: 0 0 9px;
}

.bm-dot-green { background: #6abd73; }
.bm-dot-teal { background: #bfdfe1; }
.bm-dot-orange { background: #f9a267; }
.bm-dot-yellow { background: #ffe66b; }
.bm-dot-gray { background: #bfc3c7; }
.bm-dot-lime { background: #bfd596; }
.bm-dot-green2 { background: #9ccf95; }
.bm-dot-blue { background: #7da3d4; }
.bm-dot-dark { background: #666; }

.bm-chart-copy {
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
  color: #222;
}

.bm-chart-footnote {
  margin: 20px 0 0;
  font-size: 16px;
  line-height: 1.35;
  text-align: right;
  color: #222;
}

/* Align the chart copy across the three pie-chart cards by giving the legend a
   consistent height, so every copy paragraph starts on the same line. Values
   cover the legend's wrapped rows at each side-by-side breakpoint. */
@media (min-width: 992px) {
  .bm-chart-card:not(.bm-chart-card-wide) .bm-chart-legend {
    min-height: 92px;
  }
}
@media (min-width: 1200px) {
  .bm-chart-card:not(.bm-chart-card-wide) .bm-chart-legend {
    min-height: 58px;
  }
}

@media (max-width: 991px) {
  .bm-chart-title {
    font-size: 26px;
  }

  .bm-chart-placeholder {
    height: 220px;
  }

  .bm-bar-placeholder {
    height: 200px;
  }

}

@media (max-width: 767px) {
  .business-model-charts {
    padding-bottom: 24px;
  }

  .bm-chart-title {
    font-size: 24px;
  }

  .bm-chart-placeholder {
    height: 200px;
  }

  .bm-bar-placeholder {
    height: 180px;
  }
  .bm-chart-title{
    padding-bottom: 15px;
  }

  .bm-bar-visual {
    height: 180px;
  }

  .bm-chart-legend,
  .bm-chart-copy,
  .bm-chart-footnote {
    font-size: 16px;
  }
}
.managing-banner.strategy-overview-banner .row{
  align-items: center;
}

/* ===================== Materiality Assessment (inner page) ===================== */
.materialitySec {
  padding: 0px 0 60px;
}

.matEyebrow {
  font-size: 16px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #000;
  font-family: proxima-bold;
  margin-bottom: 8px;
}

.matTitle {
  font-size: 35px;
  line-height: 40px;
  font-family: proxima-extrabold;
  margin-bottom: 22px;
  background: linear-gradient(90deg, #39b54a 15%, #007f62 60%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.matIntro {
  font-size: 16px;
  line-height: 24px;
  color: #32ad56;
  font-family: proxima-bold;
  margin-bottom: 0;
}

.matSubHead {
  font-size: 22px;
  line-height: 28px;
  color: #32ad56;
  font-family: proxima-bold;
  margin: 38px 0 14px;
}

.matPara {
  font-size: 16px;
  line-height: 24px;
  color: #000;
  margin-bottom: 26px;
}

/* process steps */
.matList {
  list-style: none;
  padding: 0;
  margin: 0;
}

.matList li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 18px;
  font-size: 16px;
  line-height: 22px;
  color: #000;
}

.matList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  background: #000;
}

.matList li span {
  font-family: proxima-bold;
}

/* material topics categories */
.matTopicsHead {
  margin-top: 45px;
}

.matCat {
  position: relative;
  margin-bottom: 45px;
  padding: 20px;
  border-left: 1px solid #008888;
  border-bottom: 1px solid #008888;
  border-bottom-right-radius: 30px;
}

.matCatTitle {
  display: inline-block;
  font-size: 18px;
  line-height: 1.2;
  color: #000;
  font-family: proxima-bold;
  padding-bottom: 5px;
  margin-bottom: 0px;
  border-bottom: 6px solid #008888;
}

.matColHead {
  font-size: 16px;
  color: #32ad56;
  font-family: proxima-bold;
  padding-bottom: 8px;
  margin-bottom: 16px;
  border-bottom: 1px solid #32ad56;
}

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

.matTopicList li {
  position: relative;
  padding-left: 16px;
  margin-bottom: 11px;
  font-size: 16px;
  line-height: 20px;
  color: #000;
}

.matTopicList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #000;
}

.matIcons {
  max-width:150px;
  height: auto;
}

.matBrsr {
  font-size: 16px;
  line-height: 24px;
  color: #000;
  margin: 24px 0 40px;
}

.matMatrix {
  text-align: center;
}

.matMatrix img {
  max-width: 100%;
  height: auto;
}

/* Materiality — Capitals vs SDG icon widths (tune as needed) */
.matCapIcon {
  max-width: 150px;
}

.matSdgIcon {
  max-width: 250px;
}
.matSdgIcon-last
{
  max-width: 200px;
}
/* ===================== Risks & Opportunities (inner page) ===================== */
.riskSec {
  padding: 0px 0 70px;
}

.riskDiagram {
  text-align: center;
  margin: 18px 0 42px;
}

.riskDiagram img {
  max-width: 100%;
  height: auto;
}

.riskCatTitle {
  font-size: 20px;
  line-height: 1.2;
  color: #32ad56;
  font-family: proxima-bold;
  margin: 34px 0 14px;
}

.riskTableWrap {
  width: 100%;
  overflow-x: auto;
  margin-bottom: 32px;
}

.riskTable {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

.riskTable thead th {
  background: #32ad56;
  color: #fff;
  font-family: proxima-bold;
  font-size: 18px;
  line-height: 22px;
  text-align: left;
  padding: 12px 18px;
  border: 1px solid #32ad56;
}

.riskTable thead th:first-child {
  width: 32%;
}

.riskTable tbody td {
  vertical-align: top;
  padding: 16px 18px;
  border: 1px solid #dce7e0;
  font-size: 16px;
  line-height: 22px;
  color: #000;
}

.riskTable tbody td strong {
  display: inline;
  font-family: proxima-bold;
  margin-bottom: 8px;
  color: #000;
}

.riskTable tbody td p {
  font-size: 16px;
  line-height: 22px;
  margin: 0;
}

.riskTable tbody td ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.riskTable tbody td ul li {
  position: relative;
  padding-left: 16px;
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 22px;
}

.riskTable tbody td ul li:last-child {
  margin-bottom: 0;
}

.riskTable tbody td ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  background: #32ad56;
}

.riskTable tbody td ul ul {
  margin-top: 8px;
  padding-left: 4px;
}

/* ===================== Risks & Opportunities — refinements ===================== */
.riskCatHead {
  margin-top: 36px;
}

.riskCatTitle {
  color: #000;
  margin: 0 0 12px;
}

/* bottom line with 4-dot page indicator (left) + green dot (right) */
.riskCatLine {
  position: relative;
  height: 2px;
  background: #32ad56;
  margin-bottom: 20px;
}

.riskCatLine::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #32ad56;
}

.riskDots {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  gap: 6px;
}

.riskDots i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid #32ad56;
  background: #fff;
}

.riskCat-1 .riskDots i:nth-child(1),
.riskCat-2 .riskDots i:nth-child(2),
.riskCat-3 .riskDots i:nth-child(3),
.riskCat-4 .riskDots i:nth-child(4) {
  background: #32ad56;
  border-color: #32ad56;
}

/* gradient header row */
.riskTable thead tr {
  background: linear-gradient(90deg, #0aa999 0%, #8dc63f 100%);
}

.riskTable thead th {
  background: transparent;
  border: 0;
}

/* row separators + one column divider; no outer/right border */
.riskTable tbody td {
  border: 0;
  border-bottom: 1px solid #d6d6d6;
}

.riskTable tbody td:first-child {
  border-right: 1px solid #d6d6d6;
}

/* black bullet dots */
.riskTable tbody td ul li::before {
  background: #000;
}

/* non-bulleted sub-paragraphs inside a mitigating-action bullet */
.riskTable .riskSub {
  margin: 8px 0 4px;
}

.riskTable .riskSub p {
  font-size: 16px;
  line-height: 22px;
  color: #000;
  margin: 0 0 10px;
}

.riskTable .riskSub p:last-child {
  margin-bottom: 0;
}

/* ===================== Glimpses 2025-26 (inner page) ===================== */
.glimpses2025 {
  position: relative;
  overflow: hidden;
  padding: 20px 0 70px;
  background-image: url(../images/glimpses/glimpses-bg-img.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.glimpses2025 > .container {
  position: relative;
  z-index: 2;
}

/* decorative graphic pinned bottom-right (behind the cards) */
.glCorner {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 320px;
  max-width: 40%;
  height: auto;
  z-index: 1;
  pointer-events: none;
}

.glHeading {
  font-size: 35px;
  line-height: 40px;
  font-family: proxima-extrabold;
  margin-bottom: 40px;
  background: linear-gradient(90deg, #39b54a 0%, #007f62 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  display: inline-block;
}

.glCard {
  margin-bottom: 34px;
}

.glImg img {
  display: block;
  width: 100%;
  border-radius: 3px;
}

.glCaption {
  margin-top: 14px;
  font-size: 16px;
  line-height: 22px;
  color: #000;
  font-family: proxima-semibold;
  text-align: center;
}

/* ===================== Managing Director's Message (inner page) ===================== */
.mdmHero {
  padding: 10px 0 30px;
}

.mdmTitle {
  font-size: 44px;
  line-height: 50px;
  font-family: proxima-extrabold;
  margin-bottom: 26px;
  background: linear-gradient(90deg, #39b54a 0%, #007f62 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  display: inline-block;
}


.mdmQuote p {
  margin: 0;
  font-size: 22px;
  line-height: 30px;
  color: #000;
  font-family: proxima-bold;
  position: relative;
  max-width: 400px;
}

.mdmHeroImg {
  text-align: center;
}

.mdmHeroImg img {
  max-width: 100%;
  height: auto;
}

.mdmSec {
  padding: 20px 0 60px;
}

.mdmBody {
  max-width: 100%;
}

.mdmPara {
  font-size: 16px;
  line-height: 24px;
  color: #000;
  margin-bottom: 18px;
}

.mdmPara strong {
  font-family: proxima-bold;
}

.mdmEsgHead {
  font-size: 20px;
  line-height: 26px;
  color: #32ad56;
  font-family: proxima-bold;
  letter-spacing: 0.4px;
  margin: 28px 0 14px;
}

.mdmSign {
  font-size: 16px;
  line-height: 24px;
  color: #000;
  margin-top: 6px;
}

.mdmSign strong {
  color: #32ad56;
  font-family: proxima-bold;
}

/* MD message — read-time under the heading */
.mdmRead {
  font-size: 16px;
  line-height: 22px;
  color: #000;
  font-family: proxima-bold;
  margin: -12px 0 24px;
}

/* MD quote — quotation-mark graphic before the quote text (::before) */
.mdmQuote p::before {
  content: "";
  display: block;
  width: 75px;
  height: 70px;
  margin-bottom: 14px;
  background: url(../images/md/quote-img.svg) no-repeat left center;
  background-size: contain;
      position: absolute;
    left: -50px;
    top: -12px;
}

/* ===================== Sustainability at Happiest Minds (inner page) ===================== */
.susBanner {
  padding: 10px 0 30px;
}

.susEyebrow {
  font-size: 16px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #000;
  font-family: proxima-bold;
  margin-bottom: 10px;
}

.susTitle {
  font-size: 40px;
  line-height: 46px;
  font-family: proxima-extrabold;
  margin-bottom: 16px;
  background: linear-gradient(90deg, #39b54a 0%, #007f62 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  display: inline-block;
}

.susRead {
  font-size: 16px;
  line-height: 22px;
  color: #000;
  font-family: proxima-bold;
  margin: 0;
}

.susBannerImg {
  text-align: center;
}

.susBannerImg img {
  max-width: 100%;
  height: auto;
}

.susSec {
  padding: 20px 0 0px;
}

.susIntro {
  font-size: 18px;
  line-height: 26px;
  color: #32ad56;
  font-family: proxima-bold;
  margin-bottom: 30px;
}

.susIntroRow {
  margin-bottom: 20px;
}

.susSubHead {
  font-size: 22px;
  line-height: 26px;
  color: #32ad56;
  font-family: proxima-bold;
  margin: 10px 0 12px;
}

.susSubHead.klpHead {
  color: #32ad56;
  font-size: 20px;
}

.susSecHead {
  font-size: 22px;
  line-height: 28px;
  color: #32ad56;
  font-family: proxima-bold;
  margin: 25px 0 15px;
}

.susSecHead.ltdHead {
  color: #000;
  font-size: 20px;
}

.susPara {
  font-size: 16px;
  line-height: 24px;
  color: #000;
  margin-bottom: 16px;
}

/* UNSDG initiative block */
.susBlock {
  padding:0px;
}

.susBlockTitle {
  font-size: 18px;
  line-height: 24px;
  color: #32ad56;
  font-family: proxima-bold;
  margin-bottom: 16px;
}

/* stat callouts */
.susStat {
  padding: 0 0 16px;
}

.susStat h3 {
  font-size: 36px;
  line-height: 38px;
  color: #32ad56;
  font-family: proxima-bold;
  margin-bottom: 4px;
}

.susStat p {
  font-size: 16px;
  line-height: 22px;
  color: #000;
  font-family: proxima-semibold;
  margin: 0;
}

/* ESG KPI / economic tables */
.susTableWrap {
  width: 100%;
  overflow-x: auto;
  margin-bottom: 34px;
}

.susTable {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

.susTable thead th {
  background: linear-gradient(90deg, #0aa999 0%, #8dc63f 100%);
  color: #fff;
  font-family: proxima-bold;
  font-size: 15px;
  line-height: 20px;
  text-align: right;
  padding: 12px 16px;
}

.susTable thead th:first-child {
  text-align: left;
}

.susTable tbody td {
  font-size: 16px;
  line-height: 22px;
  color: #000;
  padding: 12px 16px;
  text-align: right;
  border-bottom: 1px solid #e0e0e0;
}

.susTable tbody td:first-child {
  text-align: left;
}

/* ===================== UNSDG blocks — screenshot styling ===================== */
/* teal L-frame around each initiative block */
.susBlock{
  position: relative;
  margin-bottom: 42px;
  padding: 6px 40px 36px 0;
  border-bottom: 1px solid #6cbaba;
  border-right: 1px solid #6cbaba;
  border-bottom-right-radius: 20px;
  margin-top: -12px;
}

/* title + trailing header rule */
.susBlockTitle {
  display: flex;
  align-items:center;
  gap: 0px 12px;
  padding-left: 15px;
  position: relative;
}

.susBlockTitle::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #6cbaba;
}

/* stat numbers as left-to-right gradient text */
.susStat h3 {
  display: inline-block;
  background: linear-gradient(90deg, #0aa999 0%, #8dc63f 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* UNSDG block title — black text with a teal square marker before it */
.susBlockTitle {
  color: #000;
  margin-bottom: 0px;
}

.susBlockTitle::before {
  content: "";
  flex-shrink: 0;
  width: 40px;
  height: 30px;
  background: #6cbaba;
  z-index: -1;
  position: absolute;
  left: 0px;
}

/* UNSDG block — full-width text, stat numbers side-by-side beneath it */
.susBlock .row .col-lg-7,
.susBlock .row .col-lg-5 {
  flex: 0 0 100%;
  max-width: 100%;
}

.susBlock .row .col-lg-5 {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 64px;
  margin-top: 6px;
}

.susStat {
  padding: 0;
}
.susBlock .row .col-lg-7
{
  padding-top: 25px;
}
/* ESG KPI / Economic tables — screenshot styling (plain header, green current-year, green row labels) */
.susTable thead th {
  background: transparent;
  color: #000;
  border-bottom: 2px solid #d3d3d3;
}

.susTable thead th.fyCol {
  background: #32ad56;
  color: #fff;
}

.susTable tbody td {
  border-bottom: 1px solid #d3d3d3;
}

.susTable tbody td:first-child {
  color: #000;
}

/* FY 2025-26 current-year column body cells — light grey highlight */
.susTable-kpi tbody td:nth-child(3),
.susTable-econ tbody td:nth-child(2) {
  background: #e6e7e8;
}

/* ===================== Environmental (inner page) — reuses .sus* banner/stat classes ===================== */
/* stat callouts in a row */
.susStatRow {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 64px;
  margin: 8px 0 8px;
}

.susStatRow .susStat {
  padding: 0;
}

/* climate triangle diagram placeholder */
.envDiagram {
  margin: 6px 0 22px;
  text-align: center;
}

.envDiagram img {
  max-width: 540px;
  width: 100%;
  height: auto;
}

/* Testimonials — gradient band */
.envTestimonials {
  background: linear-gradient(90deg, #1a8f59 0%, #007067 100%);
  padding: 46px 0 50px;
}

.envTestHead {
  font-size: 24px;
  line-height: 30px;
  color: #fff;
  font-family: proxima-bold;
  margin-bottom: 30px;
}

.envTestItem {
  padding: 22px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

.envTestItem:last-child {
  border-bottom: 0;
}

.envTestImg img {
  width: 100%;
  border-radius: 6px;
}

.envQuote {
  font-size: 16px;
  line-height: 24px;
  color: #fff;
  margin-bottom: 16px;
}

.envName {
  font-size: 18px;
  line-height: 22px;
  color: #fff;
  font-family: proxima-bold;
  margin-bottom: 2px;
}

.envRole {
  font-size: 14px;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
}
.susTitle1
{
     background:initial;
    -webkit-background-clip:initial;
    background-clip:initial;
    -webkit-text-fill-color:initial;
    color:#32ad56; 
}
/* Environmental page — sub-headings are 16px black (scoped so it doesn't affect the sustainability page) */
.envPage .susSubHead {
  font-size: 16px;
  color: #000;
}

/* ===================== Testimonial speech-bubble card ===================== */
.envTestItem {
  padding: 0;
  border-bottom: 0;
  margin-bottom: 44px;
}

.envTestItem:last-child {
  margin-bottom: 8px;
}

.envTestCard {
  position: relative;
  border: 1.5px solid rgba(255, 255, 255, 1);
  border-bottom-right-radius:24px;
  padding: 28px 34px;
}

/* speech-bubble tail continuing from the bottom-left corner */
.envTestCard::before {
  content: "";
  position: absolute;
  left: 60px;
  bottom: -30px;
  width: 30px;
  height: 30px;
  background-image: url(../images/environmental/line-img.svg);
  display: none;
}

/* corner connector dots */
.envDot {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  z-index: 2;
}

.envDot--tl {
  left: -5px;
  top: -5px;
}

.envDot--tr {
  right: -5px;
  top: -5px;
}

.envTestImg img {
  border-radius: 12px;
}

/* testimonial card — no top border */
.envTestCard {
  border-top: 0;
  margin-bottom: 100px;
}

/* Risk Management diagram — background image behind the SVG */
.riskDiagram {
  background: url(../images/risks-and-opportunities/bg-img.png) no-repeat center;
  background-size: cover;
  padding: 30px 20px;
  border-radius: 8px;
  max-width: 450px;
  margin:auto;
}

/* Glimpses — read-time under the heading */
.glRead {
  font-size: 16px;
  line-height: 22px;
  color: #000;
  font-family: proxima-bold;
  margin: -28px 0 36px;
}

/* ===== Social – Supply Chain page ===== */
.susBannerImg{position:relative;}
.susImgDisclaimer{position:absolute;left:14px;bottom:12px;margin:0;color:#fff;font-style:italic;font-size:11px;line-height:1.3;opacity:.92;text-shadow:0 1px 2px rgba(0,0,0,.45);}
.supplyPage{position:relative;background:url('../images/social-supply/bg-img.png') no-repeat center top fixed;background-size:cover;}
.supplyPage::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.92);z-index:0;}
.supplyPage > .container{position:relative;z-index:1;}

/* ===== GRI Content Index page ===== */
.griTable{min-width:760px;table-layout:fixed;}
.griTable thead th{text-align:left;}
.griTable tbody td{text-align:left;vertical-align:top;border-bottom:1px solid #e0e0e0;border-right:none;}
.griTable tbody td:last-child{border-right:none;}
.griTable td.griStd{width:22%; color:#0a8f5f; background:#f0f6e8;border-right:none;}
.griTable td.griPg{width:16%;white-space:nowrap;}
.griTable tbody td:nth-child(2){width:62%;}
.griTable thead th:first-child
{
  background-color: #16a997;
}
.griTable thead th
{
  border-top: 1px solid #8dc63f !important;
  border-bottom: 1px solid #8dc63f !important;
}

.griTable tbody tr:last-child td {
    border-bottom: 1px solid #31ac55;
}
.gov
{
  padding-bottom: 0px;
}
/* ===================== Governance page ===================== */
/* Scaling Key Accounts — full-bleed blue band with central diagram + 6 text blocks */
.govScaleBand{position:relative;width:100vw;left:50%;margin-left:-50vw;margin-top:30px;margin-bottom:50px;padding:48px 0 54px; background:url('../images/governance/governance-bg-img.png') no-repeat center;background-size:cover;background-color:#1b2661;}
.govScaleInner{max-width:1140px;margin:0 auto;padding:0 20px;}
.govScaleTitle{text-align:center;color:#fff;font-family:proxima-extrabold,proxima-bold,sans-serif;font-size:22px;line-height:34px;margin:0 0 30px;}
.govScaleGrid{display:grid;grid-template-columns:1fr 1.25fr 1fr;grid-template-areas:"a1 img a6" "a2 img a5" "a3 img a4";column-gap:34px;row-gap:26px;align-items:center;}
.gsA1{grid-area:a1;} .gsA2{grid-area:a2;} .gsA3{grid-area:a3;}
.gsA4{grid-area:a4;} .gsA5{grid-area:a5;} .gsA6{grid-area:a6;}
.gsImg{grid-area:img;text-align:center;}
.gsImg img{width:100%;max-width:520px;}
.govScaleCardTitle{color:#32ad56;font-family:proxima-bold;font-size:18px;line-height:21px;margin:0 0 8px;}
.govScaleCardText{color:#ffff;font-size:16px;line-height:22px;margin:0;}
.govKeyIntro{font-family:proxima-bold;font-size:16px;line-height:22px;color:#807e7e;margin:6px 0 18px;}
.govBracketList{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 40px;margin:8px 0 42px;}
.govBracket{position:relative;padding:6px 26px 20px 0;border-right:1px solid #ffe600;border-bottom:1px solid #ffe600;border-bottom-right-radius:16px;font-size:16px;line-height:22px;color:#000;}
.govCapIntro{font-size:16px;line-height:23px;color:#000;margin:0 0 24px;}
.govCapGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:8px 0 42px;}
.govCapCard{border:1px solid #dfe7e0;border-left:4px solid #32AD56;border-radius:8px;padding:22px;background:#f7fbf8;}
.govCapTitle{font-family:proxima-bold;font-size:17px;line-height:22px;color:#0a8f5f;margin:0 0 9px;}
.govCapText{font-size:15px;line-height:22px;color:#333;margin:0;}
.govSecImg{margin:8px 0 30px;}
.govSecImg img{width:100%;}
.govPage{position:relative;}
.govCapBand{position:relative;margin:32px 0 44px;padding:36px 32px 16px;border-radius:16px;overflow:hidden;background:url('../images/governance/key-capabilities-bg.png') no-repeat center;background-size:cover;}
.govCapBand::before{content:"";position:absolute;inset:0;background:rgba(9,18,38,.80);z-index:0;}
.govCapBand>*{position:relative;z-index:1;}
.govCapBand .susSecHead{color:#fff;}
.govCapBand .govCapIntro{color:#ffffff;}
.govCapBand .govCapCard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-left:4px solid #32AD56;}
.govCapBand .govCapTitle{color:#ffffff;}
.govCapBand .govCapText{color:#ffffff;}
.govPage .susIntro,
.govPage > .container > .susPara{color:#000;position:relative;z-index:1;}

/* Scaling Key Accounts — darken/fade the busy background for text legibility */
.govScaleBand::before{content:"";position:absolute;inset:0;background:rgba(12,20,58,.62);z-index:0;}
.govScaleInner{position:relative;z-index:1;}

/* Governance — sub-headings under "Governance and Ethics" (black, 18px) */
.govSubHead{color:#000;font-family:proxima-bold;font-size:16px;line-height:22px;margin:22px 0 8px;}

/* Governance — bracket list items: bold 18px gradient text */
.govBracket{font-size:22px;line-height:24px;font-family:proxima-bold;
	background:linear-gradient(90deg,#39b54a 0%,#007267 100%);
	-webkit-background-clip:text;background-clip:text;
	-webkit-text-fill-color:transparent;color:transparent;}
  .govTaxRow .susSecHead
  {
    margin-top: 0px;
  }

/* Key Capabilities band — full-width (edge-to-edge) */
.govCapBand{width:100vw;left:50%;margin-left:-50vw;margin-right:-50vw;margin-top:36px;margin-bottom:46px;border-radius:0;padding:52px 0 40px;}
.govCapInner{max-width:1140px;margin:0 auto;padding:0 20px;position:relative;z-index:1;}

/* Key Capabilities band — heading in green */
.govCapBand .susSecHead{color:#32AD56;}

/* Key Capabilities — title sits ABOVE the box (white); box holds only the text */
.govCapBand .govCapTitle{color:#fff;margin:0 0 12px;}
.govCapBand .govCapItem{display:flex;flex-direction:column;}

/* Key Capabilities — text box: no bg/border, teal→transparent gradient (top to bottom) */
.govCapBand .govCapCard{background:linear-gradient(180deg,#00a79e 0%,rgba(0,167,158,0) 100%);border:none; border-radius: 0px;}

/* Key Capabilities — soften the box gradient (more transparent) */
.govCapBand .govCapCard{background:linear-gradient(180deg,rgba(0,167,158,.45) 0%,rgba(0,167,158,0) 100%);}
.ff-para p 
{
  color: #ffffff;
}
/* Key Capabilities — equal box heights per row (box fills its cell) */
.govCapBand .govCapCard{flex:1;}

/* ===================== Social - People page ===================== */
.peopleFiveHead{text-align:center;color:#000;font-family:proxima-bold;font-size:22px;line-height:28px;margin:30px 0 20px;}
.peopleCircleImg{text-align:center;margin:20px 0 40px;}
.peopleCircleImg img{max-width:820px;width:100%;}
.peopleCultures{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:16px 0 30px;}
.cultureCard{border:1px solid #dfe7e0;border-top:3px solid #32AD56;border-radius:8px;padding:20px 18px;background:#f7fbf8;}
.cultureCardTitle{font-family:proxima-bold;font-size:16px;line-height:21px;color:#0a8f5f;margin:0 0 8px;}
.cultureCardText{font-size:14px;line-height:20px;color:#333;margin:0;}

/* Social - People — sub-headings black, 16px */
.peoplePage .susSubHead{color:#000;font-size:18px;line-height:22px;}

/* Social - People — Five-Pillar Framework cards */
.peopleFiveHead{display:flex;align-items:center;justify-content:center;gap:18px;}
.peopleFiveHead::before,.peopleFiveHead::after{content:"";height:1px;width:80px;background:#c7d2c9;}
.pillarGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:18px 0 36px;}
.pillarCard{background:#f4f8f1;border:1px solid #e2ebe0;padding:22px 26px;}
.pillarTitle{color:#32AD56;font-family:proxima-bold;font-size:22px;line-height:26px;margin:0 0 14px;padding-bottom:0px;}
.pillarCard .matList{margin-bottom:0;}

/* Social - People — pillar heading gradient + green lead-ins & bullets */
.pillarTitle{background:linear-gradient(90deg,#39b54a 0%,#007267 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.pillarCard .matList li strong{color:#32AD56;}
.pillarCard .matList li::before{background:#32AD56;}

/* Social - People — pillar card: bottom-to-top gradient, no border */
.pillarCard{background:linear-gradient(to top,#d7ecec 0%,#fff 100%);border:none;}

/* Social - People — corner SVG beside Transformation Enablement box */
.pillarCorner{display:flex;align-items:center;justify-content:center;}
.pillarCorner img{max-width:100%;}

/* ===================== Key Initiatives Undertaken page ===================== */
.kiPage .susSubHead{color:#000;font-size:18px;line-height:24px;}
.kiStatGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 26px;margin:18px 0 36px;}
.kiStat{border-left:none;padding:2px 0 2px 0px;}
.kiStatNum{color:#32AD56;font-family:proxima-bold,proxima-bold,sans-serif;font-size:36px;line-height:34px;margin:0 0 7px;}
.kiStatText{font-family:proxima-semibold;font-size:14px;line-height:20px;color:
#6d6e71;margin:0;}
.kiCards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:16px 0 34px;}
.kiCard{background:#f7fbf8;border:1px solid #e2ebe0;border-top:3px solid #32AD56;border-radius:8px;padding:22px;}
.kiCardTitle{color:#0a8f5f;font-family:proxima-bold;font-size:16px;line-height:21px;margin:0 0 10px;}
.kiCardText{font-size:16px;line-height:21px;color:#333;margin:0;}
.kiSecImg{margin:10px 0 34px;text-align:center;}
.kiSecImg img{width:100%;}
.kiLearnImg{margin:14px 0 34px;text-align:center;}
.kiLearnImg img{max-width:850px;width:100%;}

/* Key Initiatives — section headings black (size unchanged) */
.kiPage .susSecHead{color:#000;}

/* Key Initiatives — tinted stat blocks (Mindfulness/MVV/Mindfulness Matters): black number, no border, gradient bg */
.kiStatTint .kiStat{border-left:none;background:linear-gradient(to right,#7dd3cd 0%,#c5e29d 100%);padding:18px 20px;border-radius:8px;}
.kiStatTint .kiStatNum{color:#000;}

/* Key Initiatives — Mindfulness band: gradient on the whole section, not per-number */
.kiStatTint .kiStat{background:none;padding:0;}
.kiMindBand{position:relative;width:100vw;left:50%;margin-left:-50vw;margin-top:24px;margin-bottom:38px;padding:44px 0 26px;background:linear-gradient(to right,#7dd3cd 0%,#c5e29d 100%);}
.kiMindInner{max-width:1140px;margin:0 auto;padding:0 20px;}

/* Key Initiatives — Culture of Happiness heading stays green */
.kiPage .kiGreenHead{color:#32AD56;}

/* Key Initiatives — gradient text on all stat numbers except those in the gradient box */
.kiStatNum{background:linear-gradient(90deg,#0aa999 0%,#8dc63f 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.kiMindBand .kiStatNum{background:none;-webkit-text-fill-color:#000;color:#000;}

/* Key Initiatives — cards: black title, no box/border */
.kiCard{background:none;border:none;padding:0;}
.kiCardTitle{color:#000;}

/* Key Initiatives — Key Listening Platforms: boxed cells (light green, green border, bold green title) */
.kiListenCards .kiCard{background:#eef7ea;border:1px solid #cfe3c2;border-top:3px solid #8dc63f;border-radius:6px;padding:16px 18px;}
.kiListenCards .kiCardTitle{color:#0a8f5f;margin-bottom:8px;}
.kiListenCards .kiCardText{color:#333;}
.kiStatNum span 
{
  font-size: 24px;
}
/* Key Initiatives — Key Listening Platforms: single gradient panel with vertical dividers (matches PDF) */
.kiListenCards{grid-template-columns:1fr 1fr 1fr;grid-template-areas:"a1 a3 a5" "a2 a4 a5";gap:0;border:1px solid #8dc63f;border-radius:10px;overflow:hidden;background:linear-gradient(120deg,#d3e9d6 0%,#e9f4e7 55%,#f8fbf4 100%); padding: 20px 20px;}
.kiListenCards .kiCard{background:none;border:none;border-radius:0;border-left:1px solid #8ad6d2;padding:18px 20px;}
.kiListenCards .kiCard:nth-child(1){grid-area:a1;}
.kiListenCards .kiCard:nth-child(2){grid-area:a2;}
.kiListenCards .kiCard:nth-child(3){grid-area:a3;}
.kiListenCards .kiCard:nth-child(4){grid-area:a4;}
.kiListenCards .kiCard:nth-child(5){grid-area:a5;align-self:start;border-right:none;}
.kiListenCards .kiCardTitle{color:#1f3d7a;margin-bottom:6px; position: relative; z-index: 9;}
.kiListenCards .kiCardText{color:#1f3d7a;}

/* Key Listening Platforms — no outer border/radius, left-to-right gradient */
.kiListenCards{border:none;border-radius:0;background:linear-gradient(to right,#d3eed4 0%,#fffbc3 100%);}

/* Key Listening Platforms — black heading and text */
.kiListenCards .kiCardTitle,
.kiListenCards .kiCardText{color:#000;}

/* Key Listening Platforms — fade the gradient to transparent at the top */
.kiListenCards{background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 60%),linear-gradient(to right,#d3eed4 0%,#fffbc3 100%);}

/* Key Listening Platforms — correct fade: transparent (white) at top, color at bottom */
.kiListenCards{background:linear-gradient(to bottom,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%),linear-gradient(to right,#d3eed4 0%,#fffbc3 100%);}
.kiListenCards .kiCardTitle:before {
    content: '';
    position: absolute;
    left: -20px;
    top: -3px;
        background: linear-gradient(to right, #66bc74 0%, #d6eedd 100%);
    width: 50px;
    height: 25px;
    z-index: -1;
}
/* ===================== Circle of Happiness page ===================== */
.cohStatGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 26px;margin:18px 0 34px;}
.cohStat{padding:2px 0 2px 0px;}
.cohStatNum{color:#32AD56;font-family:proxima-bold,proxima-bold,sans-serif;font-size:36px;line-height:32px;margin:0 0 7px;}
.cohStatText{font-family:proxima-semibold;font-size:16px;line-height:20px;color:#6d6e73;margin:0;}
.cohDaan{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;margin:8px 0 36px;}
.cohDaanImg img{width:100%;border-radius:12px;}
.cohDaanTitle{color:#32AD56;font-family:proxima-bold,proxima-bold,sans-serif;font-size:42px;line-height:46px;margin:0 0 12px;}
.cohSdg{margin:8px 0 30px;}
.cohSdg img{max-width:520px;width:100%;}

/* Circle of Happiness — gradient text on stat numbers */
.cohStatNum{background:linear-gradient(90deg,#0aa999 0%,#8dc63f 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}

/* Circle of Happiness — Key Highlights heading */
.cohKeyHead{color:#6d6e73;font-size:18px;line-height:24px;}

/* gradient numbers: shrink box to text so full gradient shows */
.cohStatNum,.kiStatNum{display:inline-block;}
.kiMindBand .kiStatNum{display:block;}

/* Circle of Happiness — black 18px section heading */
.cohBlackHead{color:#000;font-size:18px;line-height:24px;}

/* Circle of Happiness — green 16px sub-headings */
.cohGreenSub{color:#32AD56;font-size:16px;line-height:22px;}

/* Circle of Happiness — Lives Impacted 2-column layout */
.cohLivesRow{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:18px 0 40px;}
.cohLivesLeft{padding-right:44px;border-right:1px solid #000;}
.cohLivesRight{padding-left:44px;}
.cohLivesRow .cohStat{border-left:none;padding:0 0 16px;margin-bottom:16px;border-bottom:1px solid #000;}
.cohLivesRow .cohStat:last-child{border-bottom:none;}
.cohLabel{font-family:proxima-bold;font-size:14px;color:#000;margin:20px 0 6px;}
.cohForging{color:#32AD56;font-family:proxima-bold;font-size:20px;line-height:26px;margin:0 0 0px;}
.cohVolHead{color:#32AD56;font-family:proxima-bold;font-size:22px;line-height:28px;margin:8px 0 0;}
.cohArtisan{color:#32AD56;font-family:proxima-bold;font-size:20px;line-height:26px;margin:0 0 22px;padding-bottom:16px;border-bottom:1px solid #000;}
.cohDaanBox{position:relative;margin-top:26px;padding:28px 26px 26px;overflow:hidden;background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%), linear-gradient(to right, #d3eed4 0%, #fffbc3 100%);}
.cohDaanBox::before{content:"";position:absolute;top:0;left:0;width:64px;height:64px;border-top:2px solid #32AD56;border-left:2px solid #32AD56;border-top-left-radius:8px;}
.cohDaanBox .cohStatText{color:#6d6e73;}
.cohBottomImg{margin:26px 0 8px;}
.cohBottomImg img{width:100%;border-radius:12px;}

/* Circle of Happiness — Forging / Volunteering headings: 22px gradient text */
.cohForging,.cohVolHead{font-size:22px;line-height:28px;display:inline-block;background:linear-gradient(90deg,#0aa999 0%,#8dc63f 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}

/* Circle of Happiness — Artisan heading gradient text */
.cohArtisan{display:inline-block;background:linear-gradient(90deg,#0aa999 0%,#8dc63f 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent; font-size: 22px;}

/* Circle of Happiness — Daan Utsav title gradient */
.cohDaanTitle{background:linear-gradient(90deg,#39b54a 0%,#007f62 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}

/* Circle of Happiness — Cumulative Financial Summary table */
.cohTable thead th{background:linear-gradient(90deg,#0aa999 0%,#8dc63f 100%);color:#000;text-align:center;border-bottom:none;vertical-align:middle;}
.cohTable thead th:first-child{text-align:left;}
.cohTable tbody td{text-align:center;color:#000;border-bottom:1px solid #e0e0e0;}
.cohTable tbody td:first-child{text-align:left;}
.cohTable tbody tr:last-child td{color:#00a89c;font-family:proxima-bold;}

/* Circle of Happiness — gradient across the whole header row, not per cell */
.cohTable thead th{background:transparent;}
.cohTable thead tr{background:linear-gradient(90deg,#0aa999 0%,#8dc63f 100%);}

/* Circle of Happiness — table last row green bottom border */
.cohTable tbody tr:last-child td{border-bottom:2px solid #32AD56;}

/* ===================== Rewards & Recognition page (dark blue theme) ===================== */
.rrBg{background:url('../images/social-people/blue-bg-img.png') no-repeat center top;background-size:cover;background-color:#0d1b45;}
.rrBg .susBanner,.rrBg .susSec{background:transparent; padding-top: 0px; padding-bottom: 20px;}
.rrBg .susEyebrow{color:#ffffff;}
.rrBg .susRead{color:#fff;}
.rrPage .susSecHead{color:#ffffff;}
.rrPage .susSubHead{color:#ffffff;}
.rrPage .susPara{color:#e6ecf7;}
.rrPage .matList li{color:#e6ecf7;}
.rrPage .matList li::before{background:#ffffff;}
/* RnR cards */
.rrCards{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 30px;margin:18px 0 40px;}
.rrCard{border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:24px 22px;background:rgba(255,255,255,.04);}
.rrCardIcon{width:40px;height:40px;margin-bottom:14px;}
.rrCardTitle{color:#ffffff;font-family:proxima-bold;font-size:20px;line-height:24px;margin:0 0 10px;}
.rrCardText{color:#e6ecf7;font-size:14px;line-height:21px;margin:0;}
/* Benefits box — masonry columns */
.rrBenefitsBox{column-count:3;column-gap:40px;border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:28px 32px;margin:18px 0 40px;}
.rrBenCat{break-inside:avoid;display:inline-block;width:100%;margin-bottom:24px;}
.rrBenTitle{color:#8dc63f;font-family:proxima-bold;font-size:18px;line-height:22px;margin:0 0 12px;}
.rrBenCat .matList li{font-size:16px;line-height:20px;margin-bottom:10px;color:#e6ecf7;}
.rrImg{text-align:center;margin:14px 0 36px;}

/* Rewards & Recognition — breadcrumb light on dark bg */
.rrBg .sitemap,.rrBg .sitemap a{color:#cdd6ea;}

/* Rewards & Recognition — seamless navy bg (fallback matches image edges) */
.rrBg{background:#1b306c url(../images/social-people/blue-bg-img.png) no-repeat center center;background-size:cover;}

/* Rewards & Recognition — add a blue wash over the background */
.rrBg{background-color:#1b306c;background-image:linear-gradient(rgba(27,48,108,.55),rgba(27,48,108,.55)),url(../images/social-people/blue-bg-img.png);background-repeat:no-repeat,no-repeat;background-position:center center,center center;background-size:cover,cover;}

/* Rewards & Recognition — solid blue bg with image merged at the bottom */
.rrBg{background:#1b306c url(../images/social-people/blue-bg-img.png) no-repeat center bottom;background-size:100% auto;}

/* Rewards & Recognition — fade bottom image into the blue (gradient over same strip) */
.rrBg{
	background-color:#1b306c;
	background-image:linear-gradient(to top,rgba(27,48,108,0) 0%,#1b306c 100%),url(../images/social-people/blue-bg-img.png);
	background-repeat:no-repeat,no-repeat;
	background-position:center bottom,center bottom;
	background-size:100% 520px,100% 520px;
}

/* Rewards & Recognition — white section heading */
.rrPage .rrWhiteHead{color:#ffffff;}

/* Rewards & Recognition — white banner title (override gradient) */
.rrBg .susTitle{background:none;-webkit-text-fill-color:#ffffff;color:#ffffff;}

/* Rewards & Recognition — RnR cards: no box, curved bottom bracket line (matches PDF) */
.rrCard{background:none;border:none;border-radius:0;padding:0 34px 34px 0;position:relative;}
.rrCard::after{content:"";position:absolute;left:0;right:6px;bottom:0;height:34px;border-bottom:1px solid rgba(255,255,255,.45);border-right:1px solid rgba(255,255,255,.45);border-bottom-right-radius:18px;pointer-events:none;}
.rrCardIcon{width:50px;height:50px;margin-bottom:12px;}

/* Rewards & Recognition — RnR card exact layout: icon+title top row, text below, U-bracket frame */
.rrCard{background:none;border:none;border-radius:0;position:relative;padding:6px 22px 34px 0;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon title" "text text";column-gap:14px;row-gap:8px;align-items:center;}
.rrCardIcon{grid-area:icon;width:36px;height:36px;margin:0;align-self:start;}
.rrCardTitle{grid-area:title;margin:0;}
.rrCardText{grid-area:text;margin:0;}
.rrCard::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42px;border:1px solid rgba(255,255,255,.45);border-top:none;border-bottom-left-radius:16px;border-bottom-right-radius:16px;pointer-events:none;}

/* Rewards & Recognition — align description with the title (not under icon) */
.rrCard{grid-template-areas:"icon title" ". text";}

/* Rewards & Recognition — uniform 15px bottom space below content in all cards */
.rrCard{padding-bottom:15px;}
.rrCard::after{height:15px;}

/* Rewards & Recognition — keep card content at top, 15px heading-to-text gap */
.rrCard{align-content:start;align-items:start;row-gap:15px;}

/* Rewards & Recognition — switch card to flexbox (fixes heading bottom space) */
.rrCard{display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;column-gap:14px;row-gap:0px;}
.rrCardIcon{flex:0 0 auto;}
.rrCardTitle{flex:1 1 auto;min-width:0;}
.rrCardText{flex:0 0 100%;padding-left:50px;}

/* Rewards & Recognition — replace ::after bracket with real left+bottom borders (border touches icon) */
.rrCard::after{content:none;}
.rrCard{border-left:1px solid rgba(255,255,255,1);border-bottom:1px solid rgba(255,255,255,1);border-bottom-left-radius:16px;padding-left:15px;}

/* Rewards & Recognition — Benefits box border with chamfered bottom-right corner */
.rrBenefitsBox{position:relative;border:none;border-radius:0;isolation:isolate;}
.rrBenefitsBox::before{content:"";position:absolute;inset:0;z-index:-2;background:rgba(255,255,255,.55);clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%);}
.rrBenefitsBox::after{content:"";position:absolute;inset:1px;z-index:-1;background:#1b306c;clip-path:polygon(0 0,100% 0,100% calc(100% - 27px),calc(100% - 27px) 100%,0 100%);}

/* Rewards & Recognition — Benefits box: rounded right corners, no left border, drop the chamfer */
.rrBenefitsBox::before,.rrBenefitsBox::after{content:none;}
.rrBenefitsBox{border:1px solid rgba(255,255,255,1);border-left:none;border-radius:0 20px 20px 0;}

/* Rewards & Recognition — Benefits heading sits on the top border (upper-left) */
.rrBenHeading{position:relative;z-index:2;display:inline-block;background:#1b306c;padding-right:18px;margin:0 0 -16px 0px;}
.rrBenefitsBox{margin-top:-11px;}

/* Rewards & Recognition — Channels/Wellbeing 2-column with image right */
.rrChannelsRow{align-items:center;
padding-bottom: 30px;}
.rrChannelsRow .rrImg{margin:0;}

/* ===================== Diversity and Inclusion page ===================== */
.diMomGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:18px 0 40px;}
.diMomCard{position:relative;padding:6px 26px 22px 0;border-right:2px solid #ffe600;border-bottom:2px solid #ffe600;border-bottom-right-radius:16px;}
.diMomTitle{color:#32AD56;font-family:proxima-bold;font-size:22px;line-height:24px;margin:0 0 10px;}
.diMomText{font-size:16px;line-height:22px;color:#333;margin:0; font-family:proxima-semibold }
.diStatGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 26px;margin:30px 0 24px;}
.diStat{border-left:3px solid #32AD56;padding:2px 0 2px 16px;}
.diStatNum{color:#32AD56;font-family:proxima-bold,proxima-bold,sans-serif;font-size:28px;line-height:27px;margin:0 0 7px;}
.diStatText{font-family:proxima-semibold;font-size:16px;line-height:20px;color:#6d6e73;margin:0;}

/* Diversity and Inclusion — title spacing + Key initiatives 2-col image */
.diTitle{margin-top:6px;}
.diInitRow .diInitImg img{width:100%;border-radius:12px;}

/* Diversity and Inclusion — title gradient */
.diTitle{display:inline-block;background:linear-gradient(90deg,#39b54a 0%,#007267 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.diInitImg
{
  padding-top: 20px;
}
/* Diversity and Inclusion — black 18px sub-heading */
.diBlackSub{color:#000;font-size:18px;line-height:24px;}

/* Diversity and Inclusion — Key initiatives heading 16px */
.diInitHead{font-size:16px;line-height:22px;}

/* Diversity and Inclusion — gradient stat numbers, no left border */
.diStat{border-left:none;padding-left:0;}
.diStatNum{display:inline-block;background:linear-gradient(90deg,#0aa999 0%,#8dc63f 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent; font-size: 36px;}
.diStatNum span 
{
  font-size: 24px;
}
/* Learning and Development — PDP logo */
.ldPdpImg{margin:6px 0 18px;}
.ldPdpImg img{max-width:150px;width:100%;}
.di-intro
{
  font-family: proxima-bold;
  color: #6d6e73;
}
/* Learning and Development — Key Matrix stats background gradient */
.ldMatrixBg{background:linear-gradient(to bottom,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%),linear-gradient(to right,#d3eed4 0%,#fffbc3 100%);padding:26px 28px;border-radius:10px;}
.ldMatrixBg .diStat
{
  border-bottom: 1px solid #000;
  margin-bottom: 20px;
}
.ldMatrixBg .diStatText
{
padding-bottom: 10px;
}
/* Learning and Development — Training Mode list: green text + green dot, semibold */
.ldGreenList li{color:#32AD56;font-weight:600;}
.ldGreenList li::before{background:#32AD56;}

/* Learning and Development — PDP Highlights: logo left, heading/text right, green U-bracket frame */
.ldPdp{position:relative;border-left:2px solid #32AD56;border-bottom:2px solid #32AD56;border-radius:0 0 22px 22px;padding:6px 30px 26px;margin:22px 0 10px 50px;}
.ldPdpTop{display:flex;align-items:flex-start;gap:24px;margin-bottom:8px;}
.ldPdpLogo{flex:0 0 auto; position: absolute; left: -50px; top:0}
.ldPdpLogo img{width:104px;height:auto;}
.ldPdpHead{flex:1;min-width:0;}
.ldPdpHead .susSecHead{margin-top:6px;}
.ldPdpList li::before{background:#32AD56;}

/* Learning and Development — PDP list black bullets, no strong */
.ldPdpList li::before{background:#000;}
.ldPdp p 
{
font-family: proxima-bold;
  color: #6d6e73;
}

/* Learning and Development — PDP: logo in its own div, heading+text+list in one div */
.ldPdp{display:flex;align-items:flex-start;gap:26px;}
.ldPdpContent{flex:1;min-width:0; padding-left: 60px;}
.ldPdpContent .susSecHead{margin-top:6px;}

/* ===================== Talent Acquisition page ===================== */
.taPage .susSubHead{color:#000;font-size:18px;line-height:24px;}
.taHighlightsRow .taImg img{width:100%;}
.taImg
{
  padding-top: 20px;
}
/* Talent Acquisition — 476/27% side by side */
.taDivGrid{display:grid;grid-template-columns:auto auto;gap:20px 40px;align-items:end;justify-content:start;margin:14px 0 30px;}
.diStatNumsmall
{
  color: #32ad56;
  font-size: 20px;
  font-family: proxima-bold;
  padding-top:0px;
}
/* ===================== Social - Customers page ===================== */
.scImg{text-align:center;margin:14px 0 34px;}
.scImg img{max-width:900px;width:100%;}
.scLifeCycle{list-style:none;counter-reset:sc;padding:0;margin:14px 0 34px;}
.scLifeCycle li{position:relative;counter-increment:sc;padding-left:44px;margin-bottom:16px;font-size:16px;line-height:23px;color:#000;}
.scLifeCycle li::before{content:counter(sc)".";position:absolute;left:0;top:0;font-family:proxima-bold;font-size:18px;color:#000;}
.scBottomImg{margin:26px 0 8px;}
.scBottomImg img{width:100%;border-radius:12px;}

/* Social - Customers — stats background gradient */
.scStatBg{background:linear-gradient(to bottom,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%),linear-gradient(to right,#d3eed4 0%,#fffbc3 100%);padding:26px 28px;border-radius:10px;}

/* Social - Customers — green FY/year-end line in stats */
.scGreen{color:#32AD56;}

/* ===================== Board of Directors page ===================== */
.bodGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 28px;margin:20px 0 40px;}
.bodCard{}
.bodPhoto{position:relative;border-radius:6px;overflow:hidden; max-width: 300px;}
.bodPhoto img{width:100%;display:block;}
.bodName{color:#32AD56;font-family:proxima-bold;font-size:18px;line-height:24px;margin:14px 0 4px;}
.bodDesig{font-size:16px;line-height:20px;color:#000;margin:0 0 10px;}
.bodBadges img{height:24px;width:auto;}
.bodCommittees{border:1px solid #00a79e;border-radius:12px;padding:26px 30px;max-width:520px;}
.bodCommTitle{color:#000;font-family:proxima-bold;font-size:18px;margin:0 0 16px;}
.bodCommList{list-style:none;padding:0;margin:0 0 18px;}
.bodCommList li{position:relative;padding-left:22px;margin-bottom:10px;font-size:16px;color:#000;}
.bodCommList li::before{content:"";position:absolute;left:0;top:5px;width:11px;height:11px;border-radius:2px;}
.bodCommList li:nth-child(1)::before{background:#f05b6c;}
.bodCommList li:nth-child(2)::before{background:#ffdb00;}
.bodCommList li:nth-child(3)::before{background:#f58220;}
.bodCommList li:nth-child(4)::before{background:#a34a8f;}
.bodCommList li:nth-child(5)::before{background:#0083ca;}
.bodCommList li:nth-child(6)::before{background:#77af43;}
.bodLegend{list-style:none;padding:16px 0 0;margin:0;border-top:1px solid #e0e0e0;}
.bodLegend li{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:16px;color:#000;}
.bodBadge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:3px;font-family:proxima-bold;font-size:12px;}
.bodBadgeChair{background:#6d6e71;color:#fff;}
.bodBadgeCo{border:1.5px solid #6d6e71;color:#6d6e71;}
.bodBadgeMem{background:#6d6e71;color:#fff;}

/* Board of Directors — committees box full width, left + bottom border only */
.bodCommittees{max-width:none;border:none;border-left:2px solid #00a79e;border-bottom:2px solid #8dc63f;border-radius:0 0 0 16px;padding:22px 30px 26px 26px;}

/* Board of Directors — committees + legend side by side */
.bodCommList{display:grid;grid-template-columns:repeat(3,auto);gap:12px 44px;justify-content:start;}
.bodCommList li{margin-bottom:0;}
.bodLegend{display:flex;flex-wrap:wrap;gap:14px 34px;}
.bodLegend li{margin-bottom:0;}

/* ===================== Executive Leadership & CEOs page ===================== */
.elPage .bodGrid{grid-template-columns:repeat(4,1fr);}
.elCorner{text-align:right;margin:10px 0 0;}
.elCorner img{max-width:130px;width:26%;}

/* Executive Leadership — 3-2-2 rows, corner outside container */
.elRow{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 28px;margin-bottom:34px;}
.elCorner{text-align:right;margin:0;}
.elCorner img{max-width:300px;width:100%; position:absolute; right: 0; bottom: 0}
.elPage
{
  position: relative;
}

/* ===================== Senior Management page ===================== */
.smPage .bodGrid{grid-template-columns:repeat(4,1fr);}

/* Senior Management — 3 columns */
.smPage .bodGrid{grid-template-columns:repeat(3,1fr);}

/* ===== Value Creation Model - tabs ===== */
.capTabsWrap {
  width: 100%;
  margin-bottom: 30px;
}

/* mobile dropdown (hidden on desktop) */
.capTabSelect {
  display: none;
  width: 100%;
  padding: 14px 16px;
  border: 1.5px solid #2aa45f;
  border-radius: 8px;
  background: #fff;
  color: #017665;
  font-size: 15px;
  font-family: proxima-bold;
  cursor: pointer;
}

.capTabsNav {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
}
.taPage .susSubHead.greensubhead{
      color: #32ad56;
}

.capTabBtn {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
  padding: 14px 10px;
  border: 1.5px solid var(--capClr);
  border-radius: 10px;
  background: #fff;
  color: var(--capClr);
  font-size: 13px;
  line-height: 1.25;
  font-family: proxima-bold;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  cursor: pointer;
  transition: background-color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
}

.capTabNum {
  font-family: proxima-extrabold;
  font-size: 20px;
  line-height: 1;
  color: var(--capClr);
}

.capTabBtn:hover {
  background: color-mix(in srgb, var(--capClr) 10%, #fff);
  transform: translateY(-2px);
}

.capTabBtn.active {
  background: color-mix(in srgb, var(--capClr) 14%, #fff);
  box-shadow: inset 0 -3px 0 var(--capClr);
}

.capTabbed .capital-section {
  position: static;
}

.capTabPane {
  display: none;
}

.capTabPane.active {
  display: block;
  animation: capFade 0.35s ease;
}

@keyframes capFade {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.capTabbed .capital-header {
  display: none;
}

.capTabbed .capital-content {
  min-height: auto;
  padding: 0 0 26px;
}

@media (max-width: 991px) {
  .capTabsNav {
    flex-wrap: wrap;
  }
  .capTabBtn {
    flex: 1 1 30%;
  }
}

/* below 767px: tabs become a dropdown */
@media (max-width: 767px) {
  .capTabsNav {
    display: none;
  }
  .capTabSelect {
    display: block;
  }
}

@media (max-width: 575px) {
  .capTabBtn {
    flex: 1 1 45%;
    font-size: 12px;
  }
}
.physicalsustitle span{
  display: block;
}
.physiclapara{
  padding-bottom: 15px;
  color: #fff;
}
.chairpranspan span{
  display: block;
}
.esgText h4.esgsubheadsocial {
    color: #fff;
    font-size: 18px;
    line-height: 22px;
    font-weight: 600;
    padding-bottom: 10px;
}