.page-root.page-industry-products {
  scroll-snap-type: none;
}

.industry-products-main {
  background: #ffffff;
}

.industry-products-section {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, #ffffff 52%),
    linear-gradient(180deg, rgba(222, 236, 252, 0.48) 0%, rgba(255, 255, 255, 0) 100%);
}

.industry-products-shell {
  width: 100%;
  max-width: var(--layout-content-max);
  margin-inline: auto;
  padding: clamp(2.5rem, 4vw, 4.3rem) clamp(1rem, 2.4vw, 5rem) clamp(4rem, 6vw, 6rem);
}

.industry-products-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  background: rgba(241, 244, 249, 0.72);
  border: 1px solid #d7dfeb;
}

.page-root.page-industry-products.industry-motion-ready .industry-products-tabs[data-industry-tabs-reveal] .industry-products-tab {
  opacity: 0;
  transform: translate3d(0, 1.35rem, 0);
  transition:
    opacity 0.58s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.58s cubic-bezier(0.22, 1, 0.36, 1);
}

.page-root.page-industry-products.industry-motion-ready .industry-products-tabs[data-industry-tabs-reveal].is-visible .industry-products-tab {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.page-root.page-industry-products.industry-motion-ready .industry-products-tabs[data-industry-tabs-reveal].is-visible .industry-products-tab:nth-of-type(1) {
  transition-delay: 0ms;
}

.page-root.page-industry-products.industry-motion-ready .industry-products-tabs[data-industry-tabs-reveal].is-visible .industry-products-tab:nth-of-type(2) {
  transition-delay: 70ms;
}

.page-root.page-industry-products.industry-motion-ready .industry-products-tabs[data-industry-tabs-reveal].is-visible .industry-products-tab:nth-of-type(3) {
  transition-delay: 140ms;
}

.page-root.page-industry-products.industry-motion-ready .industry-products-tabs[data-industry-tabs-reveal].is-visible .industry-products-tab:nth-of-type(4) {
  transition-delay: 210ms;
}

.page-root.page-industry-products.industry-motion-ready .industry-products-tabs[data-industry-tabs-reveal].is-visible .industry-products-tab:nth-of-type(5) {
  transition-delay: 280ms;
}

.page-root.page-industry-products.industry-motion-ready .industry-products-tabs[data-industry-tabs-reveal].is-visible .industry-products-tab:nth-of-type(6) {
  transition-delay: 350ms;
}

.page-root.page-industry-products.industry-motion-ready .industry-products-tabs[data-industry-tabs-reveal].is-visible .industry-products-tab:nth-of-type(7) {
  transition-delay: 420ms;
}

.page-root.page-industry-products.industry-motion-ready .industry-products-tabs[data-industry-tabs-reveal].is-visible .industry-products-tab:nth-of-type(8) {
  transition-delay: 490ms;
}

.industry-products-tab {
  display: flex;
  min-height: 10rem;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.9rem;
  padding: 1rem 0.6rem 0.8rem;
  border-right: 1px solid #d2dae7;
  background: transparent;
  color: #0051ae;
  transition: background-color 0.26s ease, color 0.26s ease;
}

.industry-products-tab:last-child {
  border-right: none;
}

.industry-products-tab.is-active {
  background: #0051ae;
  color: #ffffff;
}

.industry-products-tab-icon-wrap {
  position: relative;
  width: 4.4rem;
  height: 4.4rem;
  flex: 0 0 auto;
}

.industry-products-tab-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  max-width: 4.4rem;
  height: 3.5rem;
  object-fit: contain;
  transform: translate(-50%, -50%);
  transition: opacity 0.2s ease;
}

.industry-products-tab-icon--active {
  opacity: 0;
}

.industry-products-tab.is-active .industry-products-tab-icon--base {
  opacity: 0;
}

.industry-products-tab.is-active .industry-products-tab-icon--active {
  opacity: 1;
}

.industry-products-tab-label {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: 2.8em;
  font-size: clamp(0.84rem, 0.96vw, 1.3rem);
  line-height: 1.35;
  font-weight: 500;
  text-align: center;
}

.industry-products-panel {
  position: relative;
  overflow: visible;
  isolation: isolate;
  min-height: clamp(28rem, 42vw, 49.5rem);
  margin-top: clamp(2rem, 3.2vw, 4rem);
}

.industry-products-panel::after {
  display: none;
}

.industry-products-panel-slide {
  position: absolute;
  inset: 0;
  pointer-events: none;
  isolation: isolate;
}

.industry-products-panel-slide.is-active {
  z-index: 2;
}

.industry-products-panel-slide.is-leaving {
  z-index: 1;
}

.industry-products-panel-slide.is-active.is-forward {
  animation: industry-products-slide-in-forward 0.62s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.industry-products-panel-slide.is-leaving.is-forward {
  animation: industry-products-slide-out-forward 0.52s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.industry-products-panel-slide.is-active.is-backward {
  animation: industry-products-slide-in-backward 0.62s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.industry-products-panel-slide.is-leaving.is-backward {
  animation: industry-products-slide-out-backward 0.52s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.industry-products-panel-copy {
  position: relative;
  z-index: 1;
  width: 100%;
  box-sizing: border-box;
  padding-top: clamp(1.2rem, 2vw, 2rem);
}

.industry-products-panel-title {
  margin: 0;
  font-family: var(--font-display-sans);
  font-weight: 700;
  font-size: clamp(2rem, 2.7vw, 3rem);
  line-height: 1.2;
  color: #0051ae;
  opacity: 0;
  transform: translateY(1.1rem);
}

.industry-products-panel-desc {
  width: 100%;
  max-width: none;
  margin: 1.35rem 0 0;
  font-size: clamp(1rem, 1.1vw, 1.5rem);
  line-height: 1.9;
  color: #333333;
  opacity: 0;
  transform: translateY(1.35rem);
}

.industry-products-panel-phone {
  display: block;
  margin-top: 0.75rem;
  font-size: clamp(1rem, 1.05vw, 1.4rem);
  line-height: 1.6;
  font-weight: 700;
  color: #333333;
  opacity: 0;
  transform: translateY(1.35rem);
}

.industry-products-panel-contact-list {
  margin-top: 0.9rem;
  opacity: 0;
  transform: translateY(1.35rem);
}

.industry-products-panel-contact-item {
  margin: 0;
  font-size: clamp(0.98rem, 1vw, 1.25rem);
  line-height: 1.75;
  color: #333333;
  font-weight: 700;
}

.industry-products-panel-contact-item strong {
  font-weight: 700;
}

.industry-products-panel-contact-item + .industry-products-panel-contact-item {
  margin-top: 0.18rem;
}

.industry-products-panel-slide.is-active .industry-products-panel-title {
  animation: industry-products-copy-rise 0.44s cubic-bezier(0.22, 1, 0.36, 1) 0.18s both;
}

.industry-products-panel-slide.is-active .industry-products-panel-desc {
  animation: industry-products-copy-rise 0.52s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both;
}

.industry-products-panel-slide.is-active .industry-products-panel-phone {
  animation: industry-products-copy-rise 0.52s cubic-bezier(0.22, 1, 0.36, 1) 0.36s both;
}

.industry-products-panel-slide.is-active .industry-products-panel-contact-list {
  animation: industry-products-copy-rise 0.52s cubic-bezier(0.22, 1, 0.36, 1) 0.38s both;
}

.industry-products-panel-visual {
  position: absolute;
  inset-block: 0;
  left: 50%;
  z-index: 0;
  width: 100vw;
  transform: translateX(-50%);
  overflow: hidden;
  transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

.industry-products-panel-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.64) 18%, rgba(255, 255, 255, 0.18) 42%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(90deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0.68) 32%, rgba(255, 255, 255, 0.1) 66%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
}

.industry-products-panel-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.industry-products-panel-slide.is-active.is-forward .industry-products-panel-image {
  animation: industry-products-image-in-forward 0.84s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.industry-products-panel-slide.is-active.is-backward .industry-products-panel-image {
  animation: industry-products-image-in-backward 0.84s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.industry-products-panel-slide.is-leaving.is-forward .industry-products-panel-image {
  animation: industry-products-image-out-forward 0.52s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.industry-products-panel-slide.is-leaving.is-backward .industry-products-panel-image {
  animation: industry-products-image-out-backward 0.52s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes industry-products-slide-in-forward {
  from {
    opacity: 0;
    transform: translate3d(4rem, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes industry-products-slide-out-forward {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(-3.2rem, 0, 0);
  }
}

@keyframes industry-products-slide-in-backward {
  from {
    opacity: 0;
    transform: translate3d(-4rem, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes industry-products-slide-out-backward {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(3.2rem, 0, 0);
  }
}

@keyframes industry-products-copy-rise {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes industry-products-image-in-forward {
  from {
    transform: scale(1.05) translate3d(1.8rem, 0, 0);
  }

  to {
    transform: scale(1) translate3d(0, 0, 0);
  }
}

@keyframes industry-products-image-out-forward {
  from {
    opacity: 1;
    transform: scale(1) translate3d(0, 0, 0);
  }

  to {
    opacity: 0.7;
    transform: scale(1.02) translate3d(-1.2rem, 0, 0);
  }
}

@keyframes industry-products-image-in-backward {
  from {
    transform: scale(1.05) translate3d(-1.8rem, 0, 0);
  }

  to {
    transform: scale(1) translate3d(0, 0, 0);
  }
}

@keyframes industry-products-image-out-backward {
  from {
    opacity: 1;
    transform: scale(1) translate3d(0, 0, 0);
  }

  to {
    opacity: 0.7;
    transform: scale(1.02) translate3d(1.2rem, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {

  .industry-products-tab,
  .industry-products-panel-slide,
  .industry-products-panel-title,
  .industry-products-panel-desc,
  .industry-products-panel-contact-list,
  .industry-products-panel-phone,
  .industry-products-panel-image {
    animation: none !important;
    transition: none !important;
  }

  .industry-products-panel-slide.is-active,
  .industry-products-panel-slide.is-leaving {
    opacity: 1;
    transform: none;
  }

  .industry-products-panel-title,
  .industry-products-panel-desc,
  .industry-products-panel-contact-list,
  .industry-products-panel-phone {
    opacity: 1;
    transform: none;
  }
}

@media (any-hover: hover) {
  .industry-products-tab:hover {
    background: rgba(0, 81, 174, 0.1);
  }

  .industry-products-tab.is-active:hover {
    background: #0051ae;
  }

  .page-root.page-industry-products .industry-products-panel:hover .industry-products-panel-slide.is-active .industry-products-panel-visual {
    transform: translateX(-50%) scale(1.02);
  }
}

@media (max-width: 1023px) {
  .page-root.page-industry-products.industry-motion-ready .industry-products-tabs[data-industry-tabs-reveal] .industry-products-tab {
    transform: translate3d(0, 0.9rem, 0);
  }

  .industry-products-shell {
    padding: 1.5rem 1rem 0;
  }

  .industry-products-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    overflow: visible;
    border: none;
    background: transparent;
    padding-bottom: 0;
    scrollbar-width: none;
  }

  .industry-products-tabs::-webkit-scrollbar {
    display: none;
  }

  .industry-products-tab {
    aspect-ratio: 1 / 1;
    min-width: 0;
    min-height: 0;
    gap: 0.55rem;
    justify-content: flex-start;
    padding: 0.95rem 0.5rem 0.8rem;
    border: 1px solid #e0e5ee;
    border-right: 1px solid #e0e5ee;
    background: #f3f5f8;
  }

  .industry-products-tab-icon-wrap {
    width: 2.8rem;
    height: 2.8rem;
  }

  .industry-products-tab-icon {
    width: auto;
    max-width: 2.8rem;
    height: 2.25rem;
  }

  .industry-products-tab-label {
    min-height: 2.5em;
    font-size: 0.75rem;
    line-height: 1.25;
  }

  .industry-products-panel {
    min-height: 24rem;
    margin-top: 1.4rem;
  }

  .industry-products-panel::after {
    display: none;
  }

  .industry-products-panel-visual::after {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.76) 32%, rgba(255, 255, 255, 0.32) 58%, rgba(255, 255, 255, 0) 100%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 100%);
  }

  .industry-products-panel-copy {
    width: 100%;
    box-sizing: border-box;
    padding-top: 2rem;
  }

  .industry-products-panel-title {
    font-size: 1.7rem;
  }

  .industry-products-panel-desc {
    margin-top: 0.9rem;
    font-size: 1rem;
    line-height: 1.8;
  }

  .industry-products-panel-phone {
    margin-top: 0.65rem;
    font-size: 1rem;
    line-height: 1.7;
  }

  .industry-products-panel-contact-list {
    margin-top: 0.75rem;
  }

  .industry-products-panel-contact-item {
    font-size: 0.96rem;
    line-height: 1.68;
  }
}

@media (max-width: 639px) {
  .industry-products-shell {
    padding-inline: 0.875rem;
  }

  .industry-products-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }

  .industry-products-tab {
    aspect-ratio: auto;
    min-height: 7.4rem;
    padding: 0.9rem 0.75rem 0.8rem;
  }

  .industry-products-tab-icon-wrap {
    width: 2.65rem;
    height: 2.65rem;
  }

  .industry-products-tab-icon {
    max-width: 2.65rem;
    height: 2.1rem;
  }

  .industry-products-tab-label {
    min-height: 2.6em;
    font-size: 0.82rem;
    line-height: 1.28;
  }

  .industry-products-panel {
    min-height: 0;
  }

  .industry-products-panel-slide {
    position: absolute;
    inset: 0;
  }

  .industry-products-panel-slide.is-active {
    position: relative;
  }

  .industry-products-panel-copy {
    padding-bottom: 1.5rem;
  }

  .industry-products-panel-title {
    font-size: 1.5rem;
  }

  .industry-products-panel-desc {
    font-size: 1rem;
    line-height: 1.72;
  }

  .industry-products-panel-phone {
    font-size: 1rem;
    line-height: 1.65;
  }

  .industry-products-panel-contact-item {
    font-size: 0.95rem;
    line-height: 1.62;
  }
}
