/* Home integration layer. Headings Regular 400. */
.hdr,.hdr.solid{top:0}
.rv__x{display:none}@media(min-width:560px){.rv__x{display:inline}}
.fhead,.footer__oh,.footer h2{font-weight:400!important;font-size:.75rem!important}
body.v22 .v22rec__list{grid-template-columns:minmax(0,1fr)}body.v22 .v22rec__i{min-width:0}body.v22 .v22rec__l{overflow-wrap:anywhere}
body.v22 .v22panel__ev span{font-size:.75rem}

body.v22 .v22fact__v .v22fact__u,body.v22 .v22fact__u{font-size:.75rem!important}
body.v22 .v22rec__mark{max-width:100%;overflow-wrap:anywhere}
body.v22 .v22panel__k a{display:inline-flex;align-items:center;min-height:44px}
body.v22 .tlink,body.v22 .v22rec__l,body.v22 main li>a,body.v22 .v22panel__ev a{display:inline-flex;align-items:center;min-height:44px}
body.v22 .hdr__logo{display:inline-flex;align-items:center;min-height:44px}
body.v22 .footer .fgroup__body{gap:0}
body.v22 .footer .fgroup__body a,body.v22 .footer .fcta,body.v22 .footer .offlist__t{display:inline-flex;align-items:center;min-height:44px}
body.v22 .footer .fgroup__body a{display:flex}
body.v22 .footer .offlist__t{margin-top:0}
body.v22 .footer__brand .fsoc a{width:44px;height:44px}
@media(max-width:360px){body.v22 .v22hero__def{margin-top:1rem;}body.v22 .v22hero__cta{margin-top:1rem}}
.rv{position:fixed;top:0;left:0;right:0;z-index:200;min-height:30px;display:flex;align-items:center;justify-content:center;padding:.3rem 1.25rem;background:#10161f;color:#c9d1dc;font-size:.75rem;line-height:1.35;text-align:center}

/* GD handover fix HF-03: at 320px the Home "How we work" payoff text ("recommendation") overflowed its column into the adjacent column. Stack the two columns at very narrow widths only. */
@media(max-width:360px){body.v22 .v22how__pay{grid-template-columns:minmax(0,1fr);gap:1.25rem}}


/* =====================================================================
   SECTION CTA (one treatment): the action row sits at the bottom right of
   the section's content container on desktop and bottom left on mobile.
   Normal flow only, never fixed or sticky.
   ===================================================================== */
body.v22 .v22cta{display:flex;justify-content:flex-end;margin-top:clamp(2.5rem,4.5vw,3.5rem)}
body.v22 .v22cta .tlink{min-height:44px;align-items:center}
@media(max-width:899px){body.v22 .v22cta{justify-content:flex-start}}

/* hero: the new headline is longer per line, so only the measure widens */
body.v22 .v22hero__h{max-width:30ch}
body.v22 .v22hero__h > span:last-child{text-wrap:balance}
body.v22 .v22hero__h span span{display:inline}
@media(max-width:700px){body.v22 .v22hero__h{max-width:none}}

/* =====================================================================
   WHY ONE BCG (redesigned): the reason to choose ONE BCG.
   One central proposition at display scale, with the evidence in a single
   offset block: three primary claims large, two supporting claims smaller.
   No diagram, no cards, no process.
   ===================================================================== */
body.v22 .v22diff{padding-block:clamp(4.5rem,8vw,7rem)}
body.v22 .v22diff__h{margin:0;max-width:14em;font-size:var(--ty-h1-home);font-weight:var(--ty-h1-w);line-height:var(--ty-h1-lh);letter-spacing:var(--ty-h1-ls);text-wrap:balance}
body.v22 .v22diff__h span{display:block}
body.v22 .v22diff__h span:first-child{color:rgba(255,255,255,.5)}
body.v22 .v22diff__h span:last-child{color:#fff}
body.v22 .v22diff__body{margin-top:clamp(2.75rem,5vw,4.25rem);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);column-gap:clamp(3rem,7vw,7rem);align-items:start}
body.v22 .v22diff__lede{margin:0;max-width:22rem;font-size:var(--ty-lede);line-height:var(--ty-lede-lh);color:rgba(255,255,255,.76)}
body.v22 .v22diff__a{margin:0;max-width:34rem;font-size:var(--ty-st);font-weight:var(--ty-st-w);line-height:1.4;letter-spacing:var(--ty-st-ls);color:#fff}
body.v22 .v22diff__b{margin:1.6rem 0 0;max-width:32rem;font-size:var(--ty-lede);line-height:var(--ty-lede-lh);color:rgba(255,255,255,.76)}
body.v22 .v22diff em{font-style:normal;color:var(--red-light)}
body.v22 .v22diff__man .tlink{margin-top:2rem}
@media(max-width:899px){
  body.v22 .v22diff__body{grid-template-columns:minmax(0,1fr);row-gap:2rem}
  body.v22 .v22diff__lede{max-width:30rem}
}

/* ---------- RECOGNITION: credibility line and artwork given real presence ---------- */
body.v22 .v22rec__lede{margin:1.1rem 0 0;max-width:34rem;font-size:var(--ty-sup);line-height:var(--ty-sup-lh);color:var(--ink-2)}
body.v22 .v22rec__art{max-width:400px}
body.v22 .v22rec__mark{width:min(100%,340px);max-width:340px;margin-top:1.25rem;padding:1.25rem 1.5rem;background:#f6f6f6;border-radius:0}
body.v22 .v22rec__mark img{mix-blend-mode:normal}
@media(max-width:640px){
  body.v22 .v22rec__art{max-width:300px}
  body.v22 .v22rec__mark{width:min(100%,300px);max-width:300px}
}


/* =====================================================================
   WHAT WE DO: five identical rows; AI & Intelligent Automation leads by
   position. The introduction spans the content width rather than half of it.
   ===================================================================== */
body.v22 .v22what__h{max-width:72%}
body.v22 .v22what__lede{max-width:40rem}
body.v22 .v22cap__i a{grid-template-columns:auto minmax(0,5fr) minmax(0,5fr) auto;align-items:baseline;padding-block:clamp(1.25rem,2.4vw,1.7rem)}
body.v22 .v22cap__l{font-size:var(--ty-st);font-weight:var(--ty-st-w);line-height:var(--ty-st-lh);letter-spacing:var(--ty-st-ls);color:inherit}
body.v22 .v22cap__d{font-size:var(--ty-body);line-height:1.55;color:rgba(255,255,255,.66);max-width:30rem}
@media(max-width:900px){
  body.v22 .v22what__h{max-width:none}
  body.v22 .v22cap__i a{grid-template-columns:auto minmax(0,1fr);row-gap:.4rem;align-items:baseline}
  body.v22 .v22cap__d{grid-column:2;max-width:none}
}

/* =====================================================================
   INDUSTRIES: five proposed categories as a restrained typographic index
   ===================================================================== */
body.v22 .v22ind2{background:#fff;padding-block:clamp(4rem,7vw,6rem)}
body.v22 .v22ind2__in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(3rem,7vw,7rem);align-items:start}
body.v22 .v22ind2__h{margin:0;max-width:11em;font-size:var(--ty-h2);font-weight:var(--ty-h2-w);line-height:var(--ty-h2-lh);letter-spacing:var(--ty-h2-ls);color:var(--ink);text-wrap:balance}
body.v22 .v22ind2__p{margin:1.3rem 0 0;max-width:27rem;font-size:var(--ty-sup);line-height:var(--ty-sup-lh);color:var(--ink-2)}
body.v22 .v22ind2__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--v22-rule)}
body.v22 .v22ind2__list li{border-bottom:1px solid var(--v22-rule)}
body.v22 .v22ind2__list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(1.25rem,2.6vw,2rem);padding:clamp(1.15rem,2vw,1.5rem) 0;color:var(--ink);text-decoration:none;min-height:44px;transition:color .3s ease}
body.v22 .v22ind2__n{font-size:var(--ty-meta);font-weight:var(--ty-meta-w);letter-spacing:var(--ty-meta-ls);color:var(--red)}
body.v22 .v22ind2__l{font-size:var(--ty-st);font-weight:var(--ty-st-w);line-height:var(--ty-st-lh);letter-spacing:var(--ty-st-ls)}
body.v22 .v22ind2__ar{width:1.5rem;height:.75rem;fill:none;stroke:var(--red);stroke-width:1.5;opacity:0;transform:translateX(-6px);transition:opacity .3s ease,transform .3s var(--ease)}
body.v22 .v22ind2__list a:hover,body.v22 .v22ind2__list a:focus-visible{color:var(--red)}
body.v22 .v22ind2__list a:hover .v22ind2__ar,body.v22 .v22ind2__list a:focus-visible .v22ind2__ar{opacity:1;transform:none}
body.v22 .v22ind2__list a:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
@media(max-width:899px){
  body.v22 .v22ind2__in{grid-template-columns:minmax(0,1fr);row-gap:2.5rem}
  body.v22 .v22ind2__ar{display:none}
  body.v22 .v22ind2__list a{grid-template-columns:auto minmax(0,1fr)}
}

/* =====================================================================
   WHY ONE BCG: the approved fold; the paragraph repeated in Our Experience is gone
   ===================================================================== */
body.v22 .v22diff__a{margin-bottom:0}

/* =====================================================================
   OUR EXPERIENCE: one aligned introduction, then three equally weighted
   proof points divided by fine vertical rules. No cards, no oversized
   numerals; the only accent is the same short red dash used by eyebrows.
   ===================================================================== */
body.v22 .v22exp{background:var(--warm-2);padding-block:clamp(3.75rem,6.2vw,5.5rem)}
body.v22 .v22exp__h{margin:0;max-width:72%;font-size:var(--ty-h2);font-weight:var(--ty-h2-w);line-height:var(--ty-h2-lh);letter-spacing:var(--ty-h2-ls);color:var(--ink);text-wrap:balance}
body.v22 .v22exp__p{margin:1.3rem 0 0;max-width:40rem;font-size:var(--ty-sup);line-height:var(--ty-sup-lh);color:var(--ink-2)}
body.v22 .v22exp__ev{--exp-gap:clamp(2.5rem,5.5vw,5rem);list-style:none;margin:clamp(2.5rem,4.4vw,3.5rem) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--exp-gap)}
body.v22 .v22exp__i{position:relative}
body.v22 .v22exp__i + .v22exp__i::after{content:"";position:absolute;top:0;bottom:0;left:calc(var(--exp-gap) / -2);width:1px;background:rgba(20,18,16,.18)}
body.v22 .v22exp__i::before{content:"";display:block;width:28px;height:2px;background:var(--red);margin-bottom:1.3rem}
body.v22 .v22exp__m{margin:0;font-size:var(--ty-st);font-weight:var(--ty-st-w);line-height:var(--ty-st-lh);letter-spacing:var(--ty-st-ls);color:var(--ink);text-wrap:balance}
body.v22 .v22exp__s{margin:.85rem 0 0;font-size:var(--ty-body);line-height:1.6;color:var(--ink-2)}
@media(max-width:899px){
  body.v22 .v22exp__h{max-width:none}
  body.v22 .v22exp__ev{grid-template-columns:minmax(0,1fr)}
  body.v22 .v22exp__i + .v22exp__i::after{display:none}
  body.v22 .v22exp__i + .v22exp__i{border-top:1px solid rgba(20,18,16,.18);margin-top:1.75rem;padding-top:1.75rem}
}

/* =====================================================================
   CLIENT PERSPECTIVES: one testimonial at a time (near-black).
   All slides share one grid cell, so the height is that of the longest
   slide and the controls never move. Without JavaScript every testimonial
   is shown, stacked, and the controls are hidden.
   ===================================================================== */
body.v22 .v22cli{padding-block:clamp(3.75rem,6.2vw,5.5rem);border-top:1px solid rgba(255,255,255,.1)}
body.v22 .v22cli__h{margin:0;color:#fff;font-size:var(--ty-h2);font-weight:var(--ty-h2-w);line-height:var(--ty-h2-lh);letter-spacing:var(--ty-h2-ls)}
body.v22 .v22cli__head{text-align:center}
body.v22 .v22cli__head .eb{justify-content:center}
body.v22 .v22cli__p{margin:1.1rem auto 0;max-width:34rem;font-size:var(--ty-sup);line-height:var(--ty-sup-lh);color:rgba(255,255,255,.72)}
body.v22 .v22cli__slider{margin:clamp(2.25rem,4vw,3rem) 0 0;display:flex;flex-direction:column;background:#242323;border-radius:14px;padding:clamp(2.25rem,5.5vw,4.5rem) clamp(1.25rem,5vw,4rem) clamp(1.5rem,3vw,2.25rem);text-align:center}
body.v22 .v22cli__viewport{flex:1;align-content:center}
body.v22 .v22cli__slide{margin:0}
body.v22 .v22cli__slide + .v22cli__slide{margin-top:2.5rem}
body.v22 .v22cli__slide blockquote{margin:0 auto;max-width:46rem}
body.v22 .v22cli__slide p{margin:0;font-size:var(--ty-st);font-weight:var(--ty-st-w);line-height:1.45;letter-spacing:var(--ty-st-ls);color:#fff}
body.v22 .v22cli__slide figcaption{margin-top:1.75rem;font-size:var(--ty-body);line-height:1.5;color:rgba(255,255,255,.72)}
body.v22 .v22cli__ctrl{display:none}
/* enhanced */
body.v22 .v22cli__slider.is-js .v22cli__viewport{display:grid;touch-action:pan-y}
body.v22 .v22cli__slider.is-js .v22cli__slide{grid-area:1/1;align-self:center;margin:0;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s linear .45s}
body.v22 .v22cli__slider.is-js .v22cli__slide.is-active{opacity:1;visibility:visible;transition:opacity .45s ease,visibility 0s}
body.v22 .v22cli__slider.is-js .v22cli__ctrl{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,2.2vw,1.75rem);margin-top:clamp(1.75rem,3vw,2.5rem)}
body.v22 .v22cli__btns{display:contents}
body.v22 .v22cli [data-cli-prev]{order:1}
body.v22 .v22cli__meta{order:2}
body.v22 .v22cli [data-cli-next]{order:3}
body.v22 .v22cli__btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:transparent;color:#fff;cursor:pointer;transition:border-color .25s ease,background-color .25s ease}
body.v22 .v22cli__btn svg{width:1.25rem;height:.625rem;fill:none;stroke:currentColor;stroke-width:1.5}
body.v22 .v22cli__btn:hover{border-color:#fff;background:rgba(255,255,255,.08)}
body.v22 .v22cli__btn:focus-visible,body.v22 .v22cli__dot:focus-visible{outline:2px solid var(--red-light);outline-offset:3px}
body.v22 .v22cli__meta{display:flex;align-items:center;gap:1.5rem}
body.v22 .v22cli__count{margin:0;font-size:var(--ty-link);line-height:1;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.62)}
body.v22 .v22cli__count span{color:#fff}
body.v22 .v22cli__dots{display:flex}
body.v22 .v22cli__dot{position:relative;width:2rem;height:44px;padding:0;border:0;background:transparent;cursor:pointer}
body.v22 .v22cli__dot::before{content:"";position:absolute;left:.25rem;right:.25rem;top:50%;height:2px;margin-top:-1px;background:rgba(255,255,255,.28);transition:background-color .3s ease}
body.v22 .v22cli__dot:hover::before{background:rgba(255,255,255,.6)}
body.v22 .v22cli__dot.is-active::before{background:var(--red-light)}
@media(max-width:640px){
  body.v22 .v22cli__slide p{font-size:var(--ty-svc);line-height:1.5}
  body.v22 .v22cli__slide figcaption{font-size:var(--ty-link)}
  body.v22 .v22cli__slider.is-js .v22cli__ctrl{gap:1rem}
  body.v22 .v22cli__meta{gap:.75rem}
  body.v22 .v22cli__dot{width:1.75rem}
}
@media(prefers-reduced-motion:reduce){
  body.v22 .v22cli__slider.is-js .v22cli__slide,body.v22 .v22cli__slider.is-js .v22cli__slide.is-active,body.v22 .v22cli__btn,body.v22 .v22cli__dot::before{transition:none}
}
