.company-history, .company-history *, .company-history *::before, .company-history *::after{
  box-sizing: border-box;
}

.company-history{
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--color-bg-section, #F8F8F8);
  padding: clamp(48px, 8vw, 96px) clamp(20px, 6vw, 72px);
}

.company-history__bg{
  position: absolute;
  bottom: -30%;
  right: -20%;
  width: 90%;
  max-width: 1400px;
  aspect-ratio: 1728 / 732;
  opacity: 0.07;
  transform: rotate(137deg);
  pointer-events: none;
  z-index: 0;
}

.company-history__bg svg{
  width: 100%;
  height: 100%;
}

.company-history__container{
  position: relative;
  z-index: 1;
  max-width: 1729px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(40px, 6vw, 80px);
}

@media (min-width: 1024px){
  .company-history__container{
    grid-template-columns: minmax(320px, 630px) minmax(0, 1fr);
    align-items: start;
  }
}

.company-history__content{
  display: flex;
  flex-direction: column;
  gap: 30px;
  max-width: 630px;
}

.company-history__heading{
  margin: 0;
  font-family: var(--font-poppins, 'Poppins', sans-serif);
  font-weight: 500;
  font-size: clamp(28px, 3.5vw, 36px);
  line-height: 125%;
  letter-spacing: 2px;
  color: var(--color-text, #3D3D3D);
}

.company-history__heading-accent{
  color: var(--color-primary-blue, #1C4D86);
}

.company-history__paragraph{
  margin: 0;
  font-family: var(--font-poppins, 'Poppins', sans-serif);
  font-weight: 400;
  font-size: 20px;
  line-height: 124%;
  letter-spacing: 1px;
  color: var(--color-text, #3D3D3D);
}

.company-history__callout{
  margin: 0;
  padding: 20px;
  background: rgba(28, 77, 134, 0.1);
  border-left: 2px solid var(--color-primary-blue, #1C4D86);
  border-radius: 8px;
}

.company-history__callout p{
  margin: 0;
  font-family: var(--font-poppins, 'Poppins', sans-serif);
  font-weight: 400;
  font-size: 18px;
  line-height: 124%;
  letter-spacing: 1px;
  color: var(--color-text, #3D3D3D);
}

/* -------- Timeline (scrollable, repeater-driven) -------- */

.company-history__timeline-wrap{
  max-height: 520px;
  overflow-y: auto;
  padding-right: 12px;
  scrollbar-width: thin;
  scrollbar-color: var(--color-primary-blue, #1C4D86) transparent;
}

.company-history__timeline-wrap:focus-visible{
  outline: 2px solid var(--color-primary-blue, #1C4D86);
  outline-offset: 4px;
}

.company-history__timeline-wrap::-webkit-scrollbar{
  width: 6px;
}
.company-history__timeline-wrap::-webkit-scrollbar-thumb{
  background: var(--color-primary-blue, #1C4D86);
  border-radius: 3px;
}

.timeline{
  position: relative;
  margin: 0;
  padding: 10px 0 10px 45px;
  list-style: none;
}

.timeline::before{
  content: "";
  position: absolute;
  left: 14px;
  top: 20px;
  bottom: 20px;
  border-left: 2px dashed var(--color-primary-blue, #1C4D86);
}

.timeline-item{
  position: relative;
  padding-bottom: 40px;
}

.timeline-item:last-child{
  padding-bottom: 0;
}

.timeline-item__dot{
  position: absolute;
  left: -45px;
  top: 4px;
  width: 30px;
  height: 29px;
  border-radius: 50%;
  background: var(--color-primary-blue, #1C4D86);
}

.timeline-item__year{
  margin: 0 0 4px;
  font-family: var(--font-poppins, 'Poppins', sans-serif);
  font-weight: 500;
  font-size: 26px;
  line-height: 124%;
  letter-spacing: 2px;
  color: var(--color-primary-blue, #1C4D86);
}

.timeline-item__desc{
  margin: 0;
  font-family: var(--font-poppins, 'Poppins', sans-serif);
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
}

.timeline-item__desc strong{
  font-weight: 500;
  color: var(--color-primary-blue, #1C4D86);
}

.timeline-item__desc--dark{
  color: var(--color-text, #3D3D3D);
}

.timeline-item__desc--primary{
  color: var(--color-primary-blue, #1C4D86);
}

@media (max-width: 1023px){
  .company-history__timeline-wrap{
    max-height: 60vh;
  }
}

@media (prefers-reduced-motion: reduce){
  .company-history__timeline-wrap{
    scroll-behavior: auto;
  }
}