
/* Shared link affordance: one text underline, never a second border line. */
body.brand-system a.text-link,body.brand-system a.agency-work-link{border-bottom:0!important;text-decoration-line:underline!important;text-decoration-style:solid!important;text-decoration-thickness:1px!important;text-underline-offset:6px!important}
body.brand-system a:hover,body.brand-system a:focus-visible{border-bottom-color:transparent!important;text-decoration-style:solid!important;text-decoration-thickness:3px!important;text-underline-offset:6px!important}
body.brand-system a.text-link:hover,body.brand-system a.text-link:focus-visible,body.brand-system a.agency-work-link:hover,body.brand-system a.agency-work-link:focus-visible{border-bottom:0!important;text-decoration-thickness:3px!important}
body.brand-system .navlinks a:hover,body.brand-system .navlinks a:focus-visible,body.brand-system .work-subnav a:hover{border-bottom-color:transparent!important;text-decoration:underline solid currentColor 3px!important;text-underline-offset:8px!important}
body.brand-system .button:hover,body.brand-system .nav-cta:hover,body.brand-system .insight-card-image:hover,body.brand-system .trust-more:hover{border-bottom-color:transparent!important;text-decoration:none!important}
body.brand-system .metric-grid a:hover,body.brand-system .expertise-shortcuts>a:hover{text-decoration:none!important}
body.brand-system .metric-grid a:hover small,body.brand-system .expertise-shortcuts>a:hover h3{ text-decoration:underline solid currentColor 3px!important;text-underline-offset:6px!important}

/* Final site-wide rule: underline on hover/focus only, always a single line. */
body.brand-system a{ text-decoration:none!important;text-decoration-style:solid!important }
body.brand-system a.text-link,body.brand-system a.agency-work-link{border-bottom:0!important;text-decoration:none!important}
body.brand-system a:hover,body.brand-system a:focus-visible{border-bottom-color:transparent!important;text-decoration:underline solid currentColor 3px!important;text-underline-offset:6px!important}
body.brand-system a.text-link:hover,body.brand-system a.text-link:focus-visible,body.brand-system a.agency-work-link:hover,body.brand-system a.agency-work-link:focus-visible{border-bottom:0!important;text-decoration:underline solid currentColor 3px!important}
body.brand-system .navlinks a[aria-current]{border-bottom-color:transparent;font-weight:700}
body.brand-system .button:hover,body.brand-system .button:focus-visible,body.brand-system .nav-cta:hover,body.brand-system .nav-cta:focus-visible,body.brand-system .insight-card-image:hover,body.brand-system .trust-more:hover,body.brand-system .affiliation-grid a:hover,body.brand-system .affiliation-grid a:focus-visible,body.brand-system .metric-grid a:hover,body.brand-system .expertise-shortcuts>a:hover{text-decoration:none!important}

/* Anchor destinations clear the actual sticky bars at every breakpoint. */
body.brand-system main [id]{scroll-margin-top:calc(var(--sticky-header-height,66px) + var(--sticky-breadcrumb-height,44px) + 16px)!important}
body.brand-system main .breadcrumbs{top:var(--sticky-header-height,66px)}
body.brand-system .work-subnav,body.brand-system.page-services .service-subnav{top:calc(var(--sticky-header-height,66px) + var(--sticky-breadcrumb-height,44px))}
body.brand-system :is(.work-subnav,.service-subnav) a[aria-current="location"]{color:var(--ink);font-weight:700;border-bottom-color:transparent!important;text-decoration:underline solid var(--accent) 3px!important;text-underline-offset:8px!important}
@media(max-width:960px){body.brand-system.page-services .service-subnav{top:auto}}
@media(max-height:500px) and (orientation:landscape){body.brand-system main .breadcrumbs,body.brand-system .work-subnav,body.brand-system.page-services .service-subnav{top:auto}}

/* AA interaction palette: foreground and background always change as a pair. */
body.brand-system{--hover-surface:#eee3dd;--hover-copy:#20201e;--hover-muted:#56524e;--hover-accent:#8b2f46}
body.brand-system :is(.impact,.expertise,.process,.case-hero,.case-next,.featured-work,.blog-card,.closing,.brand-family,.service-disclosure){--hover-surface:#463b36;--hover-copy:#faf8f5;--hover-muted:#e5dcd6;--hover-accent:#f0c5b4}
/* These components have their own light surface, even inside a dark section. */
body.brand-system :is(.case-card,.case-explore-card,.creative-card,.client-work-row,.client-work-card,.expertise-list article,.insight-card,.independent-work-card,.client-industry,.affiliation-grid a){--hover-surface:#eee3dd;--hover-copy:#20201e;--hover-muted:#56524e;--hover-accent:#8b2f46}
body.brand-system :is(.case-card,.case-explore-card,.creative-card,.client-work-row,.case-row,.metric-grid>a,.expertise-shortcuts>a,.perspective-links>a,.brand-family-link,.affiliation-grid a):is(:hover,:focus-visible),
body.brand-system :is(.insight-card,.blog-card,.independent-work-card):has(a:hover,a:focus-visible),
body.brand-system :is(.client-industry,.service-disclosure):has(>summary:is(:hover,:focus-visible)){
 background:var(--hover-surface)!important;color:var(--hover-copy)!important;text-decoration:none!important;
}
body.brand-system :is(.case-card,.case-explore-card,.creative-card,.client-work-row,.case-row,.metric-grid>a,.expertise-shortcuts>a,.perspective-links>a,.brand-family-link,.affiliation-grid a):is(:hover,:focus-visible) *,
body.brand-system :is(.insight-card,.blog-card,.independent-work-card):has(a:hover,a:focus-visible) *,
body.brand-system :is(.client-industry,.service-disclosure):has(>summary:is(:hover,:focus-visible)) *{
 color:var(--hover-copy)!important;text-decoration:none!important;
}
body.brand-system :is(.case-card,.case-explore-card,.creative-card,.client-work-row,.case-row,.metric-grid>a,.expertise-shortcuts>a,.perspective-links>a,.brand-family-link,.affiliation-grid a):is(:hover,:focus-visible) :is(.eyebrow,.index,.metric-count,small,.case-explore-arrow),
body.brand-system :is(.client-industry,.service-disclosure):has(>summary:is(:hover,:focus-visible)) .eyebrow{color:var(--hover-accent)!important}
/* Nested badges and dark disclosure panels must use the same surface pair. */
body.brand-system :is(.case-card,.case-explore-card):is(:hover,:focus-visible) :is(.case-card-tag,.case-explore-tag,.case-card-arrow){background:transparent!important;color:var(--hover-copy)!important}
body.brand-system .service-disclosure:has(>summary:is(:hover,:focus-visible)) :is(.service-summary,.service-disclosure-content){background:var(--hover-surface)!important}
body.brand-system :is(.client-industry,.service-disclosure)>summary:is(:hover,:focus-visible),
body.brand-system :is(.client-industry,.service-disclosure)>summary:is(:hover,:focus-visible)::after{color:var(--hover-copy)!important;text-decoration:none!important}
/* Keep ordinary text links readable against their existing surface. */
body.brand-system a:not(.button):not(.nav-cta):is(:hover,:focus-visible){color:inherit}
/* Every button has an explicit high-contrast label, including nested SVG arrows. */
body.brand-system :is(a.button,a.nav-cta,button:not(:disabled)):is(:hover,:focus-visible){background:#6b2135!important;color:#fff!important;border-color:#6b2135!important}
body.brand-system :is(a.button,a.nav-cta,button:not(:disabled)):is(:hover,:focus-visible) *{color:#fff!important}
body.brand-system :is(a.button,a.nav-cta,button:not(:disabled)):is(:hover,:focus-visible) .icon{stroke:#fff!important}
body.brand-system .topic-filter.is-active:is(:hover,:focus-visible){background:#6b2135!important;color:#fff!important}
body.brand-system .service-subnav-toggle:is(:hover,:focus-visible) .service-menu-icon i{background:#fff!important}
body.brand-system .menu-toggle:is(:hover,:focus-visible) :is(span::before,span::after){background:#fff!important}
/* Image captions and the keyboard skip link own a dark surface. */
body.brand-system a.skip:is(:hover,:focus-visible){background:#20201e!important;color:#fff!important}
body.brand-system .insight-card:has(a:hover,a:focus-visible) .insight-image-label{background:#20201e!important;color:#fff!important}
/* Avoid intermediate low-contrast colours during button state transitions. */
body.brand-system :is(a.button,a.nav-cta,button){transition-property:transform,box-shadow!important}
