/* A single continuous timeline; original document images retain their proportions. */
.ch-history-section {
  background: #fff;
  color: #252525;
  padding: clamp(64px, 7vw, 112px) 0;
  scroll-margin-top: 0;
}
.ch-heading { margin-bottom: clamp(44px, 5vw, 76px); }
.ch-heading .eyebrow { color: #c92331; }
.ch-heading h2 { margin: 12px 0 20px; font-size: clamp(32px, 4vw, 52px); line-height: 1.25; font-weight: 500; }
.ch-heading > p:last-child { margin: 0; color: #626262; font-size: clamp(16px, 1.5vw, 19px); line-height: 1.8; }
.ch-timeline {
  --ch-axis: 131px;
  position: relative;
  list-style: none;
  padding: 0 0 35px;
  margin: 0;
}
.ch-timeline::before {
  content: "";
  position: absolute;
  top: 26px;
  bottom: 0;
  left: var(--ch-axis);
  width: 1px;
  background: #c92331;
}
.ch-timeline::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: calc(var(--ch-axis) - 5px);
  width: 11px;
  height: 11px;
  border-right: 1px solid #c92331;
  border-bottom: 1px solid #c92331;
  transform: rotate(45deg);
}
.ch-milestone { position: relative; display: grid; grid-template-columns: 104px minmax(0, 1fr); column-gap: 67px; padding-bottom: 72px; }
.ch-milestone:last-child { padding-bottom: 14px; }
.ch-milestone::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 20px;
  left: calc(var(--ch-axis) - 5px);
  width: 11px;
  height: 11px;
  background: #c92331;
  border-radius: 50%;
  box-shadow: 0 0 0 5px #fff;
}
.ch-year { display: block; color: #c92331; font-size: clamp(32px, 3.2vw, 44px); font-weight: 400; line-height: 1.2; letter-spacing: -.045em; white-space: nowrap; }
.ch-year span { display: block; margin-top: 7px; color: #777; font-size: 12px; letter-spacing: .04em; }
.ch-entry { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(24px, 4vw, 56px); align-items: start; min-width: 0; }
.ch-copy { min-width: 0; padding-top: 7px; }
.ch-copy h3 { margin: 0 0 19px; color: #252525; font-size: clamp(22px, 2vw, 28px); line-height: 1.4; font-weight: 500; overflow-wrap: anywhere; }
.ch-copy p { margin: 0; color: #626262; font-size: 16px; line-height: 1.95; overflow-wrap: anywhere; }
.ch-photo { margin: 0; min-width: 0; }
.ch-photo img { display: block; width: 100%; height: auto; max-height: 380px; object-fit: contain; object-position: left top; }
#company-profile { scroll-margin-top: 0; }
@media (max-width: 1050px) {
  .ch-timeline { --ch-axis: 105px; }
  .ch-milestone { grid-template-columns: 80px minmax(0, 1fr); column-gap: 57px; }
  .ch-entry { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .ch-photo { max-width: 590px; }
  .ch-photo img { width: auto; max-width: 100%; }
}
@media (max-width: 600px) {
  .ch-history-section { padding: 56px 0 64px; }
  .ch-heading { margin-bottom: 38px; }
  .ch-heading h2 { margin-bottom: 15px; }
  .ch-timeline { --ch-axis: 6px; padding-bottom: 27px; }
  .ch-timeline::before { top: 17px; }
  .ch-milestone { display: block; padding: 0 0 44px 31px; }
  .ch-milestone::before { top: 12px; }
  .ch-year { margin-bottom: 15px; font-size: 31px; }
  .ch-year span { display: inline; margin-left: 7px; font-size: 11px; }
  .ch-entry { gap: 20px; }
  .ch-copy { padding-top: 0; }
  .ch-copy h3 { margin-bottom: 12px; font-size: 22px; }
  .ch-copy p { font-size: 15px; line-height: 1.9; }
  .ch-photo img { max-height: 350px; }
}
