/* ex-footprint: photo with a South Africa map and office pins | dark teal panel with orange office pills. */
.ex-fp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:clamp(440px,48vw,600px)}
.ex-fp-media{position:relative;overflow:hidden;margin:0;min-width:0;background:#0B2630}
.ex-fp-media > img,.ex-fp-media > picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% 40%}
.ex-fp-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,22,30,.25),rgba(6,22,30,.62))}
.ex-map{position:absolute;right:4%;top:50%;transform:translateY(-50%);width:min(78%,520px);height:auto;overflow:visible}
.ex-za{fill:rgba(11,79,100,.42);stroke:#fff;stroke-width:1.6;stroke-linejoin:round}
.ex-ls{fill:none;stroke:rgba(255,255,255,.6);stroke-width:1;stroke-dasharray:3 3}
.ex-reach circle{fill:#5CC3F2;stroke:#fff;stroke-width:.8}
.ex-pin-mark{fill:var(--orange-hi);stroke:#fff;stroke-width:1.2}
.ex-pin-c{fill:#fff}
.ex-pin-halo{fill:#5CC3F2;opacity:0;transform-box:fill-box;transform-origin:center}
.ex-pin-l{font-family:var(--serif),sans-serif;font-size:11px;font-weight:700;fill:#fff;paint-order:stroke;stroke:rgba(6,22,30,.75);stroke-width:3px;opacity:.85}
.ex-pin.is-on .ex-pin-mark{fill:#fff;stroke:var(--orange-hi)}
.ex-pin.is-on .ex-pin-c{fill:var(--orange-hi)}
.ex-pin.is-on .ex-pin-l{opacity:1}
.ex-pin.is-on .ex-pin-halo{animation:exPulse 2.2s ease-out infinite}
@keyframes exPulse{0%{transform:scale(.4);opacity:.6}100%{transform:scale(2.2);opacity:0}}
.ex-fp-copy{background:var(--teal);color:#fff;display:flex;align-items:center;min-width:0}
/* Copy column starts at the page centre and ends on the shared right edge (wrap). */
.ex-fp-in{width:100%;padding:clamp(2.6rem,6vw,4.5rem) max(var(--gutter),calc(100% - var(--max) / 2)) clamp(2.6rem,6vw,4.5rem) clamp(1.6rem,4vw,4rem)}
.ex-fp-copy .h2{color:#fff;text-transform:uppercase;letter-spacing:.02em;font-weight:800}
.ex-fp-copy .lead{color:rgba(255,255,255,.88)}
.ex-office-tabs{list-style:none;margin:1.6rem 0 1rem;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}
.ex-office-tab{min-height:42px;min-width:11rem;padding:.5rem 1.1rem;border:2px solid var(--orange);border-radius:3px;background:var(--orange);color:#fff;font-family:var(--serif),sans-serif;font-size:.86rem;font-weight:700;text-align:left;cursor:pointer;transition:background-color .25s,color .25s,border-color .25s}
.ex-office-tab:hover{background:#9E4508;border-color:#9E4508}
.ex-office-tab[aria-pressed="true"]{background:#fff;border-color:#fff;color:var(--teal)}
.ex-office{max-width:30rem}
.ex-office[hidden]{display:none}
.ex-office p{margin:0 0 .45rem;color:rgba(255,255,255,.88);font-size:.94rem}
.ex-office-role{font-family:var(--serif),sans-serif;font-weight:700;font-size:.74rem!important;letter-spacing:.12em;text-transform:uppercase;color:#5CC3F2!important}
.ex-office-addr{display:flex;gap:.5rem;align-items:flex-start}
.ex-office-addr .i{flex:none;width:16px;height:16px;margin-top:.2rem;fill:none;stroke:#5CC3F2;stroke-width:1.8}
.ex-fp-copy .ex-note{color:rgba(255,255,255,.7)}
@media (max-width:860px){
  .ex-fp-grid{grid-template-columns:1fr}
  .ex-fp-media{min-height:min(92vw,460px)}
  .ex-map{right:50%;transform:translate(50%,-50%);width:min(88%,440px)}
  .ex-fp-in{padding-inline:var(--gutter)}
  .ex-office-tabs{flex-direction:row;flex-wrap:wrap}
  .ex-office-tab{min-width:0}
}
