.agrimpex-history-service-point {
  width: 100%;
  margin: 0;
  padding: var(--hsp-pt,16px) var(--hsp-px,24px) var(--hsp-pb,16px);
  box-sizing: border-box;
  background: var(--hsp-outer-bg,#fff);
}

.agrimpex-history-service-point__card {
  position: relative;
  width: min(100%, var(--hsp-max,1480px));
  min-height: var(--hsp-min-h,250px);
  margin-inline: auto;
  padding: var(--hsp-card-pt,18px) var(--hsp-card-pr,24px) var(--hsp-card-pb,18px) var(--hsp-card-pl,34px);
  display: grid;
  grid-template-columns: minmax(0,var(--hsp-content-w,46%)) minmax(0,1fr);
  gap: var(--hsp-gap,34px);
  align-items: stretch;
  box-sizing: border-box;
  border: var(--hsp-bw,1px) solid var(--hsp-border,#f59b66);
  border-radius: var(--hsp-radius,16px);
  background: var(--hsp-bg,#fffdfb);
  overflow: hidden;
}

.agrimpex-history-service-point__timeline {
  position: absolute;
  top: 12px;
  bottom: 24px;
  left: var(--hsp-line-offset,14px);
  width: 1px;
  pointer-events: none;
  z-index: 3;
}

.agrimpex-history-service-point__timeline::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--hsp-line-w,2px);
  background: var(--hsp-line,#dedede);
  transform: translateX(-50%);
}

.agrimpex-history-service-point__dot {
  position: absolute;
  top: calc(var(--hsp-card-pt,18px) - 12px + (var(--hsp-year-size,42px) / 2));
  left: 0;
  width: var(--hsp-dot-size,10px);
  height: var(--hsp-dot-size,10px);
  border: 2px solid #fff;
  border-radius: 999px;
  background: var(--hsp-dot,#f36c21);
  box-shadow: 0 0 0 3px var(--hsp-dot-ring,#ffd2b6);
  transform: translate(-50%,-50%);
}

.agrimpex-history-service-point__dot::after {
  content: '';
  position: absolute;
  top: 50%;
  left: calc(100% + 4px);
  width: calc(var(--hsp-card-pl,34px) + 18px - var(--hsp-line-offset,14px) - (var(--hsp-dot-size,10px) / 2) - 10px);
  min-width: 12px;
  height: var(--hsp-line-w,2px);
  background: var(--hsp-line,#dedede);
  transform: translateY(-50%);
}

.agrimpex-history-service-point__content {
  min-width: 0;
  padding-left: 18px;
  align-self: start;
}

.agrimpex-history-service-point__year {
  margin: 0 0 var(--hsp-top-gap,10px);
  color: var(--hsp-year,#f36c21);
  font-family: Inter,Arial,sans-serif;
  font-size: var(--hsp-year-size,42px);
  font-weight: var(--hsp-year-weight,700);
  line-height: 1;
  letter-spacing: -.025em;
}

.agrimpex-history-service-point__body {
  display: grid;
  grid-template-columns: minmax(70px,var(--hsp-brand-w,110px)) minmax(0,1fr);
  gap: var(--hsp-body-gap,28px);
  align-items: start;
}

.agrimpex-history-service-point__brand {
  min-width: 0;
  min-height: var(--hsp-brand-h,56px);
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.agrimpex-history-service-point__brand-image {
  display: block;
  width: min(100%,var(--hsp-brand-w,110px));
  max-height: var(--hsp-brand-h,56px);
  object-fit: contain;
  object-position: left top;
}

.agrimpex-history-service-point__brand-placeholder {
  width: 100%;
  min-height: var(--hsp-brand-h,56px);
  display: grid;
  place-items: center;
  border: 1px dashed #d0d0d0;
  color: #777;
  font: 600 11px/1.3 Inter,Arial,sans-serif;
  text-align: center;
}

.agrimpex-history-service-point__copy { min-width: 0; }

.agrimpex-history-service-point__heading {
  margin: 0 0 12px;
  color: var(--hsp-heading,#111);
  font-family: Inter,Arial,sans-serif;
  font-size: var(--hsp-heading-size,24px);
  font-weight: var(--hsp-heading-weight,700);
  line-height: var(--hsp-heading-line,1.25);
  letter-spacing: -.02em;
  text-wrap: balance;
}

.agrimpex-history-service-point__description {
  margin: 0;
  max-width: 40ch;
  color: var(--hsp-desc,#3f3f3f);
  font: 400 var(--hsp-desc-size,15px)/var(--hsp-desc-line,1.55) Inter,Arial,sans-serif;
}

.agrimpex-history-service-point__description > * { margin: 0; }
.agrimpex-history-service-point__description > * + * { margin-top: .65em; }
.agrimpex-history-service-point__description p { color: inherit !important; }

.agrimpex-history-service-point__image-wrap,
.agrimpex-history-service-point__image-placeholder {
  min-width: 0;
  min-height: 210px;
  height: 100%;
  overflow: hidden;
  border-radius: var(--hsp-image-radius,6px);
  background: #eee;
}

.agrimpex-history-service-point__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--hsp-img-x,50%) var(--hsp-img-y,50%);
  transform: scale(var(--hsp-img-scale,1));
  transform-origin: var(--hsp-img-x,50%) var(--hsp-img-y,50%);
}

.agrimpex-history-service-point__image-placeholder {
  display: grid;
  place-items: center;
  border: 1px dashed #c9c9c9;
  color: #777;
  font: 600 12px/1.4 Inter,Arial,sans-serif;
}

.agrimpex-history-service-point.has-reveal:not(.is-visible) .agrimpex-history-service-point__content,
.agrimpex-history-service-point.has-reveal:not(.is-visible) .agrimpex-history-service-point__image-wrap {
  opacity: 0;
  transform: translateY(var(--hsp-reveal-y,14px));
}

.agrimpex-history-service-point.has-reveal .agrimpex-history-service-point__content,
.agrimpex-history-service-point.has-reveal .agrimpex-history-service-point__image-wrap {
  transition: opacity var(--hsp-reveal-duration,600ms) ease, transform var(--hsp-reveal-duration,600ms) ease;
}

.agrimpex-history-service-point.has-reveal .agrimpex-history-service-point__image-wrap {
  transition-delay: 80ms;
}

.agrimpex-history-service-point.has-reveal.is-visible .agrimpex-history-service-point__content,
.agrimpex-history-service-point.has-reveal.is-visible .agrimpex-history-service-point__image-wrap {
  opacity: 1;
  transform: none;
}

@media (max-width: 960px) {
  .agrimpex-history-service-point__card {
    grid-template-columns: minmax(0,1fr) minmax(300px,44%);
    gap: min(var(--hsp-gap,34px),24px);
  }
  .agrimpex-history-service-point__body {
    grid-template-columns: 90px minmax(0,1fr);
    gap: 18px;
  }
}

@media (max-width: 760px) {
  .agrimpex-history-service-point {
    padding-left: var(--hsp-mobile-px,18px);
    padding-right: var(--hsp-mobile-px,18px);
  }
  .agrimpex-history-service-point__card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-left: max(var(--hsp-card-pl,34px),34px);
  }
  .agrimpex-history-service-point.mobile-image-first .agrimpex-history-service-point__image-wrap,
  .agrimpex-history-service-point.mobile-image-first .agrimpex-history-service-point__image-placeholder { order: 1; }
  .agrimpex-history-service-point.mobile-image-first .agrimpex-history-service-point__content { order: 2; }

  .agrimpex-history-service-point__year { font-size: var(--hsp-mobile-year-size,34px); }
  .agrimpex-history-service-point__heading { font-size: var(--hsp-mobile-heading-size,22px); }
  .agrimpex-history-service-point__body { grid-template-columns: 88px minmax(0,1fr); }
  .agrimpex-history-service-point__image-wrap,
  .agrimpex-history-service-point__image-placeholder {
    height: var(--hsp-mobile-image-h,230px);
    min-height: var(--hsp-mobile-image-h,230px);
  }
}

@media (max-width: 520px) {
  .agrimpex-history-service-point__body {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .agrimpex-history-service-point__brand { min-height: auto; }
  .agrimpex-history-service-point__brand-image { max-width: 110px; }
}

@media (prefers-reduced-motion: reduce) {
  .agrimpex-history-service-point.has-reveal .agrimpex-history-service-point__content,
  .agrimpex-history-service-point.has-reveal .agrimpex-history-service-point__image-wrap {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
