/* Clients page - layout recreated from the supplied client design. */
.client-page,
.client-page button,
.client-page input,
.client-page select,
.client-page textarea { font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.client-page { color:#09213c; background:#fff; overflow:hidden; }
.client-page .fade-up { opacity:1; transform:none; transition:none; }
.clients-shell { width:min(1500px,calc(100% - 144px)); margin:0 auto; }

/* Hero */
.clients-hero { min-height:570px; padding:112px 0 42px; display:flex; align-items:center; position:relative; overflow:hidden; isolation:isolate; background:radial-gradient(circle at 80% 42%,rgba(0,187,211,.16),transparent 35%),linear-gradient(120deg,#003445 0%,#00475a 58%,#00677d 100%); }
.clients-hero::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(0,38,51,.97) 0%,rgba(0,38,51,.82) 42%,rgba(0,38,51,.32) 72%,rgba(0,38,51,.16) 100%); pointer-events:none; }
.clients-hero::after { content:""; position:absolute; inset:0; opacity:.16; pointer-events:none; background-image:radial-gradient(circle,rgba(84,225,232,.65) 1px,transparent 1.5px); background-size:22px 22px; mask-image:linear-gradient(90deg,transparent 42%,#000 64%,transparent 100%); }
.clients-hero-grid { display:block; position:static; z-index:auto; }
.clients-hero-copy { position:relative; z-index:2; }
.clients-hero-copy h1 { max-width:650px; margin:0; color:#fff; font-size:52px; font-weight:800; line-height:1.08; letter-spacing:-2px; }
.clients-hero-copy h1 span { color:#f58220; }
.clients-hero-copy p { max-width:545px; margin:58px 0 0; color:rgba(255,255,255,.84); font-size:17px; line-height:1.75; }
.clients-hero-art { position:absolute; z-index:0; inset:0 -2% 0 auto; width:76%; height:100%; padding:12px 0; box-sizing:border-box; display:flex; align-items:center; justify-content:center; min-width:0; opacity:.33; }
.clients-world-dots { position:absolute; width:88%; height:74%; top:2%; left:5%; border-radius:50%; opacity:.28; background-image:radial-gradient(circle,#3ee0e5 1.4px,transparent 1.6px); background-size:12px 12px; mask-image:radial-gradient(ellipse,#000 20%,rgba(0,0,0,.7) 48%,transparent 72%); }
.clients-hero-art img { display:block; width:min(100%,660px); max-height:100%; object-fit:contain; position:relative; z-index:1; filter:drop-shadow(0 20px 28px rgba(0,20,27,.24)); }

/* Metric strip */
.client-page .stats-band { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0; background:#d8f2f5; border:0; }
.client-page .stat-item { min-width:0; padding:23px 18px 20px; text-align:center; border-right:1px solid rgba(4,67,79,.10); }
.client-page .stat-item:last-child { border-right:0; }
.client-page .stat-num { min-height:38px; display:flex; align-items:flex-end; justify-content:center; color:#083247; font-size:38px; font-weight:800; line-height:1; letter-spacing:-1.5px; }
.client-page .stat-label { margin-top:6px; color:#607581; font-size:13px; font-weight:500; line-height:1.4; text-transform:none; letter-spacing:0; }

/* Shared section headings */
.client-page section { box-sizing:border-box; }
.client-page .section-header { margin:0 0 34px; }
.client-page .section-eyebrow { margin-bottom:13px; font-size:11px; font-weight:800; letter-spacing:1.8px; text-transform:uppercase; }
.client-page .section-eyebrow::after { content:""; display:block; width:28px; height:2px; margin-top:8px; background:#f58220; }
.client-page .eyebrow-amber { color:#f58220; }
.client-page .section-header h2 { max-width:680px; margin:0 0 12px; color:#071d35; font-size:34px; font-weight:800; line-height:1.15; letter-spacing:-1px; }
.client-page .section-header .section-sub { max-width:580px; margin:0; color:#435565; font-size:16px; line-height:1.7; }
.client-page .clients-reach .section-header h2 { max-width:680px; margin-bottom:12px; font-size:34px; line-height:1.15; letter-spacing:-1px; }
.client-page .clients-reach .section-header .section-sub { max-width:580px; font-size:16px; line-height:1.7; }

/* Reach */
.client-page .clients-reach { padding:82px 0 64px; background:#faf7f3; }
.client-page .clients-reach .clients-shell { position:relative; z-index:1; }
.clients-reach-grid { display:grid; grid-template-columns:minmax(360px,.78fr) minmax(520px,1.22fr); gap:60px; align-items:center; }
.clients-map { height:390px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; background-image:url('clients-reach-map.png'); background-repeat:no-repeat; background-position:66% 52%; background-size:125% auto; }
.client-page .geo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:22px 0 0; }
.client-page .geo-card { min-width:0; padding:8px 24px; display:grid; grid-template-columns:52px minmax(0,1fr); grid-template-rows:auto auto; column-gap:14px; text-align:left; border:0; border-right:1px solid #e6ecec; border-radius:0; background:transparent; }
.client-page .geo-card:last-child { border-right:0; }
.client-page .geo-flag { grid-row:1 / 3; width:48px; height:48px; margin:0; display:grid; place-items:center; overflow:hidden; border:2px solid #fff; border-radius:50%; background:#fff; box-shadow:0 3px 10px rgba(7,55,67,.16); }
.client-page .geo-flag img { width:100%; height:100%; display:block; object-fit:cover; }
.client-page .geo-flag.geo-globe img { width:72%; height:72%; object-fit:contain; }
.client-page .geo-country { align-self:end; color:#122236; font-size:14px; font-weight:800; }
.client-page .geo-count { align-self:start; color:#596875; font-size:13px; line-height:1.4; }

/* Institution directory */
.client-page #clientlist { padding:76px 72px 68px; background:#fff; border-top:1px solid #edf0f1; }
.client-page #clientlist > * { width:min(1500px,100%); margin-left:auto; margin-right:auto; }
.client-page #clientlist .section-header { margin-bottom:24px; }
.client-page #clientlist .section-header h2 { font-size:34px; }
.client-page .client-section { display:grid; grid-template-columns:235px minmax(0,1fr); gap:14px; margin:0 0 13px; padding:14px; border:1px solid #dfe8e9; border-left:3px solid #f58220; border-radius:10px; background:#fff; box-shadow:0 4px 14px rgba(5,46,60,.035); }
.client-page .client-section:nth-child(2) { border-left-color:#22becb; }
.client-page .client-section:nth-child(3) { border-left-color:#19aebd; }
.client-page .client-section:nth-child(4) { border-left-color:#f58220; }
.client-page .client-section-title { margin:0; padding:4px 6px; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:10px; border:0; color:#17283a; font-size:13px; font-weight:800; letter-spacing:0; line-height:1.35; text-transform:uppercase; }
.client-page .client-section-title > img { width:42px; height:42px; flex:0 0 42px; object-fit:contain; }
.client-page .client-section-title-copy { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
.client-page .client-section-title span { padding:0; color:#687783; background:transparent; font-size:9px; font-weight:700; }
.client-page .client-name-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; align-items:center; }
.client-page .client-name-card { min-width:0; min-height:38px; padding:7px 8px; display:flex; align-items:center; justify-content:center; text-align:center; color:#293847; background:#fff; border:1px solid #e5ebec; border-radius:6px; box-shadow:0 2px 7px rgba(5,46,60,.04); font-size:13px; font-weight:600; line-height:1.4; }
.client-page .client-name-card:hover { color:#0b8490; border-color:#22becb; background:#f7ffff; }

/* Client stories */
.client-page #cases { padding:70px 72px 78px; background:#f5f9fb; }
.client-page #cases > * { width:min(1500px,100%); margin-left:auto; margin-right:auto; }
.client-page #cases .section-header { margin-bottom:30px; }
.client-page .case-grid { gap:24px; }
.client-page .case-card { min-height:290px; padding:27px 28px 24px; display:flex; flex-direction:column; border:1px solid #dbe6e9; border-radius:12px; box-shadow:0 7px 18px rgba(3,46,58,.07); }
.client-page .case-card::before { height:5px; }
.client-page .case-blue::before { background:linear-gradient(90deg,#007ea3,#18c3c8); }
.client-page .case-amber::before { background:linear-gradient(90deg,#f58220,#ff9b18); }
.client-page .case-green::before { background:linear-gradient(90deg,#0b8f8c,#28be8e); }
.client-page .case-purple::before { background:linear-gradient(90deg,#0f8791,#18b8a7); }
.client-page .case-org { color:#f58220; font-size:9px; font-weight:800; letter-spacing:1.1px; }
.client-page .case-icon { position:absolute; top:24px; left:28px; width:34px; height:34px; object-fit:contain; }
.client-page .case-card > .case-org,
.client-page .case-card > h3 { margin-left:58px; }
.client-page .case-card h3 { color:#13283d; font-size:16px; line-height:1.32; }
.client-page .case-card p { color:#4c5e6c; font-size:13.5px; line-height:1.65; }
.client-page .case-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:auto; padding-top:6px; border-top:1px solid #edf1f2; }
.client-page .case-metric { min-width:0; padding:10px 2px 0; position:relative; display:flex; align-items:center; gap:7px; }
.client-page .case-metric > img { width:27px; height:27px; flex:0 0 27px; object-fit:contain; }
.client-page .case-metric .m-num { color:#173348; font-size:14px; line-height:1.15; letter-spacing:0; }
.client-page .case-metric .m-label { color:#6c7b86; font-size:9px; line-height:1.3; }

/* Testimonials */
.client-page .testimonial-section { padding:64px 72px 72px; background:linear-gradient(135deg,#003c48,#004e58 58%,#003d49); }
.client-page .testimonial-section > * { width:min(1500px,100%); margin-left:auto; margin-right:auto; }
.client-page .testimonial-section .section-header { margin-bottom:25px; }
.client-page .testimonial-section .section-header h2 { font-size:34px !important; }
.client-page .testimonials-grid { gap:14px; }
.client-page .testimonial-card { min-height:280px; padding:24px; display:flex; flex-direction:column; border:1px solid rgba(46,209,214,.25); border-radius:8px; background:rgba(1,53,62,.33); }
.client-page .quote-icon { color:#f58220; font-size:45px; line-height:.7; }
.client-page .testimonial-card p { flex:1; margin:10px 0 22px; color:rgba(255,255,255,.82); font-size:13.5px; line-height:1.65; }
.client-page .testimonial-avatar { width:34px; height:34px; border:1px solid #1dd0d4; background:rgba(10,194,199,.18) !important; }
.client-page .testimonial-name { color:#fff; font-size:13px; }
.client-page .testimonial-role { color:rgba(255,255,255,.56); font-size:11px; }

/* Closing CTA */
.client-page .clients-cta { padding:58px 0 0; text-align:left; background:radial-gradient(circle at 25% 40%,rgba(10,180,190,.11),transparent 35%),#eefafb; }
.clients-cta-grid { min-height:430px; display:grid; grid-template-columns:1.08fr .92fr; gap:54px; align-items:center; }
.clients-cta-art { height:430px; display:flex; align-items:flex-end; justify-content:center; overflow:hidden; position:relative; }
.clients-cta-art::before { display:none; }
.clients-cta-art img { width:112%; max-width:none; max-height:420px; object-fit:contain; object-position:center bottom; position:relative; z-index:1; transform:translateY(8%); }
.clients-cta-copy { padding:30px 0 54px; }
.client-page .clients-cta h2 { margin:0 0 25px; color:#06243a; font-size:38px; line-height:1.12; letter-spacing:-1.2px; }
.client-page .clients-cta h2::after { content:""; display:block; width:52px; height:2px; margin-top:20px; background:#0f939d; }
.client-page .clients-cta p { max-width:560px; margin:0 0 27px; color:#405464; font-size:16px; line-height:1.75; }
.client-page .clients-cta .cta-btns { justify-content:flex-start; gap:14px; }
.client-page .btn-primary-lg,
.client-page .btn-secondary-lg { min-height:48px; padding:0 24px; display:inline-flex; align-items:center; justify-content:center; border-radius:6px; font-size:13px; font-weight:700; }
.client-page .btn-primary-lg { color:#fff; background:#f58220; border:1px solid #f58220; }
.client-page .btn-secondary-lg { color:#092b3e; background:rgba(255,255,255,.45); border:1px solid #0c7880; }

@media(min-width:761px) {
  .clients-hero-art {
    inset:80px 4% auto auto;
    width:68%;
    height:calc(100% - 130px);
    padding:0;
    align-items:center;
    justify-content:flex-end;
    opacity:1;
  }
  .clients-hero-art img {
    width:auto;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-position:right center;
  }
}

@media(max-width:1100px) {
  .clients-shell { width:min(1500px,calc(100% - 48px)); }
  .clients-hero-grid { grid-template-columns:1fr 1fr; gap:20px; }
  .clients-hero-copy h1 { font-size:52px; }
  .clients-reach-grid { grid-template-columns:1fr 1fr; gap:20px; }
  .client-page .client-name-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .client-page #clientlist,
  .client-page #cases,
  .client-page .testimonial-section { padding-left:24px; padding-right:24px; }
}

@media(max-width:760px) {
  .clients-shell { width:min(1500px,calc(100% - 40px)); }
  .clients-hero { min-height:460px; padding:104px 0 64px; }
  .clients-hero-grid { text-align:left; }
  .clients-hero-copy h1 { margin:0; font-size:34px; letter-spacing:-1px; }
  .clients-hero-copy p { margin:24px 0 0; font-size:16px; }
  .clients-hero-art { inset:0 -20% 0 auto; width:125%; height:100%; padding:10px 0; opacity:.21; }
  .clients-hero-art img { max-height:100%; }
  .client-page .stats-band { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .client-page .stat-item:nth-child(2) { border-right:0; }
  .client-page .stat-item:nth-child(-n+2) { border-bottom:1px solid rgba(4,67,79,.10); }
  .clients-reach-grid { grid-template-columns:1fr; }
  .client-page .section-header h2,
  .client-page #clientlist .section-header h2 { font-size:26px; letter-spacing:-.6px; }
  .client-page .testimonial-section .section-header h2 { font-size:26px !important; }
  .client-page .clients-reach .section-header h2 { font-size:26px; letter-spacing:-.6px; }
  .clients-map { height:280px; background-position:right center; background-size:150% auto; }
  .client-page .geo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 0; }
  .client-page .geo-card:nth-child(2) { border-right:0; }
  .client-page .client-section { grid-template-columns:1fr; }
  .client-page .client-section-title { flex-direction:row; align-items:center; justify-content:flex-start; }
  .client-page .client-name-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .client-page .case-grid { grid-template-columns:1fr; }
  .client-page .testimonials-grid { grid-template-columns:1fr; }
  .clients-cta-grid { grid-template-columns:1fr; gap:0; }
  .clients-cta-art { height:300px; }
  .clients-cta-copy { text-align:center; padding-top:15px; }
  .client-page .clients-cta h2 { font-size:28px; letter-spacing:-.8px; }
  .client-page .clients-cta h2::after { margin-left:auto; margin-right:auto; }
  .client-page .clients-cta p { margin-left:auto; margin-right:auto; }
  .client-page .clients-cta .cta-btns { justify-content:center; }
}

@media(max-width:480px) {
  .clients-shell { width:min(1500px,calc(100% - 32px)); }
  .clients-hero-copy h1 { font-size:28px; letter-spacing:-.8px; }
  .clients-hero-art { height:100%; }
  .clients-hero-copy p { font-size:15px; }
  .client-page .stat-num { font-size:30px; }
  .client-page .stat-label { font-size:12px; }
  .client-page .section-header h2,
  .client-page #clientlist .section-header h2 { font-size:24px; }
  .client-page .testimonial-section .section-header h2 { font-size:24px !important; }
  .client-page .clients-reach { padding:58px 0 48px; }
  .client-page .clients-reach .section-header h2 { font-size:24px; }
  .clients-map { height:230px; background-position:right center; background-size:170% auto; }
  .client-page .geo-card { grid-template-columns:42px 1fr; padding:6px 10px; column-gap:10px; }
  .client-page .geo-flag { width:40px; height:40px; font-size:21px; }
  .client-page #clientlist,
  .client-page #cases,
  .client-page .testimonial-section { padding:54px 16px; }
  .client-page .client-name-grid { grid-template-columns:1fr 1fr; gap:6px; }
  .client-page .client-name-card { font-size:13px; }
  .client-page .case-card { padding:24px 18px 20px; }
  .client-page .case-icon { left:18px; }
  .client-page .case-card > .case-org,
  .client-page .case-card > h3 { margin-left:52px; }
  .client-page .case-metrics { grid-template-columns:1fr; }
  .client-page .case-metric { min-height:38px; }
  .client-page .clients-cta h2 { font-size:24px; }
  .clients-cta-art { height:250px; }
  .client-page .clients-cta .cta-btns { flex-direction:column; align-items:stretch; }
}
