/* Capabilities page follows the supplied reference screen 6. */
.capabilities-page { background:var(--brand-navy-deep); color:var(--white); }.capabilities-page main { margin-top:45px; }.cap-shell { width:100%; max-width:var(--site-width); margin-inline:auto; padding-inline:var(--edge-pad); }.capabilities-page main h1,.capabilities-page main h2,.capabilities-page main h3 { font-family:"Roboto",Arial,Helvetica,sans-serif; font-weight:600; }.capabilities-page main h2 { letter-spacing:-.025em; }
.cap-hero { position:relative; min-height:clamp(320px,21.63vw,443px); overflow:hidden; isolation:isolate; background:#081822; }.cap-hero__media,.cap-hero__veil { position:absolute; inset:0; }.cap-hero__media { z-index:-2; background:url("../images/capabilities/capabilities-hero-panorama.ea9246be3f55.webp") center 57% / cover no-repeat; filter:saturate(.72) contrast(.96); transform:scale(1.005); }.cap-hero__veil { z-index:-1; background:linear-gradient(90deg,transparent 0%,rgba(7,24,34,.12) 22%,rgba(7,24,34,.67) 42%,rgba(7,24,34,.7) 58%,rgba(7,24,34,.12) 78%,transparent 100%); }.cap-hero__veil::before { position:absolute; top:50%; left:50%; width:clamp(250px,25vw,510px); aspect-ratio:1; border-radius:50%; background:rgba(13,39,52,.18); box-shadow:0 0 0 clamp(35px,3vw,62px) rgba(13,39,52,.1),0 0 0 clamp(70px,6vw,124px) rgba(13,39,52,.055); content:""; transform:translate(-50%,-50%); }.cap-hero__veil::after { position:absolute; top:50%; left:50%; width:clamp(285px,28vw,575px); aspect-ratio:1; border:1px solid rgba(196,151,70,.22); border-radius:50%; content:""; transform:translate(-50%,-50%); }.cap-hero__content { display:grid; position:relative; z-index:1; min-height:inherit; place-content:center; justify-items:center; font-family:"Roboto",Arial,Helvetica,sans-serif; text-align:center; text-shadow:0 2px 5px rgba(0,0,0,.8); }.cap-hero h1 { margin:0 0 17px; font-family:"Roboto",Arial,Helvetica,sans-serif; font-size:clamp(42px,3.45vw,71px); font-style:normal; font-weight:600; letter-spacing:.015em; line-height:.96; }.cap-hero__content>p { margin:0; color:var(--gold-2); font-size:clamp(16px,1.25vw,26px); font-weight:600; line-height:1.35; }.cap-breadcrumb { display:flex; justify-content:center; gap:12px; margin-top:31px; color:rgba(255,255,255,.9); font-size:clamp(11px,.78vw,16px); font-weight:500; }.cap-breadcrumb span:nth-child(2) { color:var(--gold-2); }.cap-breadcrumb a:hover { color:var(--gold-2); }
.cap-deliver { position:relative; overflow:hidden; color:#1b2a30; background:#f5f2eb; }.cap-deliver__inner { position:relative; display:grid; grid-template-columns:minmax(290px,.75fr) minmax(300px,1.25fr); min-height:clamp(150px,12.4vw,190px); align-items:center; padding-top:22px; padding-bottom:25px; }.cap-deliver__inner>div { position:relative; z-index:1; max-width:470px; }.cap-deliver h2,.cap-domains h2,.cap-execution h2,.cap-partner h2 { position:relative; margin:0 0 25px; font-size:clamp(18px,1.5vw,25px); }.cap-deliver h2::after,.cap-domains h2::after,.cap-partner h2::after { position:absolute; bottom:-12px; left:0; width:32px; height:2px; background:var(--gold); content:""; }.cap-deliver p { margin:0; color:#35434a; font-size:clamp(11px,.8vw,13px); line-height:1.57; }.cap-deliver__inner>img { position:absolute; right:-2%; width:67%; opacity:.16; filter:sepia(.65) saturate(.7); }.cap-deliver__actions { display:flex; gap:10px; margin-top:19px; }.cap-button { display:inline-grid; min-height:34px; padding:0 14px; place-items:center; border:1px solid #516066; color:#233238; font-family:"Roboto",Arial,Helvetica,sans-serif; font-size:12px; font-weight:700; line-height:1; letter-spacing:.01em; transition:transform .18s ease,background .18s ease; }.cap-button:hover { transform:translateY(-2px); }.cap-button--gold { border-color:#b88a3b; color:#fff; background:linear-gradient(100deg,#af7d2d,#d1af67); }.cap-button--line:hover { color:#fff; background:#223c46; }
.cap-deliver h2::after { bottom:-10px; }
.cap-pillars { padding:clamp(17px,1.8vw,28px) 0 clamp(20px,2vw,31px); background:linear-gradient(115deg,#071a23,#0c2b37); }.cap-pillars>div>h2,.cap-execution h2 { margin:0 0 13px; color:#f6f2ea; font-size:clamp(17px,1.42vw,23px); text-align:center; }.cap-pillars__grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }.cap-pillars__grid article { display:grid; min-height:150px; place-items:center; align-content:start; padding:14px 12px; border:1px solid rgba(207,163,75,.65); background:rgba(255,255,255,.012); text-align:center; }.cap-pillars__grid img { width:43px; height:43px; margin-bottom:8px; object-fit:contain; }.cap-pillars__grid h3 { min-height:29px; margin:0 0 8px; color:#eed7a1; font-size:clamp(9px,.7vw,11px); line-height:1.29; }.cap-pillars__grid p { margin:0; color:rgba(255,255,255,.78); font-size:clamp(8px,.63vw,10px); line-height:1.42; }
.cap-domains { color:#17262d; background:#f5f2eb; }.cap-domains>div { padding-top:clamp(16px,1.8vw,27px); padding-bottom:clamp(22px,2.2vw,33px); }.cap-domains h2 { margin-bottom:20px; text-align:center; }.cap-domains h2::after { display:none; }.cap-domains__grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }.cap-domains__grid article { min-width:0; }.cap-domains__grid img { display:block; width:100%; height:clamp(77px,7.6vw,118px); object-fit:cover; }.cap-domains__grid h3 { display:flex; justify-content:space-between; gap:5px; margin:0; padding:10px 8px; color:#fff; background:#0b2834; font-size:clamp(8px,.62vw,10px); line-height:1.15; }.cap-domains__grid h3 span { color:#c7963e; font-size:18px; line-height:.45; }.cap-domains__grid p { min-height:33px; margin:8px 8px 0; color:#26383f; font-size:clamp(8px,.62vw,10px); line-height:1.38; }
.cap-execution { padding:clamp(18px,2vw,31px) 0 clamp(22px,2.4vw,36px); background:linear-gradient(115deg,#071b24,#0b2935); }.cap-execution__steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(16px,2.4vw,44px); margin:0; padding:0; list-style:none; }.cap-execution__steps li { position:relative; display:grid; justify-items:center; min-width:0; text-align:center; }.cap-execution__steps li:not(:last-child)::after { position:absolute; top:10px; left:calc(50% + 26px); width:calc(100% - 22px); height:1px; content:""; background:#bb8731; }.cap-execution__steps li:not(:last-child)::before { position:absolute; z-index:1; top:7px; right:-3px; width:6px; height:6px; border-top:1px solid #bb8731; border-right:1px solid #bb8731; content:""; transform:rotate(45deg); }.cap-step-number { position:relative; z-index:2; display:grid; width:24px; height:24px; margin-bottom:8px; place-items:center; border:1px solid #d8aa56; border-radius:50%; color:#f6d48b; background:#0b2732; font-size:12px; }.cap-execution__steps svg { width:37px; height:37px; margin-bottom:9px; fill:none; stroke:#cf983d; stroke-width:1.15; stroke-linecap:round; stroke-linejoin:round; }.cap-execution__steps h3 { min-height:25px; margin:0 0 5px; color:#f0e6ce; font-size:clamp(8px,.65vw,10.5px); line-height:1.2; }.cap-execution__steps p { max-width:190px; margin:0; color:rgba(255,255,255,.7); font-size:clamp(8px,.62vw,10px); line-height:1.36; }
.cap-partner { color:#1a292f; background:#f4f1eb; }.cap-partner>div { padding-top:clamp(18px,2vw,30px); padding-bottom:clamp(20px,2.2vw,34px); }.cap-partner h2 { margin-bottom:10px; text-align:center; }.cap-partner h2::after { display:none; }.cap-partner__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }.cap-partner__grid article { min-height:84px; padding:0 clamp(13px,1.6vw,27px); border-right:1px solid rgba(157,119,54,.43); text-align:center; }.cap-partner__grid article:last-child { border-right:0; }.cap-partner__grid svg { width:33px; height:33px; margin-bottom:6px; fill:none; stroke:#1e2d33; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }.cap-partner__grid h3 { min-height:24px; margin:0 0 5px; font-size:clamp(8px,.64vw,10px); line-height:1.2; }.cap-partner__grid p { margin:0; color:#566368; font-size:clamp(8px,.6vw,9.5px); line-height:1.35; }
@media (max-width:1080px) { .cap-pillars__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.cap-domains__grid { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:22px; } }
@media (max-width:900px) { .capabilities-page main { margin-top:0; }.cap-hero__media { background-position:center 55%; }.cap-deliver__inner { grid-template-columns:1fr; }.cap-deliver__inner>img { right:-23%; width:90%; } }
@media (max-width:700px) { .cap-shell { padding-inline:22px; }.cap-hero { min-height:370px; }.cap-hero__media { background-position:center 52%; }.cap-hero__veil { background:linear-gradient(90deg,transparent 0%,rgba(7,24,34,.45) 24%,rgba(7,24,34,.72) 50%,rgba(7,24,34,.45) 76%,transparent 100%); }.cap-hero__veil::before { width:260px; }.cap-hero__veil::after { width:290px; }.cap-hero__content { min-height:370px; padding:36px 22px; place-content:center; }.cap-hero h1 { margin-bottom:14px; font-size:40px; }.cap-hero__content>p { font-size:15px; }.cap-breadcrumb { margin-top:23px; }.cap-deliver__inner { min-height:0; padding-top:36px; padding-bottom:40px; }.cap-deliver__inner>img { right:-38%; width:125%; opacity:.12; }.cap-pillars__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.cap-pillars__grid article { min-height:160px; }.cap-domains__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.cap-execution__steps { grid-template-columns:1fr; }.cap-execution__steps li { grid-template-columns:34px 48px minmax(0,1fr); justify-items:start; column-gap:12px; padding:0 0 18px; text-align:left; }.cap-execution__steps li:not(:last-child)::after { top:26px; left:12px; width:1px; height:calc(100% - 15px); }.cap-execution__steps li:not(:last-child)::before { top:auto; right:auto; bottom:13px; left:9px; transform:rotate(135deg); }.cap-step-number { grid-column:1; grid-row:1 / span 2; margin:0; }.cap-execution__steps svg { grid-column:2; grid-row:1 / span 2; margin:0; }.cap-execution__steps h3 { grid-column:3; margin-top:0; }.cap-execution__steps p { grid-column:3; max-width:100%; }.cap-partner__grid { grid-template-columns:1fr; }.cap-partner__grid article { display:grid; grid-template-columns:44px minmax(0,1fr); column-gap:13px; min-height:0; padding:13px 0; border-right:0; border-bottom:1px solid rgba(157,119,54,.43); text-align:left; }.cap-partner__grid article:last-child { border-bottom:0; }.cap-partner__grid svg { grid-row:1 / span 2; margin:0; }.cap-partner__grid h3 { min-height:0; } }
.cap-domains__grid h3 { background:#071d27; }
.cap-domains h2::after,.cap-partner h2::after { display:block; left:50%; transform:translateX(-50%); }
.cap-domains h2::after { bottom:-11px; }
.cap-partner h2::after { bottom:-7px; }
@media (prefers-reduced-motion:reduce) { .cap-button { transition:none; } }

/* Reference-screen alignment for the requested capabilities content. */
.cap-deliver p span,
.cap-domains__grid p span { display:block; }
.cap-deliver__actions { align-items:stretch; gap:16px; }
.cap-button { min-width:156px; }
.capabilities-page:not(.solutions-page) main.site-main-frame .cap-button {
  font-family:"Roboto",Arial,Helvetica,sans-serif;
  font-weight:600;
}
.cap-pillars>div>h2 { position:relative; margin-bottom:14px; }
.cap-pillars>div>h2::after {
  position:absolute;
  bottom:-7px;
  left:50%;
  width:32px;
  height:2px;
  background:var(--gold);
  content:"";
  transform:translateX(-50%);
}

/* Final inner-page hero invariant. */
.capabilities-page .cap-hero,
.capabilities-page .cap-hero__content { min-height:var(--inner-hero-height); }

/* Match section-heading top rhythm to WHY PARTNER WITH US. */
@media (min-width:701px) {
  .capabilities-page .cap-pillars {
    padding-top:clamp(8px,.55vw,11px);
  }

  .capabilities-page .cap-domains > .cap-shell {
    padding-top:clamp(8px,.55vw,11px);
  }

  .capabilities-page .cap-execution {
    padding-top:clamp(8px,.55vw,11px);
  }
}
.cap-execution__steps p span,
.cap-partner__grid h3 span,
.cap-partner__grid p span { display:block; }
.cap-partner__grid svg {
  width:42px;
  height:42px;
  margin-bottom:8px;
}
.cap-partner__grid h3 {
  min-height:29px;
  margin-bottom:6px;
}
.cap-pillars__grid article {
  min-height:184px;
  padding:16px 10px;
  border-radius:5px;
}
.cap-pillars__grid img {
  width:50px;
  height:50px;
  margin-bottom:8px;
}
.cap-pillars__grid h3 {
  min-height:32px;
  margin-bottom:8px;
  font-size:clamp(10px,.75vw,12px);
  line-height:1.28;
}
.cap-pillars__grid p {
  font-size:clamp(9px,.68vw,11px);
  line-height:1.4;
}
.cap-pillars__grid h3 span,
.cap-pillars__grid p span { display:block; }

@media (min-width:1081px) {
  .cap-deliver__inner {
    padding-left:calc(var(--edge-pad) + (100% - (2 * var(--edge-pad))) * .03);
  }

  .cap-pillars__grid {
    width:94%;
    margin-inline:auto;
  }
}

/* Keep the domain descriptions close to the end of their section. */
.capabilities-page .cap-domains > .cap-shell {
  padding-bottom:clamp(5px,.45vw,8px);
}

/* Operational-domain card proportions from the supplied close-up reference. */
.cap-domains__grid article { container-type:inline-size; }
.cap-domains__grid h3 {
  min-height:42px;
  align-items:center;
  gap:8px;
  padding:10px 10px 10px 12px;
  font-size:clamp(10px,5.6cqi,14px);
  line-height:1.1;
  white-space:nowrap;
}
.cap-domains__grid h3 span {
  position:relative;
  flex:0 0 auto;
  width:20px;
  height:22px;
  font-size:0;
  line-height:1;
}
.cap-domains__grid h3 span::before,
.cap-domains__grid h3 span::after {
  position:absolute;
  top:50%;
  right:3px;
  width:14px;
  height:1px;
  border-radius:1px;
  background:#c7963e;
  content:"";
  transform-origin:right center;
}
.cap-domains__grid h3 span::before {
  transform:translateY(-50%) rotate(34deg);
}
.cap-domains__grid h3 span::after {
  transform:translateY(-50%) rotate(-34deg);
}
.cap-domains__grid p {
  min-height:42px;
  margin:11px 10px 0;
  color:#1f3239;
  font-size:clamp(9px,4.45cqi,11px);
  line-height:1.42;
}

/* Compact partner-card proportions from the supplied reference. */
.cap-partner>div {
  padding-top:clamp(8px,.55vw,11px);
  padding-bottom:clamp(11px,.72vw,14px);
}
.cap-partner h2 {
  margin-bottom:10px;
}
.cap-partner__grid article {
  min-height:112px;
  padding:0 clamp(13px,1.6vw,27px);
}
.cap-partner__grid svg {
  width:46px;
  height:46px;
  margin-bottom:7px;
}
.cap-partner__grid h3 {
  display:flex;
  min-height:28px;
  margin:0 0 4px;
  align-items:center;
  flex-direction:column;
  justify-content:center;
  font-size:clamp(9px,.72vw,11px);
  line-height:1.32;
}
.cap-partner__grid p {
  min-height:0;
  color:#162b34;
  font-size:clamp(9px,.68vw,10.5px);
  font-weight:500;
  line-height:1.45;
}

/* Normalize painted icon bounds inside equal invisible frames. */
.cap-execution__steps svg,
.cap-partner__grid svg {
  overflow:visible;
  transform-box:fill-box;
  transform-origin:center;
}
.cap-execution__steps li svg,
.cap-partner__grid article svg { transform:scale(1); }

/* Capabilities hero details from the supplied reference. */
.cap-hero__content { isolation:isolate; }
.cap-hero__content::before {
  position:absolute;
  z-index:-1;
  top:50%;
  left:50%;
  width:clamp(270px,23vw,470px);
  aspect-ratio:1;
  background:url("../images/branding/logo-mark.22cc8c195e04.svg") center / contain no-repeat;
  content:"";
  opacity:.09;
  filter:brightness(0) invert(1);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 36%,#000 72%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 36%,#000 72%);
  transform:translate(-50%,-50%);
}
.cap-hero__content>p { color:#d9ad59; }
.cap-breadcrumb span:nth-child(2) { color:#fff; }

/* Shared inner-page hero height. */
.cap-hero { min-height:var(--inner-hero-height); }
@media (max-width:700px) {
  .cap-hero,.cap-hero__content { min-height:var(--inner-hero-height); }
}

/* Numbered execution timeline follows the supplied horizontal reference. */
@media (min-width:701px) {
  .cap-execution {
    padding:clamp(17px,1.1vw,22px) 0 clamp(22px,1.45vw,28px);
  }
  .cap-execution h2 {
    margin-bottom:clamp(6px,.4vw,8px);
    font-size:clamp(18px,1.5vw,25px);
  }
  .cap-execution__steps {
    --cap-step-size:clamp(28px,2vw,40px);
    gap:0;
  }
  .cap-execution__steps li:not(:last-child)::after {
    top:calc(var(--cap-step-size) / 2);
    left:calc(50% + var(--cap-step-size) / 2);
    width:calc(100% - var(--cap-step-size));
    background:#9f7839;
  }
  .cap-execution__steps li:not(:last-child)::before {
    top:calc(var(--cap-step-size) / 2 - 5px);
    right:-5px;
    width:9px;
    height:9px;
    border-color:#b88b42;
  }
  .cap-step-number {
    width:var(--cap-step-size);
    height:var(--cap-step-size);
    margin-bottom:clamp(7px,.45vw,9px);
    border:1px solid #a77d3b;
    box-shadow:0 0 0 2px rgba(4,18,25,.9),0 0 0 3px rgba(167,125,59,.28);
    color:#f1e3c7;
    background:#0a1d25;
    font-size:clamp(12px,.85vw,17px);
    font-weight:600;
  }
  .cap-execution__steps svg {
    width:clamp(42px,3vw,60px);
    height:clamp(42px,3vw,60px);
    margin-bottom:clamp(7px,.45vw,9px);
    stroke-width:1.25;
  }
  .cap-execution__steps h3 {
    display:flex;
    width:100%;
    min-height:clamp(16px,1vw,18px);
    margin:0 0 clamp(4px,.26vw,5px);
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:clamp(9px,.7vw,13px);
    line-height:1.2;
    letter-spacing:.015em;
  }
  .cap-execution__steps p {
    width:100%;
    max-width:235px;
    min-height:0;
    color:rgba(255,255,255,.78);
    font-size:clamp(9px,.67vw,12px);
    line-height:1.38;
  }
}

@media (max-width:700px) {
  .cap-partner__grid article {
    grid-template-columns:56px minmax(0,1fr);
  }
}

.capabilities-page .cap-hero,
.capabilities-page .cap-hero__content { min-height:var(--inner-hero-height); }

/* Preserve alternating section themes after removing Operational Domains. */
.capabilities-page:not(.solutions-page) .cap-execution {
  color:#1a292f;
  background:#f4f1eb;
}
.capabilities-page:not(.solutions-page) .cap-execution h2,
.capabilities-page:not(.solutions-page) .cap-execution__steps h3 {
  color:#1a292f;
}
.capabilities-page:not(.solutions-page) .cap-execution__steps p {
  color:#162b34;
}
.capabilities-page:not(.solutions-page) .cap-partner {
  color:#f6f2ea;
  background:linear-gradient(115deg,#071b24,#0b2935);
}
.capabilities-page:not(.solutions-page) .cap-partner__grid p {
  color:rgba(255,255,255,.78);
}
.capabilities-page:not(.solutions-page) .cap-partner__grid svg {
  stroke:#cf983d;
}
.capabilities-page:not(.solutions-page) .cap-partner__grid svg image {
  filter:brightness(0) invert(1);
}

/* Execution number badges use the section's cream and navy palette. */
.capabilities-page:not(.solutions-page) .cap-execution .cap-step-number {
  color:#1a292f;
  background:#f4f1eb;
}

/* Approved gold execution rings; match the connecting line weight. */
.capabilities-page:not(.solutions-page) .cap-execution .cap-step-number { border:1px solid #9f7839; box-shadow:none; }

/* Gold artwork is painted directly; SVG image filters do not apply. */
.capabilities-page .cap-partner__grid .cap-partner-icon { display:block; width:46px; height:46px; object-fit:contain; margin:0 auto 7px; filter:none; transform:none; }
@media(max-width:700px) { .capabilities-page .cap-partner__grid .cap-partner-icon { grid-row:1 / span 2; margin:0; } }

/* Mobile copy, action buttons and partner rows stay on their own grid axes. */
@media (max-width:700px) {
  .capabilities-page:not(.solutions-page) .cap-deliver__inner > div {
    min-width:0; max-width:100%;
  }
  .capabilities-page:not(.solutions-page) .cap-deliver__actions { flex-wrap:wrap; }
  .capabilities-page:not(.solutions-page) .cap-deliver__actions .cap-button {
    flex:1 1 140px; min-width:0; max-width:100%; text-align:center;
    padding-block:9px; line-height:1.2;
  }
  .capabilities-page:not(.solutions-page) .cap-partner__grid article {
    min-height:0; padding:13px 0; align-items:start;
  }
  .capabilities-page:not(.solutions-page) .cap-partner__grid .cap-partner-icon {
    grid-column:1; grid-row:1 / span 2;
  }
  .capabilities-page:not(.solutions-page) .cap-partner__grid h3 {
    grid-column:2; grid-row:1; align-items:flex-start; justify-content:flex-start;
    min-height:0; text-align:left;
  }
  .capabilities-page:not(.solutions-page) .cap-partner__grid p {
    grid-column:2; grid-row:2; text-align:left;
  }
}


/* 22 October 2026 — operator visual review candidate; not published. */

@media (max-width:760px) {
  .capabilities-page .cap-deliver p span { display:inline; white-space:normal; }
  .capabilities-page .cap-deliver p { font-size:14px; line-height:1.65; }
  .capabilities-page .cap-execution h3 { font-size:12px; line-height:1.4; }
  .capabilities-page .cap-execution p { font-size:12px; line-height:1.6; }
}



/* Extreme browser magnification: keep long translated titles inside the frame. */
@media (max-width:319px) {
 .capabilities-page .cap-hero h1 { font-size:clamp(24px,10vw,32px); max-width:100%; overflow-wrap:anywhere; }
}
