/* Integration layer for the refreshed company and enquiry pages.
   Their retained preview styles include placeholder shell rules; the real
   navigation, footer and conditional qualification panels come from the
   shared site runtime. */
#p-nav {
  height: auto;
  border: 0;
  background: transparent;
}

#p-nav::before,
#p-nav::after,
body::after {
  content: none !important;
  display: none !important;
}

#p-foot {
  min-height: 0;
  margin-top: 0;
  background: transparent;
}

.qualification-fields:not([hidden]),
.p3-application-fields:not([hidden]) {
  display: block !important;
}


/* ==========================================================================
   Shared corrections and finish for About, Engineering Support, Careers,
   Partner With Us and Contact.

   Two faults ran through all five.

   1. Small accent text used the brand orange #e5551a: 3.72:1 on white and
      3.31:1 on the pale section grounds, both under the 4.5:1 AA threshold.
      On the light grounds it becomes #c8420f (5.0:1); on the navy ones it
      becomes #ffb18d, which is what the rest of the site uses there.

   2. The dark heroes and panels were written before the global palette
      sheets reached these pages. Those sheets paint strong, h2, h3, p and li
      in ink navy - correct on the light sections, unreadable on the navy
      ones. The Partner With Us readiness panel measured 1.21:1 and its
      "Partnership prerequisites" panel 1.29:1.

   The dark roots below were not guessed: each page was walked at runtime,
   compositing every background layer, and these are the blocks that came
   back below 0.22 relative luminance.
   ========================================================================== */

/* ---- accents on the light grounds --------------------------------------- */

html body :is(
  .abt-kicker, .abt-person-focus, .abt-model-role, .abt-domain-code, .abt-step-num,
  .svc-kicker, .svc-app-label, .svc-value-label, .svc-card-link,
  .cr-kicker, .cr-value-num, .cr-role-tag,
  .pw-eyebrow, .pw-offer-tag,
  .next-step__n
) {
  color: #b83a0b !important;
}

/* ---- the dark blocks ---------------------------------------------------- */

html body :is(
  .abt-hero, .abt-process, .abt-cta, .abt-section-dark, .abt-hero-proof,
  .svc-hero, .svc-cta, .svc-process, .svc-section-dark, .svc-contact-card, .svc-hero-meta,
  .cr-hero, .cr-hero-panel, .cr-expect, .cr-apply-aside, .cr-snapshot, .cr-section-dark,
  .pw-hero, .pw-readiness, .pw-fit-panel.pw-not-fit, .pw-contact,
  .pw-output,
  .abt-office-head, .page-hero
) :is(h1, h2, h3, h4, strong, b) {
  color: #fff !important;
}

html body :is(
  .abt-hero, .abt-process, .abt-cta, .abt-section-dark, .abt-hero-proof,
  .svc-hero, .svc-cta, .svc-process, .svc-section-dark, .svc-contact-card, .svc-hero-meta,
  .cr-hero, .cr-hero-panel, .cr-expect, .cr-apply-aside, .cr-snapshot, .cr-section-dark,
  .pw-hero, .pw-readiness, .pw-fit-panel.pw-not-fit, .pw-contact,
  .pw-output,
  .abt-office-head, .page-hero
) :is(p, li, small, span, dd, td) {
  color: #c6d5e1 !important;
}

/* accents keep their emphasis on the dark grounds, in the light orange */
html body :is(
  .abt-hero, .abt-process, .abt-cta, .abt-section-dark, .abt-hero-proof,
  .svc-hero, .svc-cta, .svc-process, .svc-section-dark, .svc-contact-card, .svc-hero-meta,
  .cr-hero, .cr-hero-panel, .cr-expect, .cr-apply-aside, .cr-snapshot, .cr-section-dark,
  .pw-hero, .pw-readiness, .pw-fit-panel.pw-not-fit, .pw-contact,
  .pw-output,
  .page-hero
) :is(
  .abt-kicker, .abt-proof-value,
  .svc-kicker, .svc-meta-value,
  .cr-kicker, .cr-panel-label, .cr-value-num,
  .pw-eyebrow, .pw-readiness-kicker, .pw-trust-line,
  .ph-label, .lbl, .eyebrow
) {
  color: #ffb18d !important;
}

/* Buttons are opted out of the dark-block text rules: they carry their own
   face colour, and inheriting the panel's white put white on a white face. */
html body :is(.btn-orange, .pw-btn-primary, .cr-btn-primary, .svc-btn-primary) {
  color: #fff !important;
  background: #c8420f !important;
  border-color: #c8420f !important;
}

html body :is(.pw-btn-secondary, .cr-btn-secondary, .svc-btn-secondary, .btn-light) {
  color: #0f2238 !important;
  background: #fff !important;
}

/* chips that carry their own orange ground take white, not the light orange */
html body :is(.abt-step-num, .abt-proof-value[style], .cr-value-num.on-orange) {
  color: #fff !important;
}

/* the card label that measured 2.98:1 on white */
html body .svc-card-type { color: #5a6b7f !important; }

/* ---- finish -------------------------------------------------------------- */

/* body copy holds a readable measure rather than running the full rail */
html body :is(.abt-lead, .svc-lead, .cr-lead, .pw-lead, .pw-hero-lead, .ph-sub, .svc-cta-copy, .abt-hero-lead) {
  max-width: 68ch;
}

/* one card radius across the five pages */
html body :is(
  .abt-domain-card, .abt-model-card, .abt-person-card,
  .svc-service-card, .svc-value-card, .svc-app-card, .svc-contact-card,
  .cr-value, .cr-role, .cr-expect, .pw-offer-card, .pw-party, .pw-fit-panel, .next-step
) {
  border-radius: 14px;
}

/* section headings share one rhythm */
html body :is(.abt-head, .svc-head, .cr-section-head, .pw-section-head) {
  margin-bottom: 30px;
}

html body :is(.abt-kicker, .svc-kicker, .cr-kicker, .pw-eyebrow, .pw-readiness-kicker) {
  display: block;
  margin-bottom: 10px;
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

/* the readiness list reads as prose now that its marker column has gone */
html body .pw-readiness-list { gap: 18px; }
html body .pw-readiness-item strong { display: block; margin-bottom: 4px; font-size: 14px; line-height: 1.35; }
html body .pw-readiness-item span { display: block; font-size: 12.5px; line-height: 1.62; }

/* plain links on these pages */
html body :is(.abt-page, .svc-page, .cr-page, .pw-page, .contact-page) main a:not([class]) {
  color: #b83a0b !important;
}

/* two more that measured under AA on white */
html body .pw-process-phase { color: #b83a0b !important; }
html body .pw-process-outcome { color: #55697e !important; }

/* The enquiry form sits as a white card inside the dark contact section, so
   the dark-block rules above reach into it and would paint its text white on
   white. It restates its own colours. */
html body :is(.pw-form-card.pw-form-card, .svc-step.svc-step, .cr-form-card.cr-form-card, .svc-form-card.svc-form-card, .contact-form-card.contact-form-card) :is(h1, h2, h3, h4, strong, b) {
  color: #0f2238 !important;
}

html body :is(.pw-form-card.pw-form-card, .svc-step.svc-step, .cr-form-card.cr-form-card, .svc-form-card.svc-form-card, .contact-form-card.contact-form-card) :is(p, li, small, span, label, td) {
  color: #4a5c70 !important;
}

html body :is(.pw-form-card.pw-form-card, .svc-step.svc-step, .cr-form-card.cr-form-card, .svc-form-card.svc-form-card, .contact-form-card.contact-form-card) em {
  color: #b83a0b !important;
  font-style: normal;
}

/* The step number carries its own solid orange chip, so it takes white -
   the light orange used elsewhere on dark grounds measured 2.11:1 on it. */
html body :is(.abt-hero, .abt-process, .abt-cta, .abt-section-dark) .abt-step-num,
html body .abt-step-num.abt-step-num {
  color: #fff !important;
}

/* the page wrapper class sits on <main>, so plain links are scoped from there */
html body main:is(.abt-page, .svc-page, .cr-page, .pw-page, .contact-page) a:not([class]) {
  color: #b83a0b !important;
}

/* The numbered chips carried white or light-orange text on the brand orange
   #e5551a, which is 3.72:1 and 2.11:1 respectively. The chip takes the
   readable orange, and white on it clears AA at 4.6:1. */
html body :is(.abt-step-num.abt-step-num.abt-step-num, .svc-step-num.svc-step-num.svc-step-num,
              .cr-value-num.cr-value-num.cr-value-num, .pw-process-num.pw-process-num.pw-process-num) {
  background: #c8420f !important;
  color: #fff !important;
}

/* notes that sat at 3.6-3.9:1 on white and the pale section ground */
html body :is(.cr-role-note, .cr-form-note, .svc-note, .abt-note, .pw-note) {
  color: #54677b !important;
}

/* the contact page's inline links */
html body .contact-page a:not([class]),
html body .consent-copy a,
html body .form-consent a {
  color: #b83a0b !important;
}

/* Contact details on the dark panels take the light orange; the dark orange
   measured 2.21:1 against that navy. Scoped to mailto/tel so it cannot reach
   the buttons or the white form card nested in the same section. */
html body :is(.svc-contact-card.svc-contact-card, .pw-contact.pw-contact, .abt-cta.abt-cta,
              .svc-cta.svc-cta, .cr-apply-aside.cr-apply-aside)
  a:is([href^="mailto"], [href^="tel"]) {
  color: #ffb18d !important;
}

/* the consent link inside the form label */
html body :is(.contact-field, .form-consent, .pw-form-card, .cr-form-card) label a,
html body :is(.contact-field, .form-consent) a {
  color: #b83a0b !important;
  text-underline-offset: 2px;
}

