
.solution-section {
  min-height: clamp(560px, 92svh, 980px);
  margin-bottom: clamp(6rem, 8vw, 9rem);
  display: grid;
  place-items: center;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(2rem, 5vw, 4rem) 0;
}

.solution-wrap {
  --page-max: 1400px;
  --side-pad: clamp(16px, 4vw, 48px);
  width: min(var(--page-max), 100%);
  padding-inline: var(--side-pad);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.solution-title {
  font-size: clamp(1.5rem, 6vw, 4rem);
  font-weight: 700;
  margin: 0 0 0.5em;
  line-height: 1.0;
  color: #e2b52a;
  letter-spacing: -0.02em;
  text-shadow: 5px 5px 5px rgba(255, 255, 255, 0.8);
}


.solution-img-box {
  height: 600px;
  max-width: 90%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.5s ease;
}


.solution-img-box:hover {
  transform: scale(1.1);
}


.solution-img {
  height: 100%;
  width: auto;
  max-width: 100%;
  display: block;
}

.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1),
    transform 1.2s cubic-bezier(0.4, 0, 0.2, 1);
}


.animate-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}


.solution-title.animate-on-scroll {
  transition-delay: 0.3s;

}

.solution-img-box.animate-on-scroll {
  transition-delay: 0.6s;

}


@media (prefers-reduced-motion: reduce) {
  .solution-img-box {
    box-shadow: none;
    transition: none;
  }

  .animate-on-scroll {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


@media (max-width: 768px) {
  .solution-img-box {
    height: 320px;
  }
} 


