/* Mediators 3.2.11 — Consistent non-homepage banner system.
   Shared color, grid, typography, proportions and decorative treatment.
   Preserve page-specific titles, descriptions, image content and card sections. */
:where(.interior-hero,.svc-hero,.team-hero){
 --banner-bg:#f3f2ee;
 --banner-text:#111923;
 --banner-red:#e52235;
 --banner-muted:#536071;
 --banner-width:560px;
 background:var(--banner-bg);
 color:var(--banner-text);
 border-top:0;
 overflow:hidden;
}
/* Seven standard company pages: About, Expertise, Clients, Work, Group, Insights, Contact */
.interior-page .interior-hero--dark,.interior-page .interior-hero--light{background:#f3f2ee;color:#111923}
.interior-page .interior-hero-grid{min-height:560px;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(28px,4vw,60px);align-items:center}
.interior-page .interior-hero-text{padding:65px 0 72px;min-width:0;z-index:1}
.interior-page .interior-hero-text h1{font-size:clamp(46px,4.35vw,70px);line-height:1.075;letter-spacing:-.067em;font-weight:760;margin:25px 0 25px;max-width:100%;overflow-wrap:normal}
.interior-page .interior-hero-text h1 em{color:#e52235;font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em;overflow-wrap:normal}
.interior-page .interior-hero-text>p{font-size:16px;line-height:1.74;color:#536071;opacity:1;max-width:590px;margin:0 0 26px}
.interior-page .interior-hero .section-label{color:#c51d30;font-size:11px;letter-spacing:.14em;font-weight:800}
.interior-page .interior-hero .text-link{color:#111923}
.interior-page .interior-hero-visual{height:380px;width:100%;min-width:0;overflow:hidden;isolation:isolate}
.interior-page .interior-ring{border-color:#aeb8c1;opacity:.5;width:min(88%,330px);height:auto;aspect-ratio:1}
.interior-page .interior-ring-b{border-color:#b8c0c8;width:min(66%,242px);height:auto;aspect-ratio:1;transform:translate(23px,-13px)}
.interior-page .interior-visual-mark{font-size:clamp(70px,7.3vw,116px);font-weight:700;letter-spacing:-.065em;line-height:1;color:#111923;opacity:.12;z-index:0;white-space:nowrap;max-width:95%;text-align:center}
.interior-page .interior-visual-rule{width:98px;height:4px;right:9%;top:29%;transform:rotate(-54deg);background:#e52235}
.interior-page .interior-visual-caption{bottom:8%;left:3%;font-size:10px;line-height:1.4;letter-spacing:.17em;color:#647181;font-weight:750}
/* Our People: same typography, colors, height and restrained abstract marks. */
.team-hero{padding:0}
.team-hero .team-hero-inner{min-height:560px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(28px,4vw,60px);align-items:center}
.team-hero .team-hero-inner>div:first-child{padding:65px 0 72px;min-width:0}
.team-hero .section-label{color:#c51d30;font-size:11px;letter-spacing:.14em;font-weight:800}
.team-hero h1{font-size:clamp(46px,4.35vw,70px);line-height:1.075;letter-spacing:-.067em;font-weight:760;max-width:100%;margin:25px 0}
.team-hero h1 em{color:#e52235;letter-spacing:-.055em}
.team-hero p{font-size:16px;line-height:1.74;color:#536071;max-width:590px;margin:0 0 26px}
.team-hero-art{height:380px;width:100%;min-width:0;aspect-ratio:auto;overflow:hidden;isolation:isolate}
.team-hero-art:before{inset:auto;width:min(88%,330px);aspect-ratio:1;border-color:#aeb8c1;opacity:.5}
.team-hero-art:after{inset:auto;width:min(66%,242px);aspect-ratio:1;border-color:#b8c0c8;opacity:.5;transform:translate(23px,-13px)}
.team-hero-art .big-p{font-size:clamp(70px,7.3vw,116px);letter-spacing:-.065em;transform:none;color:rgba(17,25,35,.12);z-index:1}
.team-hero-art .slash{height:110px;width:4px;right:19%;top:17%;transform:rotate(36deg);box-shadow:none}
.team-hero-art .arc-tiny{bottom:8%;left:3%;font-size:10px;letter-spacing:.17em;color:#647181}
/* Service detail pages: same light banner, typography, baseline spacing and visual scale. */
.svc-hero{min-height:560px}
.svc-hero:before{background:linear-gradient(120deg,rgba(255,255,255,.22),transparent 68%);opacity:1}
.svc-breadcrumb{padding:23px 0 10px;color:#6f7b86;font-size:11px}
.svc-breadcrumb a{color:#485565}.svc-breadcrumb a:hover,.svc-breadcrumb span[aria-current]{color:#152333}
.svc-hero-grid{min-height:502px;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(28px,4vw,60px);align-items:center;padding:29px 0 57px}
.svc-hero-content{min-width:0}
.svc-eyebrow{font-size:11px;letter-spacing:.14em;color:#c51d30}
.svc-eyebrow-muted{color:#647181}
.svc-hero-content h1{font-size:clamp(46px,4.35vw,70px);line-height:1.075;letter-spacing:-.067em;font-weight:760;max-width:100%;margin:25px 0;overflow-wrap:normal;color:#111923}
.svc-hero-content h1 em{color:#e52235;letter-spacing:-.055em}
.svc-dot{color:#e52235}
.svc-hero-summary{font-size:16px;line-height:1.74;max-width:590px;color:#536071;margin-bottom:26px}
.svc-secondary-cta{color:#111923!important;border-bottom-color:#768392}
.svc-hero-art{min-width:0;background:#111923;box-shadow:0 12px 28px rgba(17,25,35,.1);border:1px solid #d6d9da}
.svc-hero-art img{max-height:265px;aspect-ratio:1.75}
/* Prevent any banner artwork or long line from invading the text column. */
.interior-page .interior-hero-grid > *, .team-hero-inner > *, .svc-hero-grid > *{min-width:0}
@media(max-width:1080px){
 .interior-page .interior-hero-grid,.team-hero .team-hero-inner,.svc-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:30px}
 .interior-page .interior-hero-text h1,.team-hero h1,.svc-hero-content h1{font-size:clamp(43px,4.45vw,59px)}
 .interior-page .interior-hero-visual,.team-hero-art{height:320px}
 .interior-page .interior-ring,.team-hero-art:before{width:min(88%,280px)}
 .interior-page .interior-ring-b,.team-hero-art:after{width:min(66%,205px)}
 .interior-page .interior-visual-mark,.team-hero-art .big-p{font-size:clamp(64px,7.2vw,95px)}
}
@media(max-width:790px){
 .interior-page .interior-hero-grid,.team-hero .team-hero-inner,.svc-hero-grid{grid-template-columns:minmax(0,1fr);gap:0;min-height:0}
 .interior-page .interior-hero-text,.team-hero .team-hero-inner>div:first-child{padding:59px 0 20px}
 .interior-page .interior-hero-text h1,.team-hero h1,.svc-hero-content h1{font-size:clamp(43px,7vw,58px)}
 .interior-page .interior-hero-visual,.team-hero-art{height:200px;max-width:430px;width:100%;margin:0 auto 28px}
 .team-hero-art{display:grid}
 .interior-page .interior-ring,.team-hero-art:before{width:190px}
 .interior-page .interior-ring-b,.team-hero-art:after{width:140px}
 .interior-page .interior-visual-mark,.team-hero-art .big-p{font-size:78px}
 .interior-page .interior-visual-rule{width:72px;right:18%;top:22%}
 .team-hero-art .slash{height:90px;top:14%;right:23%}
 .svc-breadcrumb{padding:18px 0 8px}
 .svc-hero-grid{padding:26px 0 44px;gap:25px}
 .svc-hero-art{max-width:550px;width:100%}
 .svc-hero-art img{max-height:195px}
}
@media(max-width:530px){
 .interior-page .interior-hero-text,.team-hero .team-hero-inner>div:first-child{padding:48px 0 16px}
 .interior-page .interior-hero-text h1,.team-hero h1,.svc-hero-content h1{font-size:clamp(39px,10vw,50px);line-height:1.08;margin:20px 0 22px}
 .interior-page .interior-hero-text>p,.team-hero p,.svc-hero-summary{font-size:14px;line-height:1.68;margin-bottom:22px}
 .interior-page .interior-hero-visual,.team-hero-art{height:170px;max-width:310px;margin-bottom:25px}
 .interior-page .interior-ring,.team-hero-art:before{width:155px}
 .interior-page .interior-ring-b,.team-hero-art:after{width:116px}
 .interior-page .interior-visual-mark,.team-hero-art .big-p{font-size:64px}
 .interior-page .interior-visual-caption,.team-hero-art .arc-tiny{font-size:8px}
 .interior-page .interior-visual-rule{width:60px}
 .svc-hero-grid{padding:23px 0 38px}
 .svc-hero-art img{max-height:165px}
 .svc-image-top,.svc-image-bottom{min-height:38px;padding:10px 12px}
}

/* 3.2.12 — replace internal-only numeric art with descriptive words.
   Resize these two wordmarks to stay inside the existing circle artwork,
   without changing the shared banner design or other pages. */
.interior-page.interior-the-group .interior-visual-mark{font-size:clamp(31px,3.55vw,50px);letter-spacing:-.06em;white-space:nowrap}
.interior-page.interior-expertise .interior-visual-mark{font-size:clamp(29px,3.1vw,44px);letter-spacing:-.06em;white-space:nowrap}
@media(max-width:790px){
 .interior-page.interior-the-group .interior-visual-mark{font-size:40px}
 .interior-page.interior-expertise .interior-visual-mark{font-size:34px}
}
@media(max-width:530px){
 .interior-page.interior-the-group .interior-visual-mark{font-size:32px}
 .interior-page.interior-expertise .interior-visual-mark{font-size:28px}
}

/* 3.2.26 — dark service hero contrast correction.
   The six detail heroes have a genuine navy background.  Earlier shared
   light-banner text rules must not be applied to those dark sections.
   Scope these declarations to the service hero only; the lighter About,
   Expertise, People, Work, Group, Clients, Insights and Contact headers
   retain their existing dark-on-light typography and original layout. */
.service-detail .svc-hero{
  background:#121d29;
  color:#f8fafc;
}
.service-detail .svc-hero::before{
  background:radial-gradient(ellipse at 72% 43%,rgba(58,84,112,.24),transparent 58%),
             linear-gradient(112deg,rgba(29,49,68,.22),rgba(7,15,26,.12) 75%);
  opacity:.78;
}
.service-detail .svc-hero .svc-breadcrumb{color:#ccd8e4}
.service-detail .svc-hero .svc-breadcrumb a{color:#dce6ee}
.service-detail .svc-hero .svc-breadcrumb a:hover,
.service-detail .svc-hero .svc-breadcrumb a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
.service-detail .svc-hero .svc-breadcrumb span[aria-current]{color:#f8fafc}
.service-detail .svc-hero .svc-eyebrow{color:#ff8797}
.service-detail .svc-hero .svc-eyebrow-muted{color:#d3deea}
.service-detail .svc-hero .svc-hero-content h1{color:#f8fafc}
.service-detail .svc-hero .svc-hero-content h1 em{color:#ff6478}
.service-detail .svc-hero .svc-dot{color:#ff6478}
.service-detail .svc-hero .svc-hero-summary{color:#dce6ef;opacity:1}
.service-detail .svc-hero .svc-secondary-cta{color:#f7fafc!important;border-bottom-color:#9aaaba}
.service-detail .svc-hero .svc-secondary-cta:hover,
.service-detail .svc-hero .svc-secondary-cta:focus-visible{color:#fff!important;border-bottom-color:#ff8797}
.service-detail .svc-hero .svc-image-top{color:#dae4ed}
.service-detail .svc-hero .svc-image-bottom{color:#dce6ef}
@media(max-width:640px){
  .service-detail .svc-hero .svc-breadcrumb{font-size:13px;line-height:1.6}
  .service-detail .svc-hero .svc-hero-summary{font-size:16px;line-height:1.72}
}
