html, body {
  margin: 0;
  padding: 0;
  font-size: 10px;
  overflow-x: hidden;
  font-family: Arial, Helvetica, sans-serif;
}

.history-wrapper-content {
  background: #ffffff;
}

.scrollContainer {
  display: flex;
  flex-wrap: nowrap;
  overscroll-behavior: none;
}

.section {
  height: 100vh;
  display: flex;
  flex: 0 0 100vw;
  min-width: 100vw;
  padding: 0 2vw;
  box-sizing: border-box;
}

.section.start-content {
  flex: 0 0 100vw;
}

.section:not(.start-content) {
  margin-left: 1vw;
}

.item {
  width: 100%;
  height: 100%;
  display: flex;
}

.caption {
  max-width: 50rem;
  flex-shrink: 0;
  padding: 2rem 0;
}

.caption h2 {
  font-size: clamp(5rem, 5vw, 8rem);
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 2rem;
  white-space: nowrap;
}

.caption p {
  font-size: 2rem;
  max-width: 45rem;
  line-height: 1.6;
}

.start-chapter .caption {
  width: 60%;
  padding-left: 5vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.start-image {
  width: 40%;
  height: 100%;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 5%;
}

.start-image img {
  width: auto !important;
  height: auto !important;
  max-width: 60%;
  max-height: 60%;
  object-fit: contain;
  position: relative;
  margin-left: auto;
}

figure {
  position: relative;
  overflow: hidden;
}

figure img {
  width: 140%;
  height: 100%;
  object-fit: cover;
  position: absolute;
}

.chapters {
  margin: auto;
  padding: 0 8vw;
  display: flex;
  align-items: center;
  position: relative;
  gap: 4rem;
  width: 100%;
  max-width: 140rem;
}

.double-images {
  position: relative;
  display: flex;
  flex-shrink: 0;
}

.double-images.type-01 figure:first-child {
  width: 50rem;
  height: 70vh;
  flex-shrink: 0;
  max-width: 100%;
}

.double-images.type-01 figure:last-child {
  width: 35rem;
  height: 45vh;
  position: absolute;
  bottom: -4rem;
  right: -20rem;
  max-width: 100%;
}

.double-images.type-02 figure:first-child {
  width: 60rem;
  height: 80vh;
  flex-shrink: 0;
  max-width: 100%;
}

.double-images.type-02 figure:last-child {
  width: 35rem;
  height: 45vh;
  position: absolute;
  bottom: -4rem;
  right: -20rem;
  max-width: 100%;
}

.triple-images {
  position: relative;
  width: 80rem;
  height: 55vh;
  flex-shrink: 0;
  max-width: 100%;
}

.triple-images figure:nth-child(1) {
  width: 50vh;
  height: 50vh;
}

.triple-images figure:nth-child(2) {
  width: 35vh;
  height: 35vh;
  position: absolute;
  top: -20%;
  right: -15%;
}

.triple-images figure:nth-child(3) {
  width: 40vh;
  height: 40vh;
  position: absolute;
  bottom: -20%;
  left: -15%;
}

.chapters.c01 {
  flex-direction: row;
  justify-content: flex-start;
}

.chapters.c02 {
  flex-direction: row-reverse;
  justify-content: flex-start;
}

.chapters.c02 .caption {
  margin-left: 3rem;
  flex-shrink: 0;
  min-width: 0;
  order: 3;
}

.chapters.c01 .caption {
  margin-right: 3rem;
  flex-shrink: 0;
  min-width: 0;
  order: 3;
}

.chapters.c01 .double-images,
.chapters.c01 .triple-images {
  order: 2;
}

.chapters.c02 .double-images,
.chapters.c02 .triple-images {
  order: 2;
}

.chapters.image-only {
  justify-content: center;
  padding: 0 5vw;
}

.chapters.image-only .double-images {
  margin: 0 auto;
}

.fadeUp {
  opacity: 0;
  transform: translateY(50px);
}

/* Responsive Design */
@media (max-width: 1200px) {
  .chapters {
    padding: 0 5vw;
    gap: 3rem;
  }

  .chapters.c02 .caption,
  .chapters.c01 .caption {
    margin-left: 2rem;
    margin-right: 2rem;
    max-width: 40rem;
  }
  
  .caption h2 {
    font-size: clamp(4rem, 5vw, 7rem);
  }

  .double-images.type-01 figure:first-child {
    width: 45rem;
    height: 70vh;
  }

  .double-images.type-02 figure:first-child {
    width: 60rem;
    height: 80vh;
  }

  .triple-images {
    width: 80rem;
    height: 50vh;
  }
}

@media (max-width: 968px) {
  html, body {
    font-size: 8px;
  }

  .section {
    height: auto !important;
    min-height: auto !important;
    padding: 2rem 0;
  }

  .chapters {
    flex-direction: column !important;
    padding: 2rem 4vw;
    gap: 2rem;
    align-items: flex-start;
    min-height: auto;
  }

  figure img {
    object-fit: contain !important;
    width: 100% !important;
  }

  .chapters.c02 .caption,
  .chapters.c01 .caption {
    margin: 0 !important;
    max-width: 100%;
    width: 100%;
    order: 1 !important;
    padding: 1rem 0;
  }

  .caption h2 {
    font-size: clamp(3.5rem, 8vw, 5.5rem);
    white-space: normal;
    margin-bottom: 1rem;
  }

  .caption p {
    font-size: 1.6rem;
    max-width: 100%;
    line-height: 1.6;
  }

  .chapters.c01 .double-images,
  .chapters.c01 .triple-images,
  .chapters.c02 .double-images,
  .chapters.c02 .triple-images {
    order: 2 !important;
    width: 100%;
    margin: 1rem 0;
  }

  .double-images,
  .triple-images {
    width: 100%;
    max-width: 100%;
    position: relative;
  }

  figure img {
    object-fit: contain !important;
  }

  .double-images.type-01 figure:first-child,
  .double-images.type-02 figure:first-child {
    width: 100%;
    max-width: 100%;
    height: 35vh;
    min-height: 250px;
    position: relative;
  }

  .double-images.type-01 figure:last-child,
  .double-images.type-02 figure:last-child {
    width: 100%;
    max-width: 100%;
    height: 30vh;
    min-height: 200px;
    position: relative;
    bottom: 0;
    right: 0;
    margin-top: 1rem;
  }

  .triple-images {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .triple-images figure:nth-child(1),
  .triple-images figure:nth-child(2),
  .triple-images figure:nth-child(3) {
    width: 100%;
    max-width: 100%;
    height: 30vh;
    min-height: 200px;
    position: relative;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

  .start-chapter {
    flex-direction: column;
    min-height: auto;
  }

  .start-chapter .caption {
    width: 100%;
    padding: 2rem 4vw;
    order: 1;
  }

  .start-image {
    width: 100%;
    height: 40vh;
    min-height: 300px;
    order: 2;
  }

  .chapters.image-only {
    padding: 2rem 4vw;
  }

  .chapters.image-only .double-images {
    width: 100%;
  }
}

@media (max-width: 640px) {
  html, body {
    font-size: 7px;
  }

  .section {
    height: auto !important;
    min-height: auto !important;
    padding: 1.5rem 0;
  }

  .chapters {
    padding: 1.5rem 3vw;
    gap: 1.5rem;
  }

  .caption {
    padding: 0.5rem 0;
  }

  .caption h2 {
    font-size: clamp(2.5rem, 10vw, 4.5rem);
    margin-bottom: 0.8rem;
  }

  .caption p {
    font-size: 1.4rem;
    line-height: 1.5;
  }

  .double-images.type-01 figure:first-child,
  .double-images.type-02 figure:first-child {
    height: 30vh;
    min-height: 200px;
  }

  .double-images.type-01 figure:last-child,
  .double-images.type-02 figure:last-child {
    height: 25vh;
    min-height: 180px;
  }

  .triple-images figure:nth-child(1),
  .triple-images figure:nth-child(2),
  .triple-images figure:nth-child(3) {
    height: 25vh;
    min-height: 180px;
  }

  .start-image {
    height: 35vh;
    min-height: 250px;
  }

  .start-chapter .caption {
    padding: 1.5rem 3vw;
  }
}
