/* ================= v39: "Several branches across Kenya" dot map =================
   A stylised dot map of Kenya with Eliana marks drifting at random. It shows no real branch positions. */
.fm{padding-block:clamp(48px,7vw,110px)}
.fm-card{position:relative;overflow:hidden;border-radius:clamp(24px,3vw,40px);color:var(--ink);background:linear-gradient(135deg,#ffffff 0%,#f1f2ff 100%);border:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(20px,4vw,64px);padding:clamp(28px,5vw,72px);box-shadow:0 30px 60px -44px rgba(1,3,149,.35)}
.fm-card::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 50% at 12% 100%,rgba(95,160,82,.10),transparent 70%);pointer-events:none}
.fm-copy{position:relative;z-index:2}
.fm-copy .label{color:var(--green-ink)}
.fm-copy h2{margin:.2em 0 .45em;color:var(--ink);font-size:clamp(2.2rem,4.6vw,4.2rem);line-height:1.04;letter-spacing:-.035em}
.fm-copy h2 em{font-style:normal;color:var(--blue)}
.fm-lead{max-width:34rem;margin:0 0 1.6rem;font-size:clamp(1.02rem,1.3vw,1.18rem);color:var(--body)}
.fm-copy .btn-row{display:flex;flex-wrap:wrap;gap:12px}
.fm-note{margin:1.1rem 0 0;font-size:.9rem;color:var(--body)}

.fm-map{position:relative;z-index:1;width:100%;max-width:560px;justify-self:end;aspect-ratio:8.5/9.7;-webkit-mask-image:radial-gradient(closest-side,#000 90%,transparent 100%);mask-image:radial-gradient(closest-side,#000 90%,transparent 100%)}
.fm-map canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.fm-marks{position:absolute;inset:0;pointer-events:none}
.fm-mark{position:absolute;left:0;top:0;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;background:var(--blue);border:2px solid var(--green);display:grid;place-items:center;box-shadow:0 8px 20px rgba(1,3,149,.35),0 0 0 6px rgba(95,160,82,.16);will-change:transform}
.fm-mark img{width:22px;height:22px;display:block}
.fm-mark::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--green);opacity:0;pointer-events:none}
.fm-mark.is-ping::after{animation:fmPing 1.4s ease-out}
@keyframes fmPing{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(2.6)}}

@media (max-width:900px){
  .fm-card{grid-template-columns:minmax(0,1fr);padding:clamp(24px,6vw,40px)}
  .fm-map{justify-self:center;max-width:420px}
  .fm-mark{width:30px;height:30px;margin:-15px 0 0 -15px}
  .fm-mark img{width:18px;height:18px}
  .fm-copy .btn-row{flex-direction:column;align-items:stretch}
  .fm-copy .btn-row .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.fm-mark.is-ping::after{animation:none}}

/* no side dots on the home page */
html body nav.rail{display:none!important}
