/* Shared light/dark surface rules: never use hero copy colours on white pages. */
.plan-wrap .intro,.legal .intro{color:#435166}
.hero .intro{color:#d3d9e2}
.plan-heading h1 span,.planning-page .plan-heading>div,.planning-page .wizard-heading>p,.planning-page .form-note,.project-contact-details span,.project-advice p,.readiness-note,.decision-row small{color:#526074}
.procurement-control button:not([aria-pressed=true]){color:#526074}
.plan-wrap .contact-hero .eyebrow,.early-careers .eyebrow{color:#d5b577}
.plan-wrap .contact-hero .response-promise,.contact-hero .response-promise p{color:#0a192f!important;background:#f5f5f3}
.contact-hero .guide-note{color:#0a192f}
.contact-hero .intro,.contact-hero .form-note,.contact-hero .field label,.contact-hero .checkline,.contact-hero .upload-field p{color:#e0e6ef}
.resource-card span{color:#795a20}
.menu{color:#172338}
.knowledge-image figcaption,.case-card span{color:#526074}
.knowledge-page .intro{max-width:52rem}
.brand i,.footer-brand i,.number,.value-number{color:#80602c}
.sectors b{color:#c5a059}
.project-steps button span{color:#80602c}
.project-steps button[aria-current=step] span{color:#80602c}
.value-panel>div p+p{color:#526074}
.value-panel[open]>div p+p{color:#d5deea}
.value-panel[open] .value-number{color:#d5b577}
.planning-page .optional-details{color:#526074}
.careers-intro h1 em{color:#80602c}
header nav{flex-wrap:wrap}
header nav a{white-space:nowrap}
@media(min-width:761px) and (max-width:1400px){header{flex-wrap:wrap}header nav{margin-top:.6rem;gap:12px}}
@media(prefers-contrast:more){:root{--muted:#354357}.hero .intro,.commercial p{color:white}}
