/* ═══════════════ WHERE WE ARE (locations + vector map) ═══════════════ */
.loc-section{background:linear-gradient(180deg,#f3f7ff 0%,#ffffff 100%);padding:100px 6vw;position:relative;overflow:hidden;}
.loc-head{text-align:center;max-width:980px;margin:0 auto 48px;}
.loc-head .section-tag{color:#2979ff;background:rgba(41,121,255,.08);border-color:rgba(41,121,255,.25);}
.loc-head .section-title{color:#0a1e3d;text-shadow:none;text-wrap:balance;}
.loc-head .section-sub{color:#555;}
.loc-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:44px;align-items:center;max-width:1240px;margin:0 auto;}

/* map card: world map (left) + zoomed Pakistan (right) */
.loc-map-card{max-width:1240px;margin:0 auto;background:#fff;border:1px solid #e1e8f5;border-radius:26px;box-shadow:0 22px 56px rgba(10,30,61,.10);padding:26px 26px 18px;}
.loc-map-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:28px;align-items:center;}
.world-wrap{position:relative;line-height:0;}
.world-img{width:100%;height:auto;display:block;}
.world-ov{position:absolute;left:0;top:0;width:100%;height:100%;}
.world-ov .w-pk{fill:#0a1e3d;}
.world-ov .w-ring{fill:none;stroke:#ff6a00;stroke-width:1.4;transform-box:fill-box;transform-origin:center;animation:wRing 2.4s ease-out infinite;}
@keyframes wRing{0%{transform:scale(.5);opacity:.95;}100%{transform:scale(2.3);opacity:0;}}
.world-ov .w-dot{fill:#ff6a00;stroke:#fff;stroke-width:1.2;cursor:pointer;transition:transform .2s;transform-box:fill-box;transform-origin:center;}
.world-ov .w-dot.active{transform:scale(1.5);}
.world-ov .w-lbl{font-family:Poppins,Arial,sans-serif;font-weight:600;font-size:12px;fill:#0a1e3d;}

.loc-inset{background:#f4f7fc;border:1px solid #e1e8f5;border-radius:20px;overflow:hidden;}
.loc-inset-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;background:#fff;border-bottom:1px solid #e1e8f5;}
.loc-inset-head b{font-family:Poppins,Arial,sans-serif;font-weight:600;font-size:.9rem;color:#0a1e3d;}
.loc-inset-head span{font-size:.68rem;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:#ff6a00;}
.pk-map{display:block;width:100%;height:auto;}
.pk-map text{font-family:Garet,Montserrat,Arial,sans-serif;}
.pk-map .sea{fill:#f4f7fc;}
.pk-map .nb path{fill:#e3e7ee;stroke:#fff;stroke-width:1.4;stroke-linejoin:round;}
.pk-map .pk{fill:url(#pkLand);stroke:#fff;stroke-width:1.8;stroke-linejoin:round;filter:drop-shadow(0 8px 12px rgba(10,30,61,.25));}
.pk-map .cn{fill:#9aa6bb;font-size:24px;font-weight:700;letter-spacing:4px;}
.pk-map .sea-lbl{fill:#8fa6c9;font-size:26px;font-style:italic;letter-spacing:2px;}
.pk-map .pk-lbl{fill:rgba(255,255,255,.2);font-size:54px;font-weight:700;letter-spacing:10px;}
.pk-map .route{fill:none;stroke:rgba(255,255,255,.8);stroke-width:2.4;stroke-dasharray:7 9;stroke-linecap:round;animation:pkDash 2.4s linear infinite;}
@keyframes pkDash{to{stroke-dashoffset:-32;}}
.pk-map .pin{cursor:pointer;}
.pk-map .pin .dot{fill:#ff6a00;stroke:#fff;stroke-width:4;transition:transform .25s;transform-box:fill-box;transform-origin:center;}
.pk-map .pin.reg .dot{fill:#ff6a00;}
.pk-map .pin .core{fill:#fff;}
.pk-map .pin .pulse{fill:#ff6a00;opacity:.45;transform-box:fill-box;transform-origin:center;animation:pkPulse 2.6s ease-out infinite;}
.pk-map .pin.reg .pulse{animation-delay:.8s;}
@keyframes pkPulse{0%{transform:scale(1);opacity:.5;}100%{transform:scale(3);opacity:0;}}
.pk-map .pin.active .dot{transform:scale(1.3);}
.pk-map .lbl rect{fill:#fff;stroke:rgba(10,30,61,.14);stroke-width:1.2;filter:drop-shadow(0 4px 8px rgba(10,30,61,.22));}
.pk-map .lbl text{fill:#0a1e3d;font-weight:700;}
.pk-map .pin.active .lbl rect{fill:#0a1e3d;}
.pk-map .pin.active .lbl text{fill:#fff;}

.loc-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px;padding:16px 8px 4px;font-size:.78rem;font-weight:600;color:#0a1e3d;}
.loc-legend span{display:inline-flex;align-items:center;gap:8px;}
.loc-legend i{width:12px;height:12px;border-radius:50%;display:inline-block;background:#ff6a00;border:2px solid #fff;box-shadow:0 0 0 1.5px #ff6a00;}
.loc-legend i.hq{width:15px;height:15px;}

/* office cards */
.loc-cards{max-width:1240px;margin:26px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.loc-card{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1.5px solid #e1eaf8;border-radius:18px;padding:22px;box-shadow:0 4px 18px rgba(10,30,61,.06);transition:all .3s;cursor:pointer;}
.loc-card.active,.loc-card:hover{border-color:#ff6a00;box-shadow:0 14px 34px rgba(255,106,0,.16);transform:translateY(-4px);}
.loc-num{flex-shrink:0;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.05rem;background:#fff;color:#ff6a00;border:2.5px solid #ff6a00;}
.loc-card.hq .loc-num{background:#ff6a00;color:#fff;border-color:#ff6a00;}
.loc-role{display:block;font-size:.66rem;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#2979ff;margin-bottom:4px;}
.loc-card h3{font-size:1.3rem;color:#0a1e3d;margin-bottom:6px;line-height:1.2;}
.loc-card p{font-size:.94rem;line-height:1.6;color:#555;margin:0;}

/* nationwide banner */
.loc-reach{max-width:1240px;margin:52px auto 0;background:linear-gradient(135deg,#0a1e3d 0%,#1a3a6b 100%);border-radius:24px;padding:38px 46px;display:flex;align-items:center;gap:30px;box-shadow:0 20px 50px rgba(10,30,61,.25);}
.loc-reach-ico{flex-shrink:0;width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;}
.loc-reach-ico svg{width:38px;height:38px;}
.loc-reach-txt{flex:1;min-width:0;}
.loc-reach h3{font-size:clamp(1.4rem,2.6vw,2rem);color:#fff;margin-bottom:8px;}
.loc-reach p{font-size:1.0125rem;line-height:1.7;color:rgba(255,255,255,.78);margin:0;max-width:640px;}
.loc-reach .loc-btn{flex-shrink:0;background:#fff;color:#0a1e3d;font-weight:700;font-size:.9rem;padding:14px 28px;border-radius:40px;white-space:nowrap;transition:all .3s;text-decoration:none;}
.loc-reach .loc-btn:hover{background:#2979ff;color:#fff;transform:translateY(-2px);}

@media (max-width:1000px){
  .loc-map-grid{grid-template-columns:1fr;gap:22px;}
  .loc-inset{max-width:560px;width:100%;margin:0 auto;}
  .loc-cards{grid-template-columns:1fr;max-width:640px;}
}
@media (max-width:768px){
  .loc-section{padding:56px 5vw;}
  .loc-head{margin-bottom:30px;}
  .loc-map-card{padding:14px 12px 10px;border-radius:20px;}
  .loc-card{padding:18px;gap:14px;}
  .loc-card:hover,.loc-card.active{transform:none;}
  .world-ov .w-lbl{display:none;}
  .loc-reach{flex-direction:column;text-align:center;padding:30px 22px;gap:18px;margin-top:36px;}
  .loc-reach p{margin:0 auto;}
  .loc-reach .loc-btn{width:100%;text-align:center;}
}
@media (prefers-reduced-motion:reduce){.pk-map .route,.pk-map .pin .pulse,.world-ov .w-ring{animation:none;}}
