/* Editorial sections shared by the Elementor pages. */
.cc-leadership,
.cc-group-showcase,
.cc-reference-showcase,
.cc-reference-teaser {
  box-sizing: border-box;
  font-family: Inter, sans-serif;
}
.cc-leadership *,
.cc-group-showcase *,
.cc-reference-showcase *,
.cc-reference-teaser * { box-sizing: border-box; }

.cc-leadership {
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  min-height: 770px;
  color: #f6f6f2;
  background: #0b202d;
}
.cc-leadership-visual { position: relative; min-height: 620px; overflow: hidden; }
.cc-leadership-visual::after { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(6,25,34,.08) 28%,rgba(6,25,34,.82)); content: ""; }
.cc-leadership-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.68); transition: transform 1.4s cubic-bezier(.2,.75,.25,1); }
.cc-leadership:hover .cc-leadership-visual img { transform: scale(1.035); }
.cc-leadership-visual-label { position: absolute; z-index: 1; bottom: clamp(32px,5vw,72px); left: clamp(28px,5vw,74px); color: #fff; }
.cc-leadership-visual-label span { display: block; margin-bottom: 14px; color: #dfba71; font: 700 11px/1.4 Montserrat,sans-serif; text-transform: uppercase; }
.cc-leadership-visual-label strong { display: block; max-width: 440px; font: 500 clamp(27px,3vw,44px)/1.13 Montserrat,sans-serif; }
.cc-leadership-content { padding: clamp(72px,8vw,126px) clamp(28px,7vw,116px); }
.cc-premium-eyebrow { margin: 0 0 20px; color: #b18843; font: 700 11px/1.4 Montserrat,sans-serif; text-transform: uppercase; }
.cc-leadership .cc-premium-eyebrow { color: #dfba71; }
.cc-leadership-content > h2 { max-width: 680px; margin: 0; color: #fff; font: 500 clamp(34px,3.4vw,55px)/1.08 Montserrat,sans-serif; }
.cc-leadership-intro { max-width: 600px; margin: 25px 0 44px; color: #b7c5c8; font: 400 15px/1.75 Inter,sans-serif; }
.cc-leadership-list { border-top: 1px solid rgba(255,255,255,.2); }
.cc-leadership-list article { display: grid; grid-template-columns: 54px minmax(0,1fr) 22px; gap: clamp(15px,2vw,30px); align-items: start; padding: 26px 0 30px; border-bottom: 1px solid rgba(255,255,255,.2); transition: padding-left .35s, border-color .35s; }
.cc-leadership-list article:hover { padding-left: 12px; border-color: #dfba71; }
.cc-leadership-list article > span { padding-top: 5px; color: #dfba71; font: 600 12px/1 Montserrat,sans-serif; font-variant-numeric: tabular-nums; }
.cc-leadership-list article h3 { margin: 0 0 8px; color: #fff; font: 600 clamp(22px,2vw,31px)/1.18 Montserrat,sans-serif; }
.cc-leadership-list article p { max-width: 530px; margin: 0; color: #b7c5c8; font: 400 13px/1.65 Inter,sans-serif; }
.cc-leadership-list article i { color: #dfba71; font: normal 23px/1 Montserrat,sans-serif; }

.cc-group-showcase { padding: clamp(78px,8vw,125px) clamp(22px,6vw,100px); background: #f1f3f0; color: #102638; }
.cc-group-inner { max-width: 1320px; margin: auto; }
.cc-group-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,.6fr); gap: 48px; align-items: end; margin-bottom: 55px; }
.cc-group-heading h2 { max-width: 790px; margin: 0; color: #102638; font: 600 clamp(36px,4vw,62px)/1.07 Montserrat,sans-serif; }
.cc-group-heading > p { max-width: 400px; margin: 0; color: #536774; font: 400 15px/1.7 Inter,sans-serif; }
.cc-group-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid #bbc6c6; border-bottom: 1px solid #bbc6c6; }
.cc-group-list article { position: relative; display: flex; min-height: 360px; flex-direction: column; padding: clamp(34px,4vw,60px); overflow: hidden; }
.cc-group-list article + article { border-left: 1px solid #bbc6c6; }
.cc-group-list article::after { position: absolute; right: -24px; bottom: -60px; color: rgba(16,38,56,.055); font: 700 310px/1 Montserrat,sans-serif; content: attr(data-letter); pointer-events: none; }
.cc-group-list article > span { position: relative; z-index: 1; color: #876b39; font: 700 12px/1.3 Montserrat,sans-serif; }
.cc-group-list article h3 { position: relative; z-index: 1; max-width: 520px; margin: 55px 0 15px; color: #102638; font: 600 clamp(25px,2.6vw,38px)/1.16 Montserrat,sans-serif; }
.cc-group-list article p { position: relative; z-index: 1; max-width: 520px; margin: 0 0 30px; color: #536774; font: 400 14px/1.7 Inter,sans-serif; }
.cc-group-list article a { position: relative; z-index: 1; display: inline-flex; width: fit-content; gap: 20px; align-items: center; margin-top: auto; padding-bottom: 8px; border-bottom: 1px solid #9c7839; color: #102638 !important; font: 700 11px/1.3 Montserrat,sans-serif; text-decoration: none; transition: gap .3s, color .3s; }
.cc-group-list article a:hover { gap: 28px; color: #9c7839 !important; }

.cc-reference-showcase { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); min-height: 580px; margin: 0; color: #fff; background: #0c2630; }
.cc-reference-visual { position: relative; min-height: 450px; overflow: hidden; }
.cc-reference-visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.65); }
.cc-reference-visual::after { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(5,24,31,.04),rgba(5,24,31,.46)); content: ""; }
.cc-reference-visual span { position: absolute; z-index: 1; right: 36px; bottom: 34px; padding: 12px 15px; border: 1px solid rgba(255,255,255,.45); color: #fff; font: 700 10px/1.2 Montserrat,sans-serif; text-transform: uppercase; }
.cc-reference-content { display: flex; flex-direction: column; justify-content: center; padding: clamp(65px,7vw,108px) clamp(30px,6vw,100px); }
.cc-reference-content .cc-premium-eyebrow { color: #dfba71; }
.cc-reference-content h2 { max-width: 620px; margin: 0 0 24px; color: #fff; font: 500 clamp(38px,4vw,61px)/1.08 Montserrat,sans-serif; }
.cc-reference-content > p:not(.cc-premium-eyebrow) { max-width: 550px; margin: 0 0 38px; color: #bccbd0; font: 400 15px/1.75 Inter,sans-serif; }
.cc-reference-content a { display: inline-flex; width: fit-content; align-items: center; gap: 22px; padding: 15px 0; border-bottom: 1px solid #dfba71; color: #fff !important; font: 700 12px/1.4 Montserrat,sans-serif; text-decoration: none; transition: gap .3s; }
.cc-reference-content a:hover { gap: 30px; }
.cc-reference-teaser { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 32px; align-items: end; padding: clamp(70px,7vw,112px) clamp(22px,6vw,100px); background: #dce7e4; color: #102638; }
.cc-reference-teaser > div { max-width: 800px; }
.cc-reference-teaser h2 { margin: 0 0 20px; color: #102638; font: 600 clamp(34px,3.5vw,52px)/1.1 Montserrat,sans-serif; }
.cc-reference-teaser p:last-child { max-width: 620px; margin: 0; color: #536774; font: 400 15px/1.7 Inter,sans-serif; }
.cc-reference-teaser a { display: inline-flex; width: fit-content; gap: 16px; align-items: center; padding-bottom: 10px; border-bottom: 1px solid #102638; color: #102638 !important; font: 700 12px/1.4 Montserrat,sans-serif; text-decoration: none; white-space: nowrap; }

@media (max-width: 1050px) {
  .cc-leadership { grid-template-columns: minmax(250px,.75fr) minmax(0,1.25fr); }
  .cc-leadership-content { padding: 70px 42px; }
  .cc-group-heading { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 760px) {
  .cc-leadership, .cc-reference-showcase { grid-template-columns: 1fr; }
  .cc-leadership-visual { min-height: 340px; max-height: 430px; }
  .cc-leadership-content { padding: 60px 24px 70px; }
  .cc-leadership-intro { margin-bottom: 32px; }
  .cc-leadership-list article { grid-template-columns: 30px minmax(0,1fr) 18px; }
  .cc-group-showcase { padding: 72px 22px; }
  .cc-group-list { grid-template-columns: 1fr; }
  .cc-group-list article { min-height: 300px; padding: 36px 4px; }
  .cc-group-list article + article { border-left: 0; border-top: 1px solid #bbc6c6; }
  .cc-group-list article h3 { margin-top: 36px; }
  .cc-reference-visual { min-height: 310px; max-height: 390px; }
  .cc-reference-content { padding: 60px 24px 70px; }
  .cc-reference-teaser { grid-template-columns: 1fr; gap: 28px; padding: 72px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .cc-leadership-visual img, .cc-leadership-list article, .cc-group-list article a, .cc-reference-content a { transition: none; }
}

/* Executive portraits are presented as a single editorial gallery. */
.cc-leadership { display: block; min-height: 0; padding: clamp(74px,8vw,128px) clamp(22px,6vw,100px) clamp(82px,8vw,130px); }
.cc-leadership-header { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.55fr); gap: 50px; align-items: end; max-width: 1320px; margin: 0 auto 54px; }
.cc-leadership-header h2 { max-width: 810px; margin: 0; color: #fff; font: 500 clamp(38px,4.2vw,66px)/1.06 Montserrat,sans-serif; }
.cc-leadership-header > p { max-width: 450px; margin: 0; color: #b7c5c8; font: 400 15px/1.72 Inter,sans-serif; }
.cc-leadership-people { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(16px,2.1vw,32px); max-width: 1320px; margin: auto; }
.cc-leadership-people article { min-width: 0; border-top: 1px solid rgba(223,186,113,.65); }
.cc-leadership-people figure { position: relative; aspect-ratio: 4/4.45; margin: 22px 0 26px; overflow: hidden; background: #19333c; }
.cc-leadership-people figure::after { position: absolute; inset: 52% 0 0; background: linear-gradient(180deg,transparent,rgba(5,19,27,.38)); content: ""; pointer-events: none; }
.cc-leadership-people img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; filter: saturate(.77); transition: transform 1s cubic-bezier(.2,.75,.25,1),filter .6s; }
.cc-leadership-people article:hover img { transform: scale(1.045); filter: saturate(.95); }
.cc-leadership-people .cc-person-index { display: flex; align-items: center; gap: 18px; margin-bottom: 17px; color: #dfba71; font: 700 11px/1.4 Montserrat,sans-serif; }
.cc-leadership-people .cc-person-index::after { flex: 1; height: 1px; background: rgba(255,255,255,.22); content: ""; }
.cc-leadership-people h3 { margin: 0 0 13px; color: #fff; font: 600 clamp(24px,2.2vw,34px)/1.14 Montserrat,sans-serif; }
.cc-leadership-people article > p { max-width: 390px; margin: 0; color: #b7c5c8; font: 400 13px/1.72 Inter,sans-serif; }
@media (max-width: 900px) { .cc-leadership-header { grid-template-columns: 1fr; gap: 20px; } }
@media (max-width: 700px) {
  .cc-leadership { padding: 68px 22px 82px; }
  .cc-leadership-header { margin-bottom: 38px; }
  .cc-leadership-people { grid-template-columns: 1fr; gap: 46px; }
  .cc-leadership-people figure { aspect-ratio: 4/4.2; margin: 16px 0 20px; }
}
@media (prefers-reduced-motion: reduce) { .cc-leadership-people img { transition: none; } }
