/* Company pages: cool paper, real people and a London address. */
.company-about-page { background: #f4f6f8; }
.company-about-page header.site, .company-about-page .site-header { position: sticky; top: 0; left: auto; right: auto; bottom: auto; z-index: 200; background: #071126; border-bottom: 1px solid #243044; }
.company-about-page .compact-header-bar, .company-about-page header.site > .wrap { position: relative; z-index: 201; }
.company-about-page .compact-header-bar, .company-about-page header.site > .bar { min-height: 100px; padding-block: 10px; }
.company-about-page .compact-brand { --logo-height: 80px; }
.company-about-page header.site .logo-img { height: 80px; width: auto; }
.company-about-page[data-company-about-site="med"] header.site { background: #f4f6f8; color: #0e1a24; border-bottom-color: #dde3e8; }
.company-about-page .compact-menu-panel { top: 112px; max-height: calc(100dvh - 132px); }
.company-about-page .site-header:not(.compact-site-header) { width: 100%; margin: 0; min-height: 100px; padding: 10px 32px; }
.company-about-page .site-header .hero-logo-link { position: relative; width: 136px; height: 78px; overflow: hidden; }
.company-about-page .site-header .hero-brand-logo { position: absolute; top: -27px; left: 0; width: 136px; height: 136px; max-width: none; object-fit: contain; }
.company-about-page main { margin: 0; padding: 0; }
.company-about {
  --ca-paper: #f4f6f8; --ca-ink: #0e1a24; --ca-muted: #54626e; --ca-line: #dde3e8;
  color: #1b2a34; background: var(--ca-paper); font-family: 'Inter Tight', Inter, system-ui, sans-serif; font-size: 17px; line-height: 1.7;
}
.company-about, .company-about * { box-sizing: border-box; }
.company-about .ca-wrap { width: calc(100% - 64px); max-width: 1160px; margin-inline: auto; }
.company-about h1, .company-about h2 { font-family: Fraunces, Georgia, serif; font-weight: 400; color: var(--ca-ink); letter-spacing: -.035em; text-wrap: balance; }
.company-about h1 { margin: 20px 0 24px; font-size: clamp(42px, 4.8vw, 68px); line-height: 1.08; }
.company-about h2 { margin: 12px 0 24px; font-size: clamp(30px, 3.2vw, 46px); line-height: 1.15; }
.company-about h3 { margin: 0 0 12px; font: 600 21px/1.35 'Inter Tight', Inter, system-ui, sans-serif; color: var(--ca-ink); }
.company-about p { margin: 0 0 20px; color: var(--ca-muted); font-size: 17px; line-height: 1.7; }
.company-about a { color: var(--ca-ink); text-decoration: underline; text-underline-offset: 4px; }
.company-about a:focus-visible { outline: 3px solid var(--ca-accent); outline-offset: 5px; }
.company-about .ca-label { margin: 0 0 12px; color: var(--ca-accent); font: 600 12px/1.5 'IBM Plex Mono', ui-monospace, monospace; text-transform: uppercase; letter-spacing: .12em; }
.company-about .ca-hero { padding-block: 64px 72px; }
.company-about .ca-hero-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 72px; align-items: center; }
.company-about .ca-crumb { margin-bottom: 32px; display: flex; flex-wrap: wrap; gap: 10px; color: var(--ca-muted); font-size: 13px; }
.company-about .ca-intro { max-width: 36ch; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.6; }
.company-about .ca-actions { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; margin-top: 28px; }
.company-about .ca-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 52px; padding: 12px 24px; border-radius: 999px; background: var(--ca-ink); color: white; font-weight: 600; text-decoration: none; transition: transform .18s ease; }
.company-about .ca-button:hover { transform: translateY(-2px); }
.company-about figure { margin: 0; }
.company-about .ca-building { position: relative; padding-left: 20px; border-left: 2px solid var(--ca-accent); }
.company-about .ca-building img { display: block; width: 100%; height: 500px; object-fit: cover; object-position: center 38%; border-radius: 3px; }
.company-about figcaption { padding-top: 14px; color: var(--ca-muted); font-size: 12px; line-height: 1.6; }
.company-about .ca-story { padding-block: 72px 88px; border-top: 1px solid var(--ca-line); }
.company-about .ca-story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; }
.company-about .ca-sector { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--ca-line); }
.company-about .ca-sector h3 { font-size: 17px; }
.company-about .ca-director { background: var(--ca-ink); padding-block: 88px; }
.company-about .ca-director-grid { display: grid; grid-template-columns: 330px 1fr; gap: 80px; align-items: center; }
.company-about .ca-portrait img { display: block; width: 100%; height: auto; border-radius: 4px; }
.company-about .ca-director h2, .company-about .ca-director a, .company-about .ca-portrait figcaption { color: #f4f6f8; }
.company-about .ca-director p { color: #b7c6cf; }
.company-about .ca-director .ca-label { color: #f0805a; }
.company-about .ca-portrait strong { display: block; font-size: 19px; font-weight: 600; }
.company-about .ca-portrait figcaption { padding-top: 20px; font-size: 13px; }
.company-about .ca-values { padding-block: 88px; }
.company-about .ca-values-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 64px; margin-top: 44px; }
.company-about .ca-value { padding: 28px 0; border-top: 1px solid var(--ca-line); }
.company-about .ca-value p { margin: 0; }
.company-about .ca-trust { padding-block: 80px; background: #eaeef2; }
.company-about .ca-trust-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.company-about .ca-company { padding-left: 28px; border-left: 2px solid var(--ca-accent); }
.company-about .ca-company h3 { font-size: 26px; }
.company-about address { font-style: normal; line-height: 1.7; }
.company-about dl { margin: 20px 0; }
.company-about dt { color: var(--ca-muted); font-size: 13px; }
.company-about dd { margin: 0; color: var(--ca-ink); font-size: 19px; }
.company-about .ca-office-copy { max-width: 760px; padding-top: 48px; }
.company-about .ca-award { display: grid; grid-template-columns: 148px 1fr; gap: 36px; align-items: center; padding-block: 72px; }
.company-about .ca-award img { display: block; width: 148px; height: auto; }
.company-about .ca-award h2 { max-width: 33ch; font-size: clamp(27px, 2.6vw, 38px); }
.company-about .ca-award-links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.company-about .ca-policies { padding-block: 0 72px; max-width: 760px; }
.company-about .ca-cta { padding-block: 72px; background: var(--ca-ink); }
.company-about .ca-cta h2 { color: #f4f6f8; }
.company-about .ca-cta p { max-width: 60ch; color: #b7c6cf; }
.company-about .ca-cta .ca-button { background: #f4f6f8; color: var(--ca-ink); }
.company-about .ca-hero-grid > div { animation: ca-arrive .55s ease both; }
.company-about .ca-building { animation: ca-arrive .7s .1s ease both; }
@keyframes ca-arrive { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@supports (animation-timeline: view()) {
  .company-about .ca-value { animation: ca-arrive linear both; animation-timeline: view(); animation-range: entry 0% entry 70%; }
}
@media (max-width: 760px) {
  .company-about .ca-wrap { width: calc(100% - 40px); }
  .company-about .ca-hero { padding-block: 36px 48px; }
  .company-about .ca-hero-grid, .company-about .ca-story-grid, .company-about .ca-trust-grid { grid-template-columns: 1fr; gap: 32px; }
  .company-about .ca-crumb { margin-bottom: 24px; }
  .company-about .ca-building { padding-left: 14px; }
  .company-about .ca-building img { height: 390px; }
  .company-about .ca-story, .company-about .ca-director, .company-about .ca-values, .company-about .ca-trust { padding-block: 52px; }
  .company-about .ca-director-grid { grid-template-columns: 1fr; gap: 36px; }
  .company-about .ca-portrait { max-width: 330px; width: 100%; }
  .company-about .ca-values-grid { grid-template-columns: 1fr; margin-top: 28px; }
  .company-about .ca-company { padding-left: 20px; }
  .company-about .ca-award { grid-template-columns: 1fr; gap: 20px; padding-block: 52px; }
  .company-about .ca-award img { width: 116px; }
  .company-about .ca-policies { padding-bottom: 52px; }
  .company-about .ca-cta { padding-block: 52px; }
  .company-about-page .site-header:not(.compact-site-header) { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) { .company-about .ca-hero-grid > div, .company-about .ca-building, .company-about .ca-value { animation: none; } .company-about .ca-button { transition: none; } }
