:root{
    --blue:#1B5FAA;
    --blue-dark:#0E3F78;
    --yellow:#FFE800;
    --green:#6BBD45;
    --navy:#0A1E3D;
    --ink:#1A1D26;
    --grey:#6B7280;
    --line:#E5E9F0;
    --bg:#FFFFFF;
    --bg-soft:#F6F9FC;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',sans-serif;
    color:var(--ink);
    background:var(--bg);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4,.cp-display{font-family:'Poppins',sans-serif;}
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  .cp-wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
  section{padding:88px 0;}
  @media (max-width:768px){section{padding:56px 0;}}

  /* ===== NAV (matches site header) ===== */
  header.cp-site-nav{
    position:sticky; top:0; z-index:50;
    background:#fff; border-bottom:1px solid var(--line);
  }
  .cp-nav-inner{
    max-width:1180px; margin:0 auto; padding:14px 24px;
    display:flex; align-items:center; justify-content:space-between;
  }
  .cp-nav-logo{display:flex; align-items:center; gap:10px; font-weight:700; font-size:18px; color:var(--navy);}
  .cp-nav-logo img{height:36px;}
  .cp-nav-links{display:flex; gap:28px; align-items:center; font-weight:500; font-size:15px; color:var(--ink);}
  .cp-nav-links a:hover{color:var(--blue);}
  .cp-nav-links .cp-active{color:var(--blue); font-weight:700;}
  .cp-nav-cta{
    background:var(--blue); color:#fff; padding:10px 20px; border-radius:6px;
    font-weight:600; font-size:14px;
  }
  .cp-nav-mobile-toggle{display:none;}
  @media (max-width:900px){
    .cp-nav-links{display:none;}
    .cp-nav-cta{padding:8px 14px; font-size:13px;}
  }

  /* ===== HERO ===== */
  .cp-hero{
    background:linear-gradient(135deg, var(--navy) 0%, var(--blue-dark) 55%, var(--blue) 100%);
    color:#fff; padding:96px 0 100px; position:relative; overflow:hidden;
  }
  .cp-hero::after{
    content:""; position:absolute; right:-10%; top:-20%; width:600px; height:600px;
    background:radial-gradient(circle, rgba(255,232,0,0.10) 0%, transparent 70%);
    border-radius:50%;
  }
  .cp-hero-inner{position:relative; z-index:2; max-width:760px;}
  .cp-eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(255,232,0,0.14); color:var(--yellow);
    padding:7px 16px; border-radius:100px; font-size:13px; font-weight:600;
    letter-spacing:.04em; text-transform:uppercase; margin-bottom:22px;
  }
  .cp-eyebrow::before{content:"●"; font-size:8px;}
  .cp-hero h1{
    font-size:clamp(34px,5vw,54px); font-weight:800; line-height:1.12;
    margin-bottom:20px;
  }
  .cp-hero h1 span{color:var(--yellow);}
  .cp-hero p{font-size:19px; color:#D9E4F2; max-width:600px; margin-bottom:34px;}
  .cp-hero-actions{display:flex; gap:14px; flex-wrap:wrap;}
  .cp-btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:14px 26px; border-radius:7px; font-weight:600; font-size:15px;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .cp-btn-primary{background:var(--yellow); color:var(--navy);}
  .cp-btn-primary:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(255,232,0,0.25);}
  .cp-btn-outline{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,0.4);}
  .cp-btn-outline:hover{border-color:#fff; transform:translateY(-2px);}

  /* ===== STATS STRIP ===== */
  .cp-stats-strip{
    background:var(--bg-soft); border-bottom:1px solid var(--line);
  }
  .cp-stats-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:0;
    padding:40px 0;
  }
  .cp-stat-item{text-align:center; padding:0 12px; position:relative;}
  .cp-stat-item:not(:last-child)::after{
    content:""; position:absolute; right:0; top:8px; bottom:8px; width:1px; background:var(--line);
  }
  .cp-stat-num{font-family:'Poppins',sans-serif; font-size:36px; font-weight:800; color:var(--blue-dark); font-variant-numeric:tabular-nums;}
  .cp-stat-label{font-size:13px; color:var(--grey); margin-top:4px; font-weight:500;}
  @media (max-width:768px){
    .cp-stats-grid{grid-template-columns:repeat(2,1fr); gap:28px 0;}
    .cp-stat-item:nth-child(2)::after{display:none;}
  }

  /* ===== SECTION HEADER PATTERN ===== */
  .cp-sec-head{max-width:640px; margin-bottom:52px;}
  .cp-sec-tag{
    display:inline-block; color:var(--blue); font-weight:700; font-size:13px;
    letter-spacing:.08em; text-transform:uppercase; margin-bottom:12px;
  }
  .cp-sec-head h2{font-size:clamp(26px,3.4vw,38px); font-weight:800; color:var(--navy); line-height:1.2;}
  .cp-sec-head p{font-size:16px; color:var(--grey); margin-top:14px;}
  .cp-sec-head.cp-center{margin-left:auto; margin-right:auto; text-align:center;}

  /* ===== OVERVIEW ===== */
  .cp-overview{background:#fff;}
  .cp-overview-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:64px; align-items:start;}
  .cp-overview-text p{font-size:16.5px; color:#3C4250; margin-bottom:18px;}
  .cp-mission-card{
    background:var(--bg-soft); border-left:4px solid var(--yellow);
    border-radius:10px; padding:30px 32px; margin-top:8px;
  }
  .cp-mission-card .cp-label{font-weight:700; color:var(--blue-dark); font-size:13px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px;}
  .cp-mission-card p{font-size:16px; font-style:italic; color:var(--navy); margin:0;}
  .cp-founded-card{
    background:var(--navy); color:#fff; border-radius:14px; padding:36px;
  }
  .cp-founded-card .cp-yr{font-family:'Poppins',sans-serif; font-size:52px; font-weight:800; color:var(--yellow); line-height:1;}
  .cp-founded-card .cp-yr-label{font-size:14px; color:#B9C6DC; margin-top:6px; margin-bottom:26px;}
  .cp-founded-list{list-style:none;}
  .cp-founded-list li{
    display:flex; gap:12px; padding:12px 0; border-top:1px solid rgba(255,255,255,0.1); font-size:14.5px; color:#DCE5F2;
  }
  .cp-founded-list li:first-child{border-top:none;}
  .cp-founded-list b{color:#fff; font-weight:700;}
  @media (max-width:860px){.cp-overview-grid{grid-template-columns:1fr; gap:36px;}}

  /* ===== WHAT WE DO ===== */
  .cp-services{background:var(--bg-soft);}
  .cp-service-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
  .cp-service-card{
    background:#fff; border-radius:12px; padding:30px 26px; border:1px solid var(--line);
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .cp-service-card:hover{transform:translateY(-4px); box-shadow:0 16px 32px rgba(10,30,61,0.08);}
  .cp-service-num{
    width:42px; height:42px; border-radius:9px; background:var(--blue); color:#fff;
    display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; margin-bottom:18px;
  }
  .cp-service-card h3{font-size:17px; font-weight:700; color:var(--navy); margin-bottom:8px;}
  .cp-service-card p{font-size:14.5px; color:var(--grey);}
  @media (max-width:860px){.cp-service-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:520px){.cp-service-grid{grid-template-columns:1fr;}}

  /* ===== PROJECTS ===== */
  .cp-projects{background:#fff;}

  /* --- Network Map --- */
  .cp-map-wrap{
    position:relative; background:linear-gradient(160deg,#0A1E3D 0%, #123059 55%, #0E3F78 100%);
    border-radius:20px; padding:22px; margin-bottom:56px; overflow:hidden;
  }
  .cp-map-wrap::before{
    content:""; position:absolute; inset:0;
    background-image:radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size:26px 26px; pointer-events:none;
  }
  .cp-map-caption{
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
    padding:6px 10px 18px; position:relative; z-index:2;
  }
  .cp-map-caption h3{color:#fff; font-size:16px; font-weight:700;}
  .cp-map-caption span{color:#9FB4D8; font-size:13px;}
  .cp-map-body{display:grid; grid-template-columns:340px 1fr; gap:28px; position:relative; z-index:2;}
  .cp-map-svg-holder{position:relative; max-width:340px; margin:0 auto;}
  .cp-map-svg-holder svg{width:100%; height:auto; display:block;}
  .cp-map-side{display:flex; flex-direction:column; justify-content:center; gap:14px;}
  .cp-map-side-stat{
    background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.09);
    border-radius:10px; padding:16px 18px;
  }
  .cp-map-side-stat .cp-n{font-family:'Poppins',sans-serif; font-size:24px; font-weight:800; color:var(--yellow);}
  .cp-map-side-stat .cp-l{font-size:12.5px; color:#B9C6DC; margin-top:2px;}
  @media (max-width:760px){
    .cp-map-body{grid-template-columns:1fr;}
    .cp-map-svg-holder{max-width:280px;}
  }
  .cp-region-label{
    font-family:'Poppins',sans-serif; font-size:15px; font-weight:700; fill:rgba(255,255,255,0.6);
    letter-spacing:.06em; pointer-events:none;
  }
  .cp-region-shape{fill:rgba(255,255,255,0.05); stroke:rgba(255,255,255,0.22); stroke-width:1.6; stroke-linejoin:round;}
  .cp-region-shape.cp-punjab{fill:rgba(255,232,0,0.045);}
  .cp-region-shape.cp-sindh{fill:rgba(107,189,69,0.06);}
  .cp-hub-line{stroke:rgba(255,232,0,0.4); stroke-width:1.3; stroke-dasharray:3 4;}
  .cp-map-scale-note{font-family:'Inter',sans-serif; font-size:9.5px; fill:rgba(255,255,255,0.32); font-style:italic;}
  .cp-map-attribution{font-family:'Inter',sans-serif; font-size:9px; fill:rgba(255,255,255,0.25);}
  .cp-hub-line{stroke:rgba(255,232,0,0.35); stroke-width:1.4; stroke-dasharray:4 4;}
  .cp-map-pin{cursor:pointer;}
  .cp-map-pin circle.cp-pulse{
    fill:none; stroke:var(--yellow); stroke-width:1.6; opacity:0; r:5;
    transform-origin:center; transform-box:fill-box;
    animation:pinPulse 2.6s ease-out infinite;
  }
  .cp-map-pin circle.cp-dot{fill:var(--yellow);}
  .cp-map-pin circle.cp-dot-inner{fill:var(--navy);}
  .cp-map-pin:nth-child(2) circle.cp-pulse{animation-delay:.3s;}
  .cp-map-pin:nth-child(3) circle.cp-pulse{animation-delay:.6s;}
  .cp-map-pin:nth-child(4) circle.cp-pulse{animation-delay:.9s;}
  .cp-map-pin:nth-child(5) circle.cp-pulse{animation-delay:1.2s;}
  .cp-map-pin:nth-child(6) circle.cp-pulse{animation-delay:1.5s;}
  @keyframes pinPulse{
    0%{ transform:scale(1); opacity:.9; }
    100%{ transform:scale(4.2); opacity:0; }
  }
  .cp-pin-tooltip{
    position:absolute; background:#fff; border-radius:10px; padding:12px 16px;
    box-shadow:0 18px 40px rgba(0,0,0,0.35); pointer-events:none; opacity:0; transform:translate(-50%,-100%) translateY(-10px);
    transition:opacity .15s ease, transform .15s ease; z-index:10; min-width:180px;
  }
  .cp-pin-tooltip.cp-show{opacity:1; transform:translate(-50%,-100%) translateY(-16px);}
  .cp-pin-tooltip .cp-t-city{font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--blue); font-weight:700; margin-bottom:4px;}
  .cp-pin-tooltip .cp-t-name{font-size:14px; font-weight:700; color:var(--navy); margin-bottom:2px;}
  .cp-pin-tooltip .cp-t-cap{font-size:13px; color:var(--green); font-weight:700;}
  .cp-pin-tooltip::after{
    content:""; position:absolute; bottom:-6px; left:50%; transform:translateX(-50%);
    width:12px; height:12px; background:#fff; rotate:45deg;
  }
  .cp-map-legend{
    display:flex; gap:20px; flex-wrap:wrap; padding:16px 14px 4px; position:relative; z-index:2;
  }
  .cp-map-legend-item{display:flex; align-items:center; gap:7px; font-size:12.5px; color:#B9C6DC;}
  .cp-map-legend-dot{width:8px; height:8px; border-radius:50%; background:var(--yellow);}
  @media (max-width:640px){
    .cp-map-caption{flex-direction:column; align-items:flex-start;}
  }

  .cp-proj-table-wrap{border:1px solid var(--line); border-radius:14px; overflow:hidden;}
  table.cp-proj{width:100%; border-collapse:collapse;}
  table.cp-proj thead th{
    background:var(--navy); color:#fff; text-align:left; font-size:12.5px;
    text-transform:uppercase; letter-spacing:.05em; padding:16px 22px; font-weight:600;
  }
  table.cp-proj thead th.cp-num{text-align:right;}
  table.cp-proj tbody td{padding:17px 22px; font-size:15px; border-top:1px solid var(--line); color:var(--ink);}
  table.cp-proj tbody tr:nth-child(even){background:var(--bg-soft);}
  table.cp-proj td.cp-pname{font-weight:600; color:var(--navy);}
  table.cp-proj td.cp-ploc{color:var(--grey);}
  table.cp-proj td.cp-pcap{text-align:right; font-weight:700; color:var(--blue-dark); white-space:nowrap;}
  tr.cp-proj-total-row td{background:var(--navy) !important; color:#fff !important; font-weight:800; border-top:2px solid var(--yellow);}
  .cp-proj-total-row{position:relative;}
  tr.cp-proj-total-row td.cp-pcap{
    font-size:20px !important;
    color:var(--yellow) !important;
    animation:capColor 3.6s ease-in-out infinite, capPulse 2.2s ease-in-out infinite;
    text-shadow:0 0 12px rgba(255,232,0,0.65);
    display:inline-block;
  }
  @keyframes capColor{
    0%,100%{color:var(--yellow) !important; text-shadow:0 0 12px rgba(255,232,0,0.65);}
    33%{color:#7FE8FF !important; text-shadow:0 0 12px rgba(127,232,255,0.65);}
    66%{color:var(--green) !important; text-shadow:0 0 12px rgba(107,189,69,0.65);}
  }
  @keyframes capPulse{
    0%,100%{transform:scale(1);}
    50%{transform:scale(1.08);}
  }
  @media (prefers-reduced-motion: reduce){
    tr.cp-proj-total-row td.cp-pcap{animation:none; color:var(--yellow) !important;}
  }
  @media (max-width:640px){
    table.cp-proj thead{display:none;}
    table.cp-proj, table.cp-proj tbody, table.cp-proj tr, table.cp-proj td{display:block; width:100%;}
    table.cp-proj tbody tr{border-top:1px solid var(--line); padding:14px 18px;}
    table.cp-proj tbody td{border:none; padding:3px 0;}
    table.cp-proj td.cp-pcap{text-align:left;}
    .cp-proj-total-row{border-radius:0 0 12px 12px;}
  }

  /* ===== WHY CHOOSE ===== */
  .cp-why{background:var(--navy); color:#fff;}
  .cp-why .cp-sec-tag{color:var(--yellow);}
  .cp-why .cp-sec-head h2{color:#fff;}
  .cp-why .cp-sec-head p{color:#B9C6DC;}
  .cp-why-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
  .cp-why-card{
    background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.09);
    border-radius:12px; padding:26px 28px;
  }
  .cp-why-card h3{font-size:16.5px; font-weight:700; margin-bottom:8px; color:#fff; display:flex; align-items:center; gap:10px;}
  .cp-why-card h3::before{content:"✓"; width:24px; height:24px; background:var(--green); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0;}
  .cp-why-card p{font-size:14.5px; color:#C3CFE2;}
  @media (max-width:700px){.cp-why-grid{grid-template-columns:1fr;}}

  /* ===== LEADERSHIP ===== */
  .cp-leader{background:var(--bg-soft);}
  .cp-leader-grid{display:grid; grid-template-columns:280px 1fr; gap:52px; align-items:center;}
  .cp-leader-photo{
    width:100%; aspect-ratio:1/1.05; border-radius:16px; overflow:hidden;
    box-shadow:0 24px 48px rgba(10,30,61,0.18); border:6px solid #fff;
  }
  .cp-leader-photo img{width:100%; height:100%; object-fit:cover;}
  .cp-leader-quote{position:relative; padding-left:28px; border-left:4px solid var(--yellow);}
  .cp-leader-quote p{font-size:18px; color:var(--navy); font-style:italic; line-height:1.65; margin-bottom:22px;}
  .cp-leader-name{font-weight:800; font-size:17px; color:var(--navy);}
  .cp-leader-role{font-size:14px; color:var(--blue); font-weight:600; margin-top:2px;}
  @media (max-width:760px){.cp-leader-grid{grid-template-columns:1fr; text-align:left;} .cp-leader-photo{max-width:220px;}}

  /* ===== TESTIMONIALS ===== */
  .cp-testi{background:#fff;}
  .cp-testi-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .cp-testi-card{
    background:var(--bg-soft); border-radius:12px; padding:26px 24px; border:1px solid var(--line);
  }
  .cp-testi-stars{color:var(--yellow); font-size:14px; margin-bottom:14px; letter-spacing:2px;}
  .cp-testi-card p{font-size:14.5px; color:#3C4250; margin-bottom:18px; min-height:84px;}
  .cp-testi-who b{display:block; font-size:14px; color:var(--navy);}
  .cp-testi-who span{font-size:12.5px; color:var(--grey);}
  @media (max-width:900px){.cp-testi-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:560px){.cp-testi-grid{grid-template-columns:1fr;}}

  /* ===== NETWORK STRIP ===== */
  .cp-network{background:var(--bg-soft); text-align:center;}
  .cp-network p.cp-lead{font-size:16px; color:var(--grey); max-width:640px; margin:0 auto 30px;}
  .cp-network-logos{display:flex; justify-content:center; gap:16px; flex-wrap:wrap;}
  .cp-network-chip{
    background:#fff; border:1px solid var(--line); padding:12px 24px; border-radius:100px;
    font-weight:600; font-size:14.5px; color:var(--navy);
  }

  /* ===== CTA ===== */
  .cp-cta{
    background:linear-gradient(120deg, var(--blue-dark), var(--blue));
    color:#fff; text-align:center; padding:80px 0;
  }
  .cp-cta h2{font-size:clamp(24px,3.4vw,36px); font-weight:800; margin-bottom:14px;}
  .cp-cta p{color:#D9E4F2; font-size:16.5px; margin-bottom:32px;}
  .cp-cta .cp-btn-outline{border-color:rgba(255,255,255,0.5);}

  /* ===== FOOTER (matches site footer) ===== */
  footer.cp-site-footer{background:var(--navy); color:#B9C6DC; padding:56px 0 26px; font-size:14px;}
  .cp-footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:36px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,0.08);}
  .cp-footer-grid h4{color:#fff; font-size:14px; margin-bottom:16px; font-weight:700;}
  .cp-footer-grid ul{list-style:none;}
  .cp-footer-grid li{margin-bottom:9px;}
  .cp-footer-grid a:hover{color:var(--yellow);}
  .cp-footer-bottom{display:flex; justify-content:space-between; padding-top:22px; flex-wrap:wrap; gap:10px; font-size:13px;}
  @media (max-width:800px){.cp-footer-grid{grid-template-columns:1fr 1fr; gap:28px;}}

  /* Print-friendly for "download as PDF" pathway */
  @media print{
    header.cp-site-nav, .cp-hero-actions, .cp-cta, footer.cp-site-footer{display:none;}
    section{padding:24px 0;}
  }