/* ==========================================================================
   Company hub

   Only the patterns this page adds. The banner, the FAQ accordion, the section
   headings and the closing CTA come from stylesheets already linked.

   Band rhythm is the homepage's: 48 / 64 / 80. Bands alternate white and
   --ps-color-neutral-2-100 so no two adjacent bands share a tint, with
   --ps-color-neutral-2-000 reserved for the closing CTA. No dark band.
   ========================================================================== */

/* --------------------------------------------------------------------------
   §2 What we sell
   -------------------------------------------------------------------------- */
.overview{background:var(--ps-color-neutral-2-100);border-block:1px solid var(--ps-color-neutral-2-300);padding-block:48px}
.overview__head{grid-column-end:span var(--ps-grid-columns);margin-bottom:24px}
.overview__title{color:var(--ps-color-neutral-3-500);margin:0}
.overview__body{grid-column-end:span var(--ps-grid-columns)}
.overview__copy{max-width:74ch}
.overview__para{color:var(--ps-color-secondary-5-500);margin:0 0 18px}
.overview__para:last-child{margin-bottom:0}
.overview__para strong{color:var(--ps-color-neutral-3-500);font-weight:500}

@media (min-width:640px){.overview{padding-block:64px}}
@media (min-width:1024px){.overview{padding-block:80px}}
@media (min-width:1350px){
  .overview__head,.overview__body{grid-column-start:2;grid-column-end:span 10}
}

/* --------------------------------------------------------------------------
   §3 Key facts

   Dated figures, each linking to the page behind it. A .fact--pending variant
   is ready for headcount, revenue and the customer count when the client
   supplies them with an as-at date.
   -------------------------------------------------------------------------- */
.facts{background:var(--sv-white);padding-block:48px}
.facts__head{grid-column-end:span var(--ps-grid-columns);margin-bottom:28px;text-align:center}
.facts__title{color:var(--ps-color-neutral-3-500);margin:0}
.facts__grid{
  grid-column-end:span var(--ps-grid-columns);
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;
}
.fact{
  display:flex;flex-direction:column;gap:6px;
  padding:22px 20px;
  background:var(--sv-white);
  border:1px solid var(--ps-color-neutral-2-300);border-radius:16px;
  transition:border-color .25s ease-out;
}
.fact:hover{border-color:var(--ps-color-neutral-2-500)}
.fact--pending{border-style:dashed}
.fact__value{
  font:500 30px/36px var(--ps-font-display,var(--ps-font));letter-spacing:-.01em;
  color:var(--ps-color-neutral-3-500);
}
.fact__label{font:400 13px/19px var(--ps-font);letter-spacing:normal;color:var(--ps-color-secondary-5-500)}
.fact__link{
  margin-top:6px;
  font:500 12px/18px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-brand-600);
  text-decoration:underline;text-underline-offset:2px;
}
.fact__link:hover{color:var(--ps-color-brand-500)}
.facts__footnote{
  grid-column-end:span var(--ps-grid-columns);
  margin:24px 0 0;text-align:center;
  font:400 12px/19px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-neutral-2-900);
}
.facts__footnote a{color:var(--ps-color-brand-600);text-decoration:underline;text-underline-offset:2px}

@media (min-width:640px){.facts{padding-block:64px}.fact__value{font-size:34px;line-height:40px}}
@media (min-width:1024px){
  .facts{padding-block:80px}
  .facts__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .fact{padding:26px 24px}
}
@media (min-width:1350px){
  .facts__head,.facts__grid,.facts__footnote{grid-column-start:2;grid-column-end:span 10}
}

/* --------------------------------------------------------------------------
   §4 Since 1984
   -------------------------------------------------------------------------- */
.since{background:var(--ps-color-neutral-2-100);border-top:1px solid var(--ps-color-neutral-2-300);padding-block:48px}
.since__body{grid-column-end:span var(--ps-grid-columns)}
.since__copy{max-width:70ch}
.since__title{color:var(--ps-color-neutral-3-500);margin:0 0 18px}
.since__para{color:var(--ps-color-secondary-5-500);margin:0 0 18px}
.since__para:last-child{margin-bottom:0}

@media (min-width:640px){.since{padding-block:64px}}
@media (min-width:1024px){.since{padding-block:80px}}
@media (min-width:1350px){.since__body{grid-column-start:2;grid-column-end:span 10}}

/* --------------------------------------------------------------------------
   §5 Leadership
   -------------------------------------------------------------------------- */
.leadership{background:var(--sv-white);padding-block:48px}
.leadership__head{grid-column-end:span var(--ps-grid-columns);margin-bottom:28px}
.leadership__title{color:var(--ps-color-neutral-3-500);margin:0 0 12px}
.leadership__lead{color:var(--ps-color-secondary-5-500);margin:0;max-width:66ch}
.leadership__grid{
  grid-column-end:span var(--ps-grid-columns);
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:1fr;gap:16px;
}
.leader{
  display:flex;flex-direction:column;gap:6px;
  padding:22px 20px;
  border:1px solid var(--ps-color-neutral-2-300);border-radius:16px;
  border-left-width:2px;border-left-color:var(--ps-color-brand-500);
  background:var(--sv-white);
}
.leader__name{margin:0;font:500 16px/23px var(--ps-font);letter-spacing:normal;color:var(--ps-color-neutral-3-500)}
.leader__role{margin:0;font:400 13px/19px var(--ps-font);letter-spacing:normal;color:var(--ps-color-brand-600)}
.leader__note{margin:6px 0 0;font:400 13px/20px var(--ps-font);letter-spacing:normal;color:var(--ps-color-secondary-5-500)}
.leadership__cta{grid-column-end:span var(--ps-grid-columns);margin-top:28px}

@media (min-width:640px){
  .leadership{padding-block:64px}
  .leadership__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1024px){
  .leadership{padding-block:80px}
  .leadership__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:1350px){
  .leadership__head,.leadership__grid,.leadership__cta{grid-column-start:2;grid-column-end:span 10}
}

/* --------------------------------------------------------------------------
   §6 Careers · §7 Investors — full-width bands

   Careers gets a band of its own rather than a link in a grid, because it is
   the most searched term in this set and has no page today.
   -------------------------------------------------------------------------- */
.band{padding-block:48px}
.band--careers{background:var(--ps-color-neutral-2-100);border-block:1px solid var(--ps-color-neutral-2-300)}
.band--investors{background:var(--sv-white)}
.band__inner{
  grid-column-end:span var(--ps-grid-columns);
  display:flex;flex-direction:column;gap:28px;
}
.band__copy{max-width:70ch}
.band__eyebrow{
  display:block;margin-bottom:10px;
  font:500 11px/16px var(--ps-font);letter-spacing:.14em;text-transform:uppercase;
  color:var(--ps-color-brand-600);
}
.band__title{color:var(--ps-color-neutral-3-500);margin:0 0 16px}
.band__body{color:var(--ps-color-secondary-5-500);margin:0 0 14px}
.band__body:last-child{margin-bottom:0}
.band__actions{display:flex;flex-wrap:wrap;gap:16px}

@media (min-width:640px){.band{padding-block:64px}}
@media (min-width:1024px){
  .band{padding-block:80px}
  .band__inner{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:48px}
  .band__actions{flex:none}
}
@media (min-width:1350px){.band__inner{grid-column-start:2;grid-column-end:span 10}}

/* --------------------------------------------------------------------------
   §8 Offices — a written list, not a map
   -------------------------------------------------------------------------- */
.offices{background:var(--ps-color-neutral-2-100);border-top:1px solid var(--ps-color-neutral-2-300);padding-block:48px}
.offices__head{grid-column-end:span var(--ps-grid-columns);margin-bottom:32px}
.offices__title{color:var(--ps-color-neutral-3-500);margin:0 0 12px}
.offices__lead{color:var(--ps-color-secondary-5-500);margin:0;max-width:70ch}
.offices__grid{grid-column-end:span var(--ps-grid-columns);display:grid;grid-template-columns:1fr;gap:32px}
.offices__region-name{
  margin:0 0 16px;padding-bottom:10px;
  border-bottom:1px solid var(--ps-color-neutral-2-300);
  font:500 11px/16px var(--ps-font);letter-spacing:.14em;text-transform:uppercase;
  color:var(--ps-color-brand-600);
}
.offices__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:20px}
.office{
  background:var(--sv-white);
  border:1px solid var(--ps-color-neutral-2-300);border-radius:16px;
  padding:20px 18px;
}
.office__city{margin:0 0 8px;font:500 15px/22px var(--ps-font);letter-spacing:normal;color:var(--ps-color-neutral-3-500)}
.office__partner{margin:0 0 8px;font:500 13px/19px var(--ps-font);letter-spacing:normal;color:var(--ps-color-brand-600)}
.office__address{margin:0 0 10px;font:400 13px/20px var(--ps-font);letter-spacing:normal;color:var(--ps-color-secondary-5-500)}
.office__contact{margin:0;font:400 13px/20px var(--ps-font);letter-spacing:normal}
.office__contact a{color:var(--ps-color-brand-600);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.office__contact a:hover{color:var(--ps-color-brand-500)}
.offices__dist{grid-column-end:span var(--ps-grid-columns);margin-top:36px}
.offices__dist-note{margin:0 0 16px;font:400 13px/20px var(--ps-font);letter-spacing:normal;color:var(--ps-color-neutral-2-900)}

@media (min-width:640px){
  .offices{padding-block:64px}
  .offices__list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1024px){
  .offices{padding-block:80px}
  .offices__list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .offices__list--dist{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1350px){
  .offices__head,.offices__grid,.offices__dist{grid-column-start:2;grid-column-end:span 10}
}

/* --------------------------------------------------------------------------
   §9 Newsroom
   -------------------------------------------------------------------------- */
.newsroom{background:var(--sv-white);padding-block:48px}
.newsroom__head{grid-column-end:span var(--ps-grid-columns);margin-bottom:28px}
.newsroom__title{color:var(--ps-color-neutral-3-500);margin:0 0 12px}
.newsroom__lead{color:var(--ps-color-secondary-5-500);margin:0;max-width:66ch}
.newsroom__body{grid-column-end:span var(--ps-grid-columns);display:grid;grid-template-columns:1fr;gap:24px}
.newsroom__sub{
  margin:0 0 14px;
  font:500 11px/16px var(--ps-font);letter-spacing:.14em;text-transform:uppercase;
  color:var(--ps-color-brand-600);
}
.newsroom__list{list-style:none;margin:0 0 18px;padding:0}
.newsroom__link{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  padding:14px 0;border-bottom:1px solid var(--ps-color-neutral-2-300);
  color:var(--ps-color-neutral-3-500);transition:color .2s ease-out;
}
.newsroom__text{font:400 14px/21px var(--ps-font);letter-spacing:normal}
.newsroom__link:hover{color:var(--ps-color-brand-600)}
.newsroom__arrow{display:flex;flex:none;margin-top:4px;color:var(--ps-color-neutral-2-900);transition:transform .2s ease-out,color .2s ease-out}
.newsroom__arrow svg{width:13px;height:11px;fill:currentColor}
.newsroom__link:hover .newsroom__arrow{transform:translateX(3px);color:var(--ps-color-brand-500)}
.newsroom__press{
  background:var(--ps-color-neutral-2-000);
  border:1px solid var(--ps-color-neutral-2-300);border-radius:16px;
  padding:24px 22px;align-self:start;
}
.newsroom__press-body{margin:0 0 16px;font:400 14px/22px var(--ps-font);letter-spacing:normal;color:var(--ps-color-secondary-5-500)}
.newsroom__press-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.newsroom__press-links a{
  font:500 13px/20px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-brand-600);text-decoration:underline;text-underline-offset:2px;
}
.newsroom__press-links a:hover{color:var(--ps-color-brand-500)}

@media (min-width:640px){.newsroom{padding-block:64px}}
@media (min-width:1024px){
  .newsroom{padding-block:80px}
  .newsroom__body{grid-template-columns:7fr 5fr;gap:40px}
}
@media (min-width:1350px){
  .newsroom__head,.newsroom__body{grid-column-start:2;grid-column-end:span 10}
}

/* --------------------------------------------------------------------------
   §11 Connect
   -------------------------------------------------------------------------- */
.connect{background:var(--ps-color-neutral-2-100);border-top:1px solid var(--ps-color-neutral-2-300);padding-block:48px}
.connect__head{grid-column-end:span var(--ps-grid-columns);margin-bottom:28px;text-align:center}
.connect__title{color:var(--ps-color-neutral-3-500);margin:0}
.connect__grid{
  grid-column-end:span var(--ps-grid-columns);
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:1fr;gap:12px;
}
.connect-card__link{
  position:relative;height:100%;
  display:grid;grid-template-columns:1fr auto;align-items:start;gap:4px 16px;
  background:var(--sv-white);
  border:1px solid var(--ps-color-neutral-2-300);border-radius:12px;
  padding:18px 18px;
  transition:border-color .25s ease-out;
}
.connect-card__link:hover{border-color:var(--ps-color-neutral-2-500)}
.connect-card__name{
  grid-column:1;
  font:500 15px/22px var(--ps-font);letter-spacing:normal;color:var(--ps-color-neutral-3-500);
}
.connect-card__desc{
  grid-column:1;
  font:400 13px/20px var(--ps-font);letter-spacing:normal;color:var(--ps-color-secondary-5-500);
}
.connect-card__arrow{
  grid-column:2;grid-row:1 / span 2;
  display:flex;margin-top:4px;color:var(--ps-color-neutral-2-900);
  transition:transform .2s ease-out,color .2s ease-out;
}
.connect-card__arrow svg{width:13px;height:11px;fill:currentColor}
.connect-card__link:hover .connect-card__arrow{transform:translateX(3px);color:var(--ps-color-brand-500)}

@media (min-width:640px){
  .connect{padding-block:64px}
  .connect__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1024px){
  .connect{padding-block:80px}
  .connect__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1350px){
  .connect__head,.connect__grid{grid-column-start:2;grid-column-end:span 10}
}

@media (prefers-reduced-motion:reduce){
  .fact,.newsroom__link,.newsroom__arrow,.connect-card__link,.connect-card__arrow{transition:none}
}

/* --------------------------------------------------------------------------
   Company round, 2026-09-24 (docs/handoffs/company/)
   -------------------------------------------------------------------------- */
/* COMPANY-13: lead line, then one entry per business unit - its name, its
   families as an inline list, and a one-line description */
.overview__units{display:grid;grid-template-columns:1fr;gap:16px;margin:0 0 18px}
.overview__unit{
  padding:20px 22px;border:1px solid var(--ps-color-neutral-2-300);border-radius:14px;
  background:var(--sv-white);
}
.overview__unit-name{margin:0 0 8px;font:500 17px/24px var(--ps-font);letter-spacing:normal;color:var(--ps-color-neutral-3-500)}
.overview__families{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:4px 0}
.overview__families li{font:500 12px/18px var(--ps-font);letter-spacing:.02em;color:var(--ps-color-brand-600)}
.overview__families li + li::before{content:"\00b7";margin:0 8px;color:var(--ps-color-neutral-2-900)}
.overview__unit-desc{margin:0;font:400 14px/22px var(--ps-font);letter-spacing:normal;color:var(--ps-color-secondary-5-500)}
@media (min-width:768px){.overview__units{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* COMPANY-05: each press release carries its date above the title */
.newsroom__body-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.newsroom__date{font:400 12px/18px var(--ps-font);letter-spacing:.02em;color:var(--ps-color-neutral-2-900)}
/* COMPANY-07: the text link under FAQ answer 4 */
.faq__answer-cta{margin-top:12px}
/* COMPANY-03 adds a fifth leader. Four or two columns would leave one card
   alone on a row, so from 640px the grid runs on six tracks: the two cards
   that carry a descriptor (CEO, CFO) take half the row each, the other three
   share the second row. Revisit if the number of leaders changes. */
@media (min-width:640px){
  .leadership__grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .leader{grid-column:span 2}
  .leader:nth-child(-n+2){grid-column:span 3}
}
