.traditional-enterprises-page {
  margin: 0;
  overflow-x: clip;
  color: #3c3c3b;
  background: #f3f7fd;
}

.runtime-picture {
  display: contents;
}

.traditional-enterprise {
  --traditional-blue: #184d98;
  --traditional-orange: #ee763b;
  --traditional-ink: #3c3c3b;
  --traditional-paper: #f3f7fd;
  --traditional-rule: #b9cbe2;
  --traditional-current: rgba(24, 77, 152, 0.06);
  min-height: 100vh;
  overflow: clip;
  color: var(--traditional-ink);
  background: var(--traditional-paper);
  font-family: var(--font-report-body);
  font-synthesis: none;
}

.traditional-enterprise.report-canvas {
  inset-inline-start: 50%;
  width: min(100%, var(--report-canvas-max));
}

.traditional-enterprise__heading-band {
  padding-block: clamp(48px, 6vw, 88px);
  color: #fff;
  background: var(--traditional-blue);
}

.traditional-enterprise__heading-rail {
  display: grid;
}

.traditional-enterprise__title,
.traditional-enterprise__company-title {
  margin: 0;
  font-family: var(--font-report-display);
  font-style: normal;
  font-weight: 700;
}

.traditional-enterprise__title {
  max-width: 28ch;
  font-size: var(--type-section-heading-size);
  line-height: var(--type-section-heading-leading);
}

.traditional-enterprise__hero {
  width: 100%;
  aspect-ratio: 4.45 / 1;
  margin: 0;
  overflow: hidden;
  background: #d8e7f5;
}

.traditional-enterprise__hero img,
.traditional-enterprise__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.traditional-enterprise__hero img {
  object-position: 50% 68%;
}

.traditional-enterprise__flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(56px, 6vw, 88px);
  padding-block: clamp(56px, 7vw, 104px) clamp(96px, 10vw, 152px);
}

.traditional-enterprise__company {
  display: grid;
  gap: clamp(28px, 4vw, 52px);
}

.traditional-enterprise__company-title {
  color: var(--traditional-blue);
  font-size: var(--type-subsection-heading-size);
  line-height: var(--type-subsection-heading-leading);
}

.traditional-enterprise__visuals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(28px, 3.25vw, 48px);
  align-items: stretch;
  width: 100%;
}

.traditional-enterprise__figure {
  width: 100%;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: #d8e7f5;
}

.traditional-enterprise__figure img {
  object-position: 50% 50%;
}

.traditional-enterprise__facts-layout {
  --traditional-fact-icon: clamp(54px, 4.75vw, 68px);
  --traditional-fact-step: calc(var(--traditional-fact-icon) * 1.5385);
  display: grid;
  grid-template-columns: var(--traditional-fact-icon) minmax(0, 1fr);
  column-gap: clamp(20px, 2.5vw, 34px);
  align-self: center;
  width: min(100%, 48rem);
}

.traditional-enterprise__facts-rail {
  display: grid;
  grid-column: 1;
  grid-row: 1;
  grid-template-rows:
    var(--traditional-fact-icon)
    calc(var(--traditional-fact-step) - var(--traditional-fact-icon))
    var(--traditional-fact-icon)
    calc(var(--traditional-fact-step) - var(--traditional-fact-icon))
    var(--traditional-fact-icon)
    calc(var(--traditional-fact-step) - var(--traditional-fact-icon))
    var(--traditional-fact-icon)
    calc(var(--traditional-fact-step) - var(--traditional-fact-icon))
    var(--traditional-fact-icon);
  width: var(--traditional-fact-icon);
}

.traditional-enterprise__facts-rail img {
  display: block;
  width: 100%;
  height: 100%;
}

.traditional-enterprise__facts-icon {
  object-fit: contain;
}

.traditional-enterprise__facts-connector {
  object-fit: fill;
}

.traditional-enterprise__facts {
  display: grid;
  grid-column: 2;
  grid-row: 1;
  grid-template-rows: repeat(4, var(--traditional-fact-step)) var(--traditional-fact-icon);
  min-width: 0;
  margin: 0;
}

.traditional-enterprise__fact {
  display: block;
  min-width: 0;
  padding-block-start: calc(var(--traditional-fact-icon) * 0.16);
}

.traditional-enterprise__fact:nth-of-type(1) {
  grid-row: 1;
}

.traditional-enterprise__fact:nth-of-type(2) {
  grid-row: 2;
}

.traditional-enterprise__fact:nth-of-type(3) {
  grid-row: 3;
}

.traditional-enterprise__fact:nth-of-type(4) {
  grid-row: 4;
}

.traditional-enterprise__fact:nth-of-type(5) {
  grid-row: 5;
}

.traditional-enterprise__fact dt,
.traditional-enterprise__fact dd {
  min-width: 0;
}

.traditional-enterprise__fact dt {
  margin-block-end: 0.35rem;
  color: var(--traditional-blue);
  font-family: var(--font-report-display);
  font-size: clamp(0.8125rem, 0.95vw, 0.9375rem);
  font-weight: 500;
  line-height: 1.25;
  text-transform: uppercase;
}

.traditional-enterprise__fact dd,
.traditional-enterprise__overview p,
.traditional-enterprise__supply p {
  margin: 0;
  font-family: var(--type-body-family);
  font-size: var(--type-body-size);
  font-weight: var(--type-body-weight);
  line-height: var(--type-body-leading);
}

.traditional-enterprise__fact dd {
  overflow-wrap: anywhere;
}

.traditional-enterprise__address {
  margin: 0;
  color: #000;
  font-family: var(--font-report-body);
  font-size: clamp(0.875rem, 1vw, 1rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.4286;
  white-space: pre-line;
}

.traditional-enterprise__fact--employees dd {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem;
}

.traditional-enterprise__fact--employees dd strong:first-child {
  color: var(--traditional-ink);
  font-family: var(--font-report-display);
  font-size: clamp(2rem, 3vw, 3.25rem);
  line-height: 0.9;
}

.traditional-enterprise__fact--employees dd strong:first-child {
  font-weight: 700;
}

.traditional-enterprise__fact--ownership strong,
.traditional-enterprise__fact--website strong,
.traditional-enterprise__table strong {
  font-weight: 700;
}

.traditional-enterprise__fact--ownership dd {
  display: grid;
  gap: 0.35rem;
}

.traditional-enterprise__ownership-line {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
  align-items: baseline;
  column-gap: 0;
  row-gap: 0.15rem;
}

.traditional-enterprise__ownership-line > span:last-child {
  margin-inline-start: 0.4rem;
  font-size: var(--approved-type-subsection-heading-size);
  font-weight: 700;
  line-height: var(--approved-type-subsection-heading-leading);
  white-space: nowrap;
}

.traditional-enterprise__overview {
  display: grid;
  gap: 1rem;
  width: 100%;
}

.traditional-enterprise__supply {
  display: grid;
  gap: clamp(18px, 2vw, 28px);
  width: 100%;
}

.traditional-enterprise__supply h3 {
  margin: 0;
  color: var(--traditional-ink);
  font-family: var(--font-report-body);
  font-size: clamp(1.25rem, 1.8vw, 1.625rem);
  font-weight: 700;
  line-height: 1.15;
}

.traditional-enterprise__no-break {
  white-space: nowrap;
}

.traditional-enterprise__table-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(18px, 2vw, 28px);
  min-width: 0;
  width: 100%;
}

.traditional-enterprise__table-title {
  margin: 0;
  color: var(--traditional-blue);
  font-family: var(--type-table-header-family);
  font-size: var(--type-table-header-size);
  font-weight: var(--type-table-header-weight);
  line-height: var(--type-table-header-leading);
}

.traditional-enterprise__table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.traditional-enterprise__table-scroll:focus-visible {
  outline: 3px solid var(--traditional-orange);
  outline-offset: 4px;
}

.traditional-enterprise__table {
  width: 100%;
  min-width: 46rem;
  border-collapse: collapse;
  border-block-end: 4px solid var(--traditional-blue);
  color: var(--traditional-ink);
  font-family: var(--type-table-body-family);
  font-size: var(--type-table-body-size);
  font-variant-numeric: lining-nums tabular-nums;
  font-weight: var(--type-table-body-weight);
  line-height: var(--type-table-body-leading);
}

.traditional-enterprise__table th,
.traditional-enterprise__table td {
  padding: clamp(12px, 1.2vw, 18px);
  border-block-end: 1px solid var(--traditional-blue);
  text-align: center;
  vertical-align: middle;
}

.traditional-enterprise__table thead th {
  color: #fff;
  background: var(--traditional-blue);
  font-family: var(--type-table-header-family);
  font-weight: var(--type-table-header-weight);
  line-height: var(--type-table-header-leading);
}

.traditional-enterprise__table th:first-child,
.traditional-enterprise__table td:first-child {
  width: 52%;
  text-align: left;
}

.traditional-enterprise__table tbody th {
  font-weight: var(--type-table-body-weight);
}

.traditional-enterprise__table-current {
  background: var(--traditional-current);
}

@media (max-width: 64rem) {
  .traditional-enterprise__hero {
    aspect-ratio: 16 / 6;
  }

  .traditional-enterprise__visuals {
    grid-template-columns: minmax(0, 1fr);
  }

  .traditional-enterprise__figure {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .traditional-enterprise__facts-layout {
    justify-self: start;
  }
}

@media (max-width: 48rem) {
  .traditional-enterprise__heading-band {
    padding-block: 40px 46px;
  }

  .traditional-enterprise__hero {
    aspect-ratio: 4 / 3;
  }

  .traditional-enterprise__flow {
    gap: 52px;
    padding-block: 48px 88px;
  }
}

@media (max-width: 30rem) {
  .traditional-enterprise__title {
    font-size: clamp(1.75rem, 9vw, 2.25rem);
  }

  .traditional-enterprise__company-title {
    font-size: clamp(1.625rem, 8vw, 2rem);
  }

  .traditional-enterprise__no-break {
    white-space: normal;
  }

  .traditional-enterprise__facts-layout {
    --traditional-fact-icon: 52px;
    --traditional-fact-step: calc(var(--traditional-fact-icon) * 1.9);
  }

  .traditional-enterprise__table {
    min-width: 42rem;
  }
}

@media (forced-colors: active) {
  .traditional-enterprise__heading-band,
  .traditional-enterprise__facts-layout,
  .traditional-enterprise__table {
    border: 1px solid CanvasText;
  }
}

/* Whole-owner integration: S01 -> S02, without staging seams. */
.traditional-enterprises-page {
  margin: 0;
  overflow-x: clip;
}

.traditional-enterprise.report-canvas {
  inset-inline-start: auto;
  width: 100%;
  max-width: none;
  margin-inline: auto;
  transform: none;
}

.traditional-enterprise__company--svg-rail {
  margin-block-start: clamp(28px, 4vw, 56px);
}

.traditional-enterprise__company--svg-rail .traditional-enterprise__facts-layout {
  display: grid;
  grid-template-columns: clamp(54px, 5.1vw, 74px) minmax(0, 1fr);
  align-self: stretch;
  align-items: stretch;
  width: 100%;
  max-width: none;
  height: 100%;
  padding: clamp(28px, 3.5vw, 52px);
  column-gap: clamp(20px, 2.4vw, 34px);
  background: var(--traditional-paper);
}

.traditional-enterprise__company--svg-rail .traditional-enterprise__facts-rail {
  display: block;
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.traditional-enterprise__company--svg-rail .traditional-enterprise__facts {
  display: grid;
  grid-column: 2;
  grid-row: 1;
  grid-template-rows: repeat(5, minmax(0, 1fr));
  min-width: 0;
  margin: 0;
}

.traditional-enterprise__company--svg-rail .traditional-enterprise__fact {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding-block-start: 0;
}

.traditional-enterprise__company--svg-rail .traditional-enterprise__fact dd,
.traditional-enterprise__company--svg-rail > .traditional-enterprise__overview {
  color: var(--traditional-ink);
  font-family: var(--type-body-family);
  font-size: var(--type-body-size);
  font-style: normal;
  font-weight: var(--type-body-weight);
  line-height: var(--type-body-leading);
}

.traditional-enterprise__company--svg-rail > .traditional-enterprise__overview {
  display: block;
  width: 100%;
  margin: 0;
}

.traditional-enterprise__company--svg-rail .traditional-enterprise__fact--employees dd > span:first-child {
  color: var(--traditional-ink);
  font-family: var(--font-report-display);
  font-size: clamp(2rem, 3vw, 3.5rem);
  font-weight: 700;
  line-height: 0.9;
}

.traditional-enterprise__company--svg-rail .traditional-enterprise__fact--employees dd > span:last-child,
.traditional-enterprise__company--svg-rail .traditional-enterprise__fact--website .source-bold,
.traditional-enterprise__company--svg-rail .traditional-enterprise__ownership-line .source-bold {
  font-weight: 400;
}

.traditional-enterprise__fact--ownership dd {
  display: grid;
  gap: 0.35rem;
}

.traditional-enterprise__ownership-line {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
  align-items: baseline;
  column-gap: 0;
  row-gap: 0.15rem;
}

.traditional-enterprise [data-component$="fact-rail"] .traditional-enterprise__fact--ownership dd > .traditional-enterprise__ownership-line {
  margin-inline-start: 0;
  color: var(--traditional-ink);
  font-family: var(--enterprise-fact-copy-family);
  font-size: var(--enterprise-fact-copy-size);
  font-weight: var(--enterprise-fact-copy-weight);
  line-height: var(--enterprise-fact-copy-leading);
}

.traditional-enterprise__ownership-line > span:last-child {
  margin-inline-start: 0.4rem;
  font-size: var(--approved-type-subsection-heading-size);
  font-weight: 700;
  line-height: var(--approved-type-subsection-heading-leading);
  white-space: nowrap;
}

.traditional-enterprise__table-section h3 {
  margin: 0;
  color: var(--traditional-blue);
  font-family: var(--type-table-header-family);
  font-size: var(--type-table-header-size);
  font-weight: var(--type-table-header-weight);
  line-height: var(--type-table-header-leading);
}

.traditional-enterprise__table .source-bold {
  font-weight: 700;
}

.traditional-enterprise__company--gres1 .traditional-enterprise__figure img {
  object-position: 50% 48%;
}

.traditional-enterprise__company--gres2 .traditional-enterprise__figure img {
  object-position: 50% 46%;
}

@media (max-width: 64rem) {
  .traditional-enterprise__company--svg-rail .traditional-enterprise__facts-layout {
    min-height: clamp(32rem, 76vw, 40rem);
  }
}

@media (max-width: 40rem) {
  .traditional-enterprise__company--svg-rail .traditional-enterprise__facts-layout {
    grid-template-columns: 52px minmax(0, 1fr);
    min-height: 38rem;
    padding: 22px 18px;
    column-gap: 18px;
  }
}

/* Viewport motion: source photos stay static; only semantic copy/data layers reveal. */
.traditional-number-counter {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

.traditional-enterprises-motion-ready .traditional-motion-heading .traditional-enterprise__title,
.traditional-enterprises-motion-ready .traditional-motion-title,
.traditional-enterprises-motion-ready .traditional-motion-copy {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition:
    opacity 760ms cubic-bezier(.16, 1, .3, 1),
    transform 900ms cubic-bezier(.16, 1, .3, 1);
  will-change: opacity, transform;
}

.traditional-enterprises-motion-ready .traditional-motion-heading.is-visible .traditional-enterprise__title,
.traditional-enterprises-motion-ready .traditional-motion-title.is-visible,
.traditional-enterprises-motion-ready .traditional-motion-copy.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.traditional-enterprises-motion-ready .traditional-motion-facts .traditional-enterprise__facts-rail {
  opacity: 0;
  clip-path: inset(0 0 100% 0);
  transition:
    opacity 240ms ease-out 80ms,
    clip-path 980ms cubic-bezier(.16, 1, .3, 1) 80ms;
  will-change: opacity, clip-path;
}

.traditional-enterprises-motion-ready .traditional-motion-facts.is-visible .traditional-enterprise__facts-rail {
  opacity: 1;
  clip-path: inset(0 0 0 0);
}

.traditional-enterprises-motion-ready .traditional-motion-facts .traditional-enterprise__fact {
  opacity: 0;
  transform: translate3d(18px, 0, 0);
  transition:
    opacity 620ms cubic-bezier(.16, 1, .3, 1) var(--traditional-fact-delay, 0ms),
    transform 760ms cubic-bezier(.16, 1, .3, 1) var(--traditional-fact-delay, 0ms);
  will-change: opacity, transform;
}

.traditional-enterprises-motion-ready .traditional-motion-facts.is-visible .traditional-enterprise__fact {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.traditional-enterprises-motion-ready .traditional-motion-table > h3,
.traditional-enterprises-motion-ready .traditional-motion-table > .traditional-enterprise__table-scroll {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition:
    opacity 720ms cubic-bezier(.16, 1, .3, 1),
    transform 880ms cubic-bezier(.16, 1, .3, 1);
  will-change: opacity, transform;
}

.traditional-enterprises-motion-ready .traditional-motion-table > .traditional-enterprise__table-scroll {
  transition-delay: 110ms;
}

.traditional-enterprises-motion-ready .traditional-motion-table.is-visible > h3,
.traditional-enterprises-motion-ready .traditional-motion-table.is-visible > .traditional-enterprise__table-scroll {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  .traditional-enterprises-page .traditional-motion-heading .traditional-enterprise__title,
  .traditional-enterprises-page .traditional-motion-title,
  .traditional-enterprises-page .traditional-motion-copy,
  .traditional-enterprises-page .traditional-motion-facts .traditional-enterprise__facts-rail,
  .traditional-enterprises-page .traditional-motion-facts .traditional-enterprise__fact,
  .traditional-enterprises-page .traditional-motion-table > h3,
  .traditional-enterprises-page .traditional-motion-table > .traditional-enterprise__table-scroll {
    opacity: 1 !important;
    clip-path: none !important;
    transform: none !important;
    transition: none !important;
  }
}
