

:root{color-scheme:light;--ink:#142c48;--muted:#465f7b;--teal:#145b9f;--line:#d9e6f3;--surface:#f4f8fd}
*{box-sizing:border-box}
html{scroll-padding-top:100px}
body{
  margin:0;
  min-height:100vh;
  color:var(--ink);
  font:17px/1.65 system-ui,sans-serif;
  background:
    radial-gradient(ellipse at 8% 21%,#dbeafa 0%,transparent 62%) left top / 76% 780px no-repeat,
    radial-gradient(ellipse at 96% 38%,#dceafb 0%,transparent 66%) right top / 72% 1020px no-repeat,
    linear-gradient(156deg,#edf5fd 32%,#e6f0fc 32%,#f2f7fd 64%,#e8f2fc 64%);
}
a{color:inherit}
a:focus-visible{outline:2px solid var(--teal);outline-offset:5px}
header{position:sticky;top:0;z-index:10;background:#fffffff5;border-bottom:1px solid var(--line)}
.header-inner,main,footer{max-width:1280px;margin:auto;padding-inline:clamp(20px,5vw,72px)}
.header-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}
header nav{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px}
.brand{font-size:26px;font-weight:850;text-decoration:none;letter-spacing:-.06em}
.brand span,em,.tag{color:var(--teal)}
em{font-style:normal}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.06;letter-spacing:-.045em}
h1{font-size:clamp(43px,6.5vw,88px);max-width:15ch}
h2{font-size:clamp(34px,4.2vw,56px);max-width:19ch}
h3{font-size:24px}
p,li{color:var(--muted)}
p{max-width:58ch}
p+p{margin-top:12px}
h1+p,h2+p,h3+p{margin-top:16px}
.tag{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;margin-bottom:12px}
.hero{padding-block:clamp(48px,9vw,110px) 0}
.hero>div{background:radial-gradient(ellipse at 95% 5%,#d7e9fb,transparent 58%),var(--surface);padding:clamp(24px,6vw,80px);border-radius:24px 24px 0 0}
.hero>div>p:not(.tag){font-size:clamp(17px,2vw,21px)}
.cta{display:inline-block;background:var(--teal);color:#fff;text-decoration:none;border-radius:7px;padding:12px 18px;margin-top:24px;font-weight:700}
.proof{background:#e3effb;border-radius:0 0 24px 24px;display:grid;grid-template-columns:auto 1fr;gap:0 28px;align-items:center;padding:24px clamp(24px,6vw,80px)}
.proof .tag{grid-column:1/-1;margin:0}
.proof strong{font-size:clamp(50px,8vw,84px);line-height:1.05;color:var(--teal);letter-spacing:-.06em}
.proof p{font-weight:650;color:var(--ink)}
.proof-region{grid-column:2;color:var(--muted);font-size:13px}
.expertise-index{margin-top:clamp(38px,7vw,88px);padding:20px 0;border-bottom:1px solid var(--line)}
.expertise-index nav{display:flex;flex-wrap:wrap;gap:9px}
.expertise-index a,.platforms b{padding:6px 12px;background:#e9f2fc;border-radius:7px;color:var(--teal);font-size:14px;font-weight:700}
.capability,.health{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,5vw,64px);align-items:center}
.capability{padding:clamp(36px,7vw,84px) 0;border-bottom:1px solid var(--line)}
.featured{background:var(--surface);margin-top:18px;padding-inline:clamp(20px,5vw,56px);border-radius:18px;border:1px solid var(--line)}
.detail{padding:clamp(18px,3vw,32px);border-left:3px solid #a3c8ed;background:#f6faff;border-radius:0 12px 12px 0}
.featured .detail{background:#fff}
.detail ul{margin:12px 0 0;padding-left:21px}
.platforms{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.section-photo{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.health{margin:clamp(36px,7vw,84px) 0;padding:clamp(20px,5vw,56px);background:#e9f2fc;border-radius:20px}
footer{padding-block:24px;border-top:1px solid var(--line);color:var(--muted)}
@media(max-width:740px){.capability,.health{grid-template-columns:1fr}.proof{column-gap:14px}.proof-region{grid-column:1/-1;margin-top:4px}}

header nav a[aria-current="page"]{color:var(--teal);font-weight:750}
.directory{padding:clamp(36px,7vw,84px) 0}
.directory h2{max-width:30ch}
.directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px;margin-top:24px}
.directory-card{position:relative;display:grid;gap:8px;align-content:start;text-decoration:none;padding:22px 45px 22px 22px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.directory-card:hover{border-color:var(--teal)}
.directory-card strong{font-size:20px}
.directory-card span{color:var(--muted)}
.directory-card .directory-arrow{position:absolute;top:21px;right:18px;color:var(--teal)}
.page-intro{padding-top:clamp(28px,6vw,62px)}
.page-intro h1{margin-top:24px}
.page-intro a,.related a{color:var(--teal)}
.capability h1,.health h1{font-size:clamp(38px,5vw,64px)}
.related{padding-block:24px}
main{padding-bottom:28px}
@media(max-width:740px){.header-inner{align-items:flex-start;flex-direction:column;padding-block:10px;gap:4px}header nav{gap:3px 12px;font-size:13px}html{scroll-padding-top:140px}}


/* Fade the photograph into a blue surface behind the introduction. */
.hero>div{
  background:linear-gradient(90deg,#f4f8fd 8%,#f4f8fd 39%,#e4effac9 54%,#16457d18 76%),
    url("/consulting-background.png") right center / auto 100% no-repeat,#f4f8fd;
}
@media(max-width:740px){
  .hero>div{
    background:linear-gradient(180deg,#f4f8fd 0%,#f4f8fd calc(100% - 230px),#e4effa12 calc(100% - 155px)),
      url("/consulting-background.png") right bottom / auto 250px no-repeat,#f4f8fd;
    padding-bottom:220px;
  }
}
