/* Shared finishing rules: one type scale and spacing system across routes. */
:root{--hp-body-muted:#676171;--hp-rule:#dcdbe7;--hp-page-title:clamp(2.6rem,4vw,3.7rem);--hp-small-title:clamp(2rem,3vw,2.5rem)}
.hp-home .services-intro,.hp-home .sub-intro{padding-block:20px 38px}
.hp-home .intro-grid,.hp-home .sub-intro-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:end;margin-top:26px}
.hp-home .services-intro h1,.hp-home .sub-intro h1{font-size:var(--hp-page-title);line-height:1.15;letter-spacing:-.04em}
.hp-home .intro-copy,.hp-home .sub-intro-grid>p{justify-self:start;max-width:440px;font-size:1rem;line-height:1.8;color:var(--hp-body-muted);padding-bottom:3px}
.hp-home .eyebrow,.hp-home .intro-eyebrow{font-size:.75rem;line-height:1.7;letter-spacing:.12em;color:#726b86}
.hp-home .intro-eyebrow,.hp-home .sub-intro .eyebrow{margin-bottom:12px!important}
.hp-home .breadcrumb{font-size:.8125rem;line-height:1.6;color:#706a7c;gap:14px}
.hp-home .contact-layout,.hp-home .career-simple{padding-block:60px 68px}
.hp-home .contact-panel h2,.hp-home .office-panel h2,.hp-home .career-side h2,.hp-home .service-heading h2{font-size:var(--hp-small-title);line-height:1.16}
.hp-home .service-body>p,.hp-home .deliverables dd,.hp-home .mandate-columns p,.hp-home .career-copy>p,.hp-home .contact-panel>p:last-child{font-size:1rem;line-height:1.8;color:var(--hp-body-muted)}
.hp-home .service-body>.service-lead,.hp-home .career-copy>p:first-child{font-size:1.125rem;line-height:1.65;color:var(--hp-primary)}
.hp-home .text-link{font-size:.9375rem;line-height:1.6;min-height:44px;align-items:center}
.hp-home .service-scope,.hp-home .career-location{font-size:.875rem;line-height:1.7}
.hp-home .navigation [aria-current=page]{text-decoration:underline;text-underline-offset:8px}
.hp-home .service-index .marquee-group a{border:0;font-size:.875rem}
.hp-home .signature-strategy .service-signature{border:0;box-shadow:none}
.homepage .dna,.homepage #services>.section-top{column-gap:48px}
.legal-page .legal-copy h2{font-size:1.25rem;line-height:1.5}
.legal-page .legal-copy h2{scroll-margin-top:0}
@media(max-width:1050px){.hp-home .intro-grid,.hp-home .sub-intro-grid{gap:40px}}
@media(max-width:760px){
 .hp-home .services-intro,.hp-home .sub-intro{padding-block:16px 28px}
 .hp-home .intro-grid,.hp-home .sub-intro-grid{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:20px}
 .hp-home .services-intro h1,.hp-home .sub-intro h1{font-size:clamp(2rem,8.5vw,2.8rem)}
 .hp-home .contact-layout,.hp-home .career-simple{padding-block:36px 42px}
 .hp-home .site-header{gap:16px}
 .hp-home .site-header .brand{width:clamp(145px,48vw,205px)}
 .hp-home .contact-panel h2,.hp-home .office-panel h2,.hp-home .career-side h2,.hp-home .service-heading h2{font-size:2rem}
 .hp-home .service-body>.service-lead,.hp-home .career-copy>p:first-child{font-size:1.0625rem}
 .homepage .service-row p{font-size:1rem}
 .homepage .hero-secondary{padding-left:0}
 .homepage .dna,.homepage #services>.section-top{column-gap:0}
 .legal-page .legal-copy h2{font-size:1.125rem}
}

/* Quiet text navigation, with a simple current-page underline. */
.hp-home .navigation{gap:26px;font-size:.9375rem;background:transparent}
.hp-home .navigation>a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:10px 0;line-height:1.4}
.hp-home .navigation>a[aria-current="page"]{background:transparent;color:#221d54;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.hp-home .navigation>a:hover{background:transparent;text-decoration:underline;text-underline-offset:7px}
/* Fixed inner and outer gaps, independent of the length of each service name. */
.hp-home .marquee-group{min-width:0}
.hp-home .service-index .marquee-group a{flex:none;min-width:0;padding-inline:28px;gap:18px}
.hp-home .service-index .marquee-group a>span:last-child{margin-left:10px}
@media(max-width:760px){.hp-home .navigation>a{min-width:0;width:100%;justify-content:flex-start;padding-inline:0}.hp-home .navigation{gap:8px}}

/* Desktop: one full sequence in view, with a seamless moving loop. */
@media(min-width:761px){
 .hp-home .marquee-track{width:200%;animation:services-flow 38s linear 2s infinite backwards}
 .hp-home .marquee-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:50%;min-width:0}
 .hp-home .marquee-group[aria-hidden="true"]{display:grid}
 .hp-home .service-index .marquee-group a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;min-width:0;padding:20px 24px;white-space:normal;border-right:0}
 .hp-home .service-index .marquee-group a:last-child{border-right:0}
 .hp-home .service-index .marquee-group a>span:last-child{margin-left:0}
 .hp-home .marquee-toggle:not([hidden]){display:block}
}
@media(min-width:761px) and (max-width:1000px){
 .hp-home .service-index .marquee-group a{padding-inline:16px;gap:10px;font-size:.8125rem}
}

.hp-home .service-index:hover .marquee-track,.hp-home .service-index.is-paused .marquee-track{animation-play-state:paused}
.hp-home .service-index:focus-within .marquee-track{animation:none;transform:none}
@media(prefers-reduced-motion:reduce){.hp-home .marquee-track{animation:none;width:100%;transform:none}.hp-home .marquee-group{width:100%}.hp-home .marquee-group[aria-hidden="true"],.hp-home .marquee-toggle:not([hidden]){display:none}}

/* Center each service label and its markers within its desktop slot. */
@media(min-width:761px){
 .hp-home .service-index .marquee-group a{display:flex;justify-content:center;text-align:center}
}

/* Clear separation between the three roles; network follows the divider. */
.homepage .rail-statement>span{display:block}
.homepage .rail-statement>span+span{margin-top:12px}
@media(min-width:761px){.homepage .hero-rail{justify-content:flex-start;gap:24px}}

.homepage .rail-statement{margin-top:14px!important}
.homepage .hero-kicker,.homepage .rail-label{line-height:1.7}
.homepage .partner:first-child .portrait{background:#13152f}
@media(min-width:761px){.homepage .hero-content,.homepage .hero-rail{padding-top:76px}}
@media(min-width:761px) and (max-width:1100px){.homepage .hero-content,.homepage .hero-rail{padding-top:70px}}

.homepage .partner:first-child .portrait img{transform:translateY(2%) scale(1.03)}
.homepage .partner:first-child:hover .portrait img{transform:translateY(2%) scale(1.05)}

/* Expertise ribbon: no arrows, equally sized and centered service slots. */
.hp-home .service-index .marquee-group a>span[aria-hidden="true"]{display:none}
.hp-home .service-index .marquee-group a{justify-content:center;text-align:center;column-gap:14px}
@media(max-width:760px){
 .hp-home .service-index .marquee-group{display:grid;grid-template-columns:repeat(4,280px);min-width:0}
 .hp-home .service-index .marquee-group a{min-width:0;padding:18px 24px;white-space:normal}
}
@media(prefers-reduced-motion:reduce){.hp-home .service-index .marquee-group[aria-hidden="true"]{display:none}}

/* The remaining span is the service number, never an end marker. */
.hp-home .service-index .marquee-group a>span:first-child{margin-left:0;flex-shrink:0}
