/* Editorial layout refinement. Brand, navigation and copy remain intact. */
:root { --max: 1160px; }
body { background: #fff; }
h1, h2, h3 { letter-spacing: -.025em; }
.site-header { border-bottom-color: #dce1e4; }
.header-inner { min-height: 76px; }
.home-hero { padding: 55px 0 62px; background: #f8f7f4; }
.home-hero h1 { max-width: 830px; margin-bottom: 16px; font-size: clamp(2.15rem, 3.35vw, 3.15rem); line-height: 1.12; }
.home-hero .hero-copy { font-size: 1.03rem; }
.home-hero .actions { margin-top: 23px; }
.legacy-copy-block:not(.legacy-cta) { padding: 52px 0; background: #fff; }
.legacy-copy-block:not(.legacy-cta) .legacy-prose { display: grid; grid-template-columns: minmax(180px, .36fr) minmax(0, .64fr); column-gap: clamp(35px, 5vw, 85px); max-width: none; }
.legacy-copy-block:not(.legacy-cta) .legacy-prose h2 { grid-row: span 2; font-size: 1.65rem; }
.legacy-copy-block:not(.legacy-cta) .legacy-prose p { max-width: 700px; }
.services-section { padding: 51px 0 59px; }
.services-section .section-intro { display: block; margin-bottom: 24px; }
.services-section .section-intro h2 { font-size: 1.85rem; }
.service-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; border-top: 0; }
.service-row { position: relative; display: block; min-height: 172px; padding: 25px 27px 26px; border: 1px solid #dce2e5; background: #fbfcfc; }
.service-row:hover { border-color: var(--gold); background: #fff; }
.service-number { display: none; }
.service-text { display: block; }
.service-text strong { display: block; padding-right: 19px; margin-bottom: 12px; font-size: 1.05rem; }
.service-text span { display: block; font-size: .91rem; line-height: 1.55; }
.row-arrow { position: absolute; top: 25px; right: 23px; }
.legacy-cta { padding: 43px 0; background: #172844; color: #f0f3f5; }
.legacy-cta h2 { color: #fff; font-size: 1.7rem; }
.legacy-cta p { color: #e2e8ec; }
.legacy-cta .button-primary { border-color: #fff; background: #fff; color: #172844; }
.legacy-cta .button-primary:hover { color: #172844; background: #e9eef0; }
.cap-intro { padding-top: 48px; padding-bottom: 43px; }
.cap-intro h1 { font-size: clamp(2.1rem, 3vw, 2.7rem); }
.cap-row { padding-top: 30px; padding-bottom: 31px; }
.cap-row h2 { font-size: 1.47rem; }
.cap-row p, .cap-row li { line-height: 1.6; }
.sector-lead { padding-top: 47px; padding-bottom: 49px; }
.sector-lead h1 { font-size: clamp(2.1rem, 3vw, 2.7rem); }
.sector-list { gap: 0 25px; }
.sector-list article { padding: 19px 0; }
.about-page { padding: 0 0 50px; }
.legacy-about-intro { max-width: none; margin: 0 calc((min(100vw - 64px, var(--max)) - 100vw)/2) 0; padding: 51px max(32px, calc((100vw - var(--max))/2)) 48px; background: #172844; }
.legacy-about-intro h1 { color: #fff; font-size: clamp(2.15rem, 3vw, 2.7rem); }
.legacy-about-intro p { color: #e3e9ec !important; max-width: 750px; }
.legacy-about-grid { display: block; padding-top: 18px; }
.legacy-about-section { display: grid; grid-template-columns: minmax(180px, .34fr) minmax(0, .66fr); gap: 0 clamp(30px, 5vw, 85px); padding: 25px 0 27px; border-top: 1px solid #d5dee2; }
.legacy-about-section h2 { grid-row: span 2; font-size: 1.35rem; }
.legacy-about-section p { max-width: 720px; }
.careers-page { padding-top: 47px; padding-bottom: 57px; }
.careers-layout { grid-template-columns: 1fr; gap: 25px; }
.careers-layout > div:first-child { max-width: 870px; }
.careers-layout h1 { font-size: clamp(2.15rem, 3vw, 2.7rem); }
.careers-panel { max-width: 820px; }
.careers-openings { padding: 27px 0 0; border-top: 1px solid #d5dee2; }
.careers-openings h2 { margin: 0 0 8px; font-size: 1.55rem; }
.careers-openings > p { margin-bottom: 20px; color: var(--muted); }
.whr-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 25px; padding: 0; margin: 0; list-style: none; }
.whr-item { padding: 16px 0; border-top: 1px solid #d5dee2; }
.whr-title { margin: 0 0 4px; font-size: 1.04rem; }
.whr-title a { color: var(--navy); text-decoration: none; }
.whr-title a:hover { text-decoration: underline; }
.whr-info { display: flex; flex-wrap: wrap; gap: 5px 16px; padding: 0; margin: 0; list-style: none; color: var(--muted); font-size: .86rem; }
.whr-group { margin: 23px 0 12px; font-size: 1.2rem; }
.whr-empty-text, .whr-error, .whr-loading { color: var(--muted); }
.careers-panel { background: #f5f7f7; border-top: 2px solid var(--gold); }
.site-footer { padding-top: 32px; }
@media (max-width: 900px) {
  .service-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .home-hero { padding: 33px 0 38px; }
  .home-hero h1 { font-size: clamp(1.9rem, 7vw, 2.3rem); }
  .legacy-copy-block:not(.legacy-cta) { padding: 31px 0; }
  .legacy-copy-block:not(.legacy-cta) .legacy-prose { display: block; }
  .legacy-copy-block:not(.legacy-cta) .legacy-prose h2 { font-size: 1.5rem; }
  .services-section { padding: 32px 0 39px; }
  .service-list { grid-template-columns: 1fr; gap: 10px; }
  .service-row { min-height: 0; padding: 19px 21px; }
  .row-arrow { top: 18px; right: 19px; }
  .service-text strong { margin-bottom: 7px; }
  .legacy-cta { padding: 32px 0; }
  .cap-intro { padding-top: 32px; padding-bottom: 30px; }
  .cap-row { padding-top: 22px; padding-bottom: 22px; }
  .sector-lead { padding-top: 33px; padding-bottom: 37px; }
  .about-page { padding-bottom: 36px; }
  .legacy-about-intro { margin: 0 -20px; padding: 34px 20px 33px; }
  .legacy-about-grid { padding-top: 5px; }
  .legacy-about-section { display: block; padding: 21px 0; }
  .legacy-about-section h2 { font-size: 1.27rem; }
  .careers-page { padding-top: 32px; padding-bottom: 38px; }
  .whr-items { grid-template-columns: 1fr; }
}
@media (max-width: 440px) {
  .legacy-about-intro { margin: 0 -18px; padding-left: 18px; padding-right: 18px; }
  .home-hero h1 { font-size: 1.93rem; }
  .careers-openings h2 { font-size: 1.42rem; }
}
