.company-page {
  --company-ink: #191f28;
  --company-muted: #6b7684;
  --company-purple: #7938d6;
  color: var(--company-ink);
  background: #fff;
  position: relative;
  isolation: isolate;
}
.company-page::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 0 auto;
  height: 540px;
  background: radial-gradient(ellipse at 72% -12%, #e9defc 0%, #f3ecfc 28%, transparent 66%), radial-gradient(ellipse at 9% 0%, #eef2ff, transparent 55%);
  pointer-events: none;
}
.company-page a:focus-visible, .company-page button:focus-visible, .history-panel:focus-visible { outline: 2px solid var(--company-purple); outline-offset: 6px; }
.company-content { padding-inline: var(--content-inset); }
.company-content > section { position: relative; padding-block: var(--page-section-space); }
.company-content :is(h1, h2, h3, p) { text-wrap: initial; }
.company-content p { max-width: none; }
.company-content :is(section, article, ol, ul) { margin: 0; }
.company-content .company-hero { min-height: calc(100svh - 80px); padding: 140px 0 128px; display: flex; flex-direction: column; justify-content: center; }
.company-content #company-title { font-size: var(--page-title-size); line-height: var(--page-title-leading); letter-spacing: var(--page-heading-tracking); font-weight: 600; margin: 0; }
.company-content .company-hero__description { margin: 40px 0 0; max-width: 920px; font-size: var(--page-hero-description-size); line-height: 1.65; font-weight: 300; letter-spacing: -.04em; }
.company-content .company-vision { border-top: 1px solid #e5e8eb; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; padding-top: 42px; padding-bottom: 100px; }
.company-vision h2 { font-size: 32px; line-height: 1.4; letter-spacing: -.055em; }
.company-content .company-vision__lead { color: #4e5968; font-size: 20px; line-height: 1.75; letter-spacing: -.035em; }
.company-principles { padding: 28px 0 0; list-style: none; color: var(--company-muted); font-size: 17px; }
.company-principles li { position: relative; padding-left: 17px; }
.company-principles li::before { content: ""; position: absolute; left: 0; top: .75em; width: 4px; height: 4px; background: #a88bcf; border-radius: 50%; }
.company-principles li + li { margin-top: 10px; }
.company-content .company-section-title { margin: 0; font-size: var(--page-section-title-size); line-height: 1.3; letter-spacing: var(--page-heading-tracking); }
.company-content .company-section-description { margin-top: 24px; font-size: 20px; color: var(--company-muted); }
.company-content .company-data { padding-top: 72px; }
.company-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 56px; }
.company-metric { position: relative; min-height: 430px; overflow: hidden; isolation: isolate; padding: 32px 26px; border-radius: 20px; background: #f2f3f7; }
.company-metric--partners { background: #f0edf7; }
.company-metric--items { background: #f1f4f9; }
.company-metric__art { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.data-orbit { position: absolute; top: -40px; left: 30%; width: 220px; height: 220px; border: 1px solid rgba(131, 100, 179, .22); border-radius: 50%; }
.data-orbit:nth-child(2) { width: 310px; height: 310px; top: -85px; left: calc(30% - 45px); }
.data-orbit:nth-child(3) { width: 400px; height: 400px; top: -130px; left: calc(30% - 90px); }
.data-network { background-image: radial-gradient(circle, #aa8cd0 1.5px, transparent 2px); background-size: 24px 24px; mask-image: radial-gradient(ellipse at 78% 10%, #000, transparent 54%); }
.data-grid { background-image: linear-gradient(#b6bfd83b 1px, transparent 1px), linear-gradient(90deg, #b6bfd83b 1px, transparent 1px); background-size: 24px 24px; mask-image: linear-gradient(145deg, transparent 15%, #000 55%, transparent 75%); }
.company-metric__content { padding-top: 114px; }
.company-content .company-metric__value { margin: 0 0 10px; font-size: clamp(35px, 3.5vw, 46px); font-weight: 600; letter-spacing: -.065em; line-height: 1.2; font-variant-numeric: tabular-nums; }
.metric-plus { color: #8d67ba; font-size: .64em; vertical-align: top; line-height: 1.6; margin-left: 3px; }
.company-metric h3 { margin: 0 0 20px; font-size: 20px; font-weight: 600; }
.company-content .company-metric h3 + p { color: var(--company-muted); font-size: 16px; line-height: 1.75; }
.company-anchor { position: absolute; top: 128px; }
.history-controls { display: flex; align-items: center; gap: 44px; margin: 72px 0 56px; }
.history-tabs { display: grid; grid-template-columns: repeat(3, 1fr); position: relative; flex: 1; border-top: 1px solid #e5e8eb; }
.history-tabs button { padding: 20px 0; background: none; border: 0; color: #8b95a1; font: inherit; font-size: 20px; text-align: left; cursor: pointer; transition: color 180ms; }
.history-tabs button[aria-selected="true"] { color: var(--company-ink); font-weight: 600; }
.history-tabs button:hover { color: var(--company-ink); }
.history-tabs__indicator { position: absolute; top: -1px; left: 0; width: calc(100% / 3); height: 1px; background: var(--company-ink); transform: translateX(calc(var(--selected-year, 0) * 100%)); transition: transform 450ms var(--copy-reveal-ease); }
.history-arrows { display: flex; gap: 10px; }
.history-arrows button { display: grid; place-items: center; width: 42px; height: 42px; border: none; border-radius: 50%; font: inherit; font-size: 28px; background: transparent; color: var(--company-ink); cursor: pointer; transition: background 180ms; }
.history-arrows button:hover { background: #f2f4f6; }
.history-arrows button:disabled { color: #d1d6db; cursor: default; background: none; }
.history-panel { display: grid; grid-template-columns: .8fr 1.6fr; gap: 80px; min-height: 650px; }
.history-panel + .history-panel { margin-top: 60px; }
[data-company-motion] .history-panel + .history-panel { margin-top: 0; }
.history-panel__intro { position: relative; padding-top: 2px; }
.history-panel__intro h3 { font-size: 24px; font-weight: 600; line-height: 1.6; letter-spacing: -.05em; }
.history-year { display: block; margin-top: 50px; font-size: 92px; letter-spacing: -.07em; line-height: 1; color: #ecebf0; font-weight: 600; }
.history-events { padding: 0; list-style: none; }
.history-events li + li { margin-top: 36px; }
.history-events time { display: block; margin-bottom: 10px; color: #745393; font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
.history-events h3 { margin: 0 0 10px; font-size: 21px; font-weight: 600; line-height: 1.5; }
.company-content .history-events p { margin: 0; font-size: 16px; line-height: 1.7; color: var(--company-muted); }
.company-content .company-belief { padding-block: 110px 180px; text-align: center; }
.company-belief h2 { margin: 0; font-size: 52px; line-height: 1.65; letter-spacing: -.06em; }
.company-comparison table { margin-top: 56px; table-layout: fixed; font-size: 18px; line-height: 1.6; }
.company-comparison :is(th, td) { border: 0; padding: 26px 22px; text-align: left; vertical-align: middle; }
.company-comparison th:first-child { width: 20%; padding-left: 0; font-weight: 500; }
.company-comparison th:nth-child(2), .company-comparison td:nth-child(2) { color: #6940a5; background: #faf8fd; }
.company-comparison thead th { font-size: 21px; font-weight: 600; border-bottom: 1px solid #d1d6db; }
.company-comparison tbody tr { border-bottom: 1px solid #e5e8eb; }
.company-comparison td:last-child { color: #8b95a1; }
.company-content .company-contact { text-align: center; padding-block: 180px; }
.company-contact h2 { font-size: 56px; line-height: 1.35; margin: 0 0 40px; letter-spacing: -.06em; }
.company-cta { display: inline-flex; align-items: center; gap: 32px; padding: 18px 24px; border-radius: 14px; background: #7938d6; color: #fff; text-decoration: none; font-size: 18px; font-weight: 500; transition: background 180ms, box-shadow 180ms; }
.company-cta:hover { background: #6929c3; }
.company-cta > span { font-size: 24px; line-height: 1; }
.company-page [hidden] { display: none !important; }
.company-content :target { scroll-margin-top: var(--section-safe-top); }
@media (prefers-reduced-motion: reduce), print {
  .history-tabs__indicator, .company-cta { transition: none; }
}
@media print {
  .company-page::before, .history-controls, .company-metric__art { display: none !important; }
  .company-page .history-panel[hidden] { display: grid !important; }
  .history-panel { min-height: 0; margin-bottom: 40px; }
  .company-content > section, .company-content .company-contact { padding-block: 32px; min-height: 0; }
  .company-content .company-hero { min-height: 0; padding-block: 40px; }
}

/* Closing CTA: same language as the other subpages (lavender card + dark pill). */
.company-content .company-contact {
  margin: 120px 0 0; padding: 120px 32px; border-radius: 40px; text-align: center;
  background: radial-gradient(80% 120% at 72% 112%, #d9c6fb 0%, transparent 62%), radial-gradient(60% 90% at 9% 100%, #eef2ff 0%, transparent 70%), linear-gradient(180deg, #ebe1fc 0%, #f8f6fc 100%);
}
.company-contact h2 { margin: 0 0 36px; font-size: clamp(28px, 3.2vw, 40px); font-weight: 600; line-height: 1.38; letter-spacing: -.03em; }
.company-cta.sp-cta-button { gap: 10px; padding: 0 10px 0 24px; border-radius: 26px; font-size: 16px; font-weight: 500; }
.company-cta.sp-cta-button:hover { transform: translateY(-1px); }
.company-cta.sp-cta-button svg { transition: transform 180ms; }
.company-cta.sp-cta-button:hover svg { transform: translateX(2px); }
/* Same rhythm as the sections above: one section gap before and after the card. */
.company-content .company-contact { margin-block: 0 var(--page-section-space); padding-block: var(--page-section-space); }
