@charset "UTF-8";
/* Business Section CSS */
/* 기본 레이아웃 설정 */
html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* 메인 컴테이너 레이아웃 */
.main-container {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Swiper 기본 스타일 수정 */
.swiper {
  height: 100vh;
  width: 100%;
  position: relative;
  flex-shrink: 0;
}

/* 비즈니스 슬라이드 공통 스타일 */
.business-slide {
  background: transparent;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5%;
}

/* 배경 장식 요소들 (고정) */
.background-decoration {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1600px;
  height: 100vh;
  pointer-events: none;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.5s ease;
}
@media (max-width: 786px) {
  .background-decoration {
    opacity: 0.25;
  }
}

/* JavaScript에서 제어하므로 기본 투명도는 0으로 유지 */
.floating-cube {
  position: absolute;
  transform-origin: center center;
  z-index: 1;
  animation: floatUpDown 6s infinite ease-in-out;
}
.floating-cube.cube1 {
  width: 44px;
  height: 44px;
  aspect-ratio: 1;
  opacity: 1;
  background: url("../img/main/sect4/paticle1.png") no-repeat center;
  background-size: contain;
  top: 20%;
  left: 10%;
  animation-delay: 0s;
}
.floating-cube.cube2 {
  width: 58.4px;
  height: 54.42px;
  aspect-ratio: 1;
  opacity: 1;
  background: url("../img/main/sect4/paticle1.png") no-repeat center;
  background-size: contain;
  top: 60%;
  right: 15%;
  animation-delay: 1s;
}
.floating-cube.cube3 {
  width: 58.4px;
  height: 54.42px;
  aspect-ratio: 1;
  opacity: 1;
  background: url("../img/main/sect4/paticle1.png") no-repeat center;
  background-size: contain;
  top: 30%;
  right: 14%;
  animation-delay: 2s;
}
.floating-cube.cube4 {
  width: 213px;
  height: 213px;
  aspect-ratio: 1;
  opacity: 0.9;
  background: url("../img/main/sect4/paticle4.png") no-repeat center;
  background-size: contain;
  top: 70%;
  right: 20%;
  animation-delay: 3s;
}
.floating-cube.cube5 {
  width: 213px;
  height: 213px;
  aspect-ratio: 1;
  opacity: 0.7;
  background: url("../img/main/sect4/paticle4.png") no-repeat center;
  background-size: contain;
  top: 80%;
  left: 24%;
  animation-delay: 4s;
}
.floating-cube.cube6 {
  width: 222px;
  height: 278px;
  aspect-ratio: 222/278;
  opacity: 0.7;
  background: url("../img/main/sect4/paticle2.png") no-repeat center;
  background-size: contain;
  top: 85%;
  right: 7%;
  animation-delay: 2.5s;
}
.floating-cube.cube7 {
  width: 222px;
  height: 278px;
  aspect-ratio: 1;
  opacity: 1;
  background: url("../img/main/sect4/paticle2.png") no-repeat center;
  background-size: contain;
  top: 26%;
  left: 23%;
  animation-delay: 3.5s;
}
.floating-cube.cube8 {
  width: 542px;
  height: 520px;
  aspect-ratio: 1;
  opacity: 0.7;
  background: url("../img/main/sect4/paticle3.png") no-repeat center;
  background-size: contain;
  top: 90%;
  left: 2%;
  animation-delay: 1.5s;
}

/* 플로팅 애니메이션 */
@keyframes floatUpDown {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-20px);
  }
}
.business-content {
  display: flex;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  align-items: center;
  gap: 100px;
  z-index: 10;
  position: relative;
}

.business-content.reverse {
  flex-direction: row-reverse;
}

.business-text {
  flex: 1;
  max-width: 31.25rem;
  /* 500px */
  opacity: 0;
  transform: translateX(-3.125rem);
  /* -50px */
  transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

.business-content.reverse .business-text {
  /* transform: translateX(3.125rem); */
  /* 50px */
}

.business-text.visible {
  opacity: 1;
  transform: translateX(0);
}

.business-number {
  font-size: 1rem;
  color: #48CFEC;
  font-weight: 600;
  margin-bottom: 1rem;
  letter-spacing: 0.1em;
}

.business-title {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  background: linear-gradient(135deg, #ffffff, #48CFEC);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
}

.business-description {
  font-size: 1.1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 2.5rem;
}

.view-more-btn {
  font-size: 0.875rem;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  padding-left: 0;
  color: #48CFEC;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
}

.view-more-btn:hover {
  transform: translateX(5px);
}

.view-more-btn .arrow {
  transition: transform 0.3s ease;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  /* background: rgba(64, 224, 208, 0.25); */
  border: 1px solid #48CFEC;
}

.view-more-btn:hover .arrow {
  transform: translateX(5px);
}

/* 비즈니스 비주얼 */
.business-visual {
  flex: 1;
  position: relative;
  height: 25rem;
  /* 400px -> rem 단위로 변경 */
  opacity: 0;
  transform: translateY(3.125rem) scale(0.9);
  /* 50px -> rem */
  transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
  /* Flexbox로 중앙 정렬 */
  display: flex;
  justify-content: center;
  align-items: center;
}

.business-visual.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* GIS 비주얼 */
.gis-visual {
  background: linear-gradient(135deg, #2E233A, #1C344B);
  border-radius: 20px;
  padding: 2rem;
  position: relative;
  overflow: hidden;
  width: 725px;
  height: 575px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.gis-visual .imgbox {
  position: relative;
  width: 568px;
  height: 546px;
}
.gis-visual .imgbox::before {
  content: "";
  position: absolute;
  width: 590.43px;
  height: 614px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background-size: contain;
  opacity: 0.25;
  z-index: 0;
}
.gis-visual .city {
  position: absolute;
  width: 430px;
  height: 374px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: url("../img/main/sect4/sect4_GIS/city.png") no-repeat center;
  background-size: contain;
  z-index: 1;
}
.gis-visual .gis-circle {
  position: absolute;
  width: 496px;
  height: 487px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: url("../img/main/sect4/sect4_GIS/line.png") no-repeat center;
  background-size: contain;
  animation: orbitRotate 30s infinite linear;
  z-index: 2;
}
.gis-visual .gis-orbit {
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  animation: counterRotate 30s infinite linear;
}
.gis-visual .gis-orbit.drone {
  width: 97px;
  height: 68px;
  left: 40.67%;
  top: -7%;
  background-image: url("../img/main/sect4/sect4_GIS/drone.png");
}
.gis-visual .gis-orbit.marker {
  width: 50px;
  height: 72px;
  left: 12.38%;
  top: 4.71%;
  background-image: url("../img/main/sect4/sect4_GIS/marker.png");
}
.gis-visual .gis-orbit.user2 {
  width: 71px;
  height: 81px;
  left: -8%;
  top: 40.22%;
  background-image: url("../img/main/sect4/sect4_GIS/user2.png");
}
.gis-visual .gis-orbit.list {
  width: 74px;
  height: 76px;
  left: 9.68%;
  top: 79.3%;
  background-image: url("../img/main/sect4/sect4_GIS/list.png");
}
.gis-visual .gis-orbit.share {
  width: 74px;
  height: 77px;
  left: 41.73%;
  top: 91.9%;
  background-image: url("../img/main/sect4/sect4_GIS/share.png");
}
.gis-visual .gis-orbit.chat {
  width: 79px;
  height: 82px;
  left: 76.42%;
  top: 77.11%;
  background-image: url("../img/main/sect4/sect4_GIS/chat.png");
}
.gis-visual .gis-orbit.cloud {
  width: 91px;
  height: 86px;
  left: 90.15%;
  top: 39.76%;
  background-image: url("../img/main/sect4/sect4_GIS/cloud.png");
}
.gis-visual .gis-orbit.user1 {
  width: 64px;
  height: 72px;
  left: 79.65%;
  top: 4.89%;
  background-image: url("../img/main/sect4/sect4_GIS/user1.png");
}
.gis-visual .lightbox {
  position: absolute;
  width: 229px;
  height: 184px;
  left: calc(50% - 114.5px + 4px);
  top: calc(50% - 92px - 17px);
  pointer-events: none;
  z-index: 3;
}
.gis-visual .light {
  position: absolute;
  opacity: 0;
  animation: lightPulse 3s infinite ease-in-out;
  background-repeat: no-repeat;
  background-size: contain;
}
.gis-visual .light1 {
  width: 8px;
  height: 8px;
  left: 44px;
  top: 100px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light1.png");
  animation-delay: 0s;
}
.gis-visual .light2 {
  width: 10px;
  height: 45px;
  left: 0px;
  top: 80px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light2.png");
  animation-delay: 0.3s;
}
.gis-visual .light3 {
  width: 10px;
  height: 35px;
  left: 20px;
  top: 81px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light3.png");
  animation-delay: 0.6s;
}
.gis-visual .light4 {
  width: 10px;
  height: 31px;
  left: 60px;
  top: 99px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light4.png");
  animation-delay: 0.9s;
}
.gis-visual .light5 {
  display: none;
}
.gis-visual .light6 {
  width: 3px;
  height: 41px;
  left: 93px;
  top: 57px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light6.png");
  animation-delay: 1.2s;
}
.gis-visual .light6-2 {
  width: 4px;
  height: 41px;
  left: 225px;
  top: 83px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light6.png");
  animation-delay: 1.3s;
}
.gis-visual .light7 {
  width: 11px;
  height: 51px;
  left: 145px;
  top: 85px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light7.png");
  animation-delay: 1.5s;
}
.gis-visual .light8 {
  width: 11px;
  height: 42px;
  left: 34px;
  top: 29px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light14.png");
  animation-delay: 1.8s;
}
.gis-visual .light9 {
  width: 11px;
  height: 42px;
  left: 51px;
  top: 29px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light17.png");
  animation-delay: 2.1s;
}
.gis-visual .light10 {
  width: 13px;
  height: 26px;
  left: 171px;
  top: 111px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light10.png");
  animation-delay: 2.4s;
}
.gis-visual .light11 {
  width: 11px;
  height: 25px;
  left: 194px;
  top: 112px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light11.png");
  animation-delay: 2.7s;
}
.gis-visual .light12 {
  width: 11px;
  height: 23px;
  left: 23px;
  top: 128px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light12.png");
  animation-delay: 0.2s;
}
.gis-visual .light13 {
  width: 12px;
  height: 25px;
  left: 41px;
  top: 126px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light13.png");
  animation-delay: 0.5s;
}
.gis-visual .light14 {
  width: 11px;
  height: 42px;
  left: 71px;
  top: 58px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light14.png");
  animation-delay: 0.8s;
}
.gis-visual .light15 {
  width: 11px;
  height: 42px;
  left: 126px;
  top: 85px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light14.png");
  animation-delay: 1.1s;
}
.gis-visual .light16 {
  width: 11px;
  height: 42px;
  left: 87px;
  top: 126px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light14.png");
  animation-delay: 1.4s;
}
.gis-visual .light17 {
  width: 11px;
  height: 42px;
  left: 110px;
  top: 126px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light17.png");
  animation-delay: 1.7s;
}
.gis-visual .light18 {
  width: 9px;
  height: 41px;
  left: 153px;
  top: 39px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light18.png");
  animation-delay: 2s;
}
.gis-visual .light19 {
  display: none;
}
.gis-visual .light20 {
  width: 11px;
  height: 83px;
  left: 99px;
  top: 0px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light20.png");
  animation-delay: 2.3s;
}
.gis-visual .light21 {
  width: 17px;
  height: 19px;
  left: 139px;
  top: 165px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light21.png");
  animation-delay: 2.6s;
}
.gis-visual .light22 {
  width: 16px;
  height: 19px;
  left: 198px;
  top: 79px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light21.png");
  animation-delay: 2.9s;
}
.gis-visual .light23 {
  width: 20px;
  height: 23px;
  left: 165px;
  top: 160px;
  background-image: url("../img/main/sect4/sect4_GIS/window/light23.png");
  animation-delay: 0.4s;
}

/* 빛 효과 애니메이션 */
@keyframes lightPulse {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 0.8;
  }
}
/* AI·BIG DATA 비주얼 */
.ai-visual {
  background: linear-gradient(135deg, #1F163A, #1D3145);
  border-radius: 20px;
  padding: 2rem;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 575px;
  aspect-ratio: 725/575;
  container-type: size;
}
.ai-visual .imgbox {
  position: relative;
  width: 479px;
  height: 479px;
  transform-origin: center center;
}
.ai-visual .bg_linedots {
  position: absolute;
  width: 547px;
  height: 547px;
  left: 50%;
  top: -12px;
  transform: translateX(-50%);
  background: url("../img/main/sect4/sect4_AI/bg_1.png") no-repeat center;
  background-size: cover;
  opacity: 1;
}
.ai-visual .center_ai {
  position: absolute;
  width: 211px;
  height: 192px;
  left: 133.1px;
  left: calc(50% - 108px);
  top: 134.93px;
  background: url("../img/main/sect4/sect4_AI/main_sect4_AI.png") no-repeat center;
  background-size: contain;
}
.ai-visual .center_ai_lihgt {
  --color1: #687EE8;
  --color2: #687EE8;
  position: absolute;
  left: 156px;
  left: calc(50% - 84px);
  top: 146px;
  width: 169px;
  height: 169px;
  border-radius: 100%;
  background: #687EE8;
  opacity: 0.67;
  filter: blur(50px);
  -webkit-filter: blur(20px);
}
.ai-visual .cloud2d {
  position: absolute;
  width: 93px;
  height: 59px;
  left: 36px;
  left: calc(50% - 215px);
  top: 47px;
  background: url("../img/main/sect4/sect4_AI/main_sect4_cloud2d.png") no-repeat center;
  background-size: contain;
  opacity: 1;
}
.ai-visual .data1 {
  position: absolute;
  width: 73px;
  height: 82px;
  left: 17px;
  left: calc(50% - 226px);
  top: 170px;
  background: url("../img/main/sect4/sect4_AI/main_sect4_data1.png") no-repeat center;
  background-size: contain;
  opacity: 1;
}
.ai-visual .data2 {
  position: absolute;
  width: 58.62px;
  height: 59px;
  left: 61px;
  left: calc(50% - 174px);
  top: 274px;
  background: url("../img/main/sect4/sect4_AI/main_sect4_data2.png") no-repeat center;
  background-size: contain;
  opacity: 1;
}
.ai-visual .graph {
  position: absolute;
  width: 84.7px;
  height: 101px;
  left: 379px;
  left: calc(50% + 136px);
  top: 54px;
  background: url("../img/main/sect4/sect4_AI/main_sect4_graph.png") no-repeat center;
  background-size: contain;
  opacity: 1;
}
.ai-visual .pi {
  position: absolute;
  width: 59px;
  height: 51px;
  left: 405px;
  left: calc(50% + 164px);
  top: 211px;
  background: url("../img/main/sect4/sect4_AI/main_sect4_pi.png") no-repeat center;
  background-size: contain;
  opacity: 1;
}
.ai-visual .panel {
  position: absolute;
  width: 112px;
  height: 91px;
  left: 365px;
  left: calc(50% + 132px);
  top: 318px;
  background: url("../img/main/sect4/sect4_AI/main_sect4_panel.png") no-repeat center;
  background-size: contain;
  opacity: 1;
}
.ai-visual .centerhub {
  position: absolute;
  width: 218.94px;
  height: 93px;
  left: 131px;
  left: calc(50% - 110px);
  top: 410px;
  background: url("../img/main/sect4/sect4_AI/main_sect4_centerhub_AI.png") no-repeat center;
  background-size: contain;
  opacity: 1;
}

/* SI·통합 솔루션 비주얼 */
.si-visual {
  background: linear-gradient(135deg, #1F163A, #1D3145);
  border-radius: 20px;
  padding: 2rem;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 575px;
  aspect-ratio: 725/575;
  container-type: size;
}
.si-visual .imgbox {
  position: relative;
  width: 100%;
  height: 100%;
}
.si-visual .bg {
  position: absolute;
  top: 21px;
  left: 66px;
  left: 50%;
  transform: translateX(-50%);
  width: 632px;
  height: 477px;
  background: url("../img/main/sect4/sect4_SI/bg.png") no-repeat center;
  background-size: 100% 100%;
}
.si-visual .centerhub_SI {
  position: absolute;
  top: 88.89px;
  left: 265px;
  left: 50%;
  transform: translateX(-50%);
  width: 205.17px;
  height: 266.76px;
  background: url("../img/main/sect4/sect4_SI/main_sect4_centerhub.png") no-repeat center;
  background-size: contain;
}
.si-visual .cloud {
  position: absolute;
  top: 30px;
  left: 133px;
  left: calc(50% - 237px);
  width: 102.9px;
  height: 142.91px;
  background: url("../img/main/sect4/sect4_SI/main_sect4_cloud.png") no-repeat center;
  background-size: contain;
}
.si-visual .server1 {
  position: absolute;
  top: 186.3px;
  left: 83.3px;
  left: calc(50% - 283px);
  width: 98.02px;
  height: 138.14px;
  background: url("../img/main/sect4/sect4_SI/main_sect4_server1.png") no-repeat center;
  background-size: contain;
}
.si-visual .server2 {
  position: absolute;
  top: 351.74px;
  left: 123.79px;
  left: calc(50% - 244px);
  width: 100.47px;
  height: 135.76px;
  background: url("../img/main/sect4/sect4_SI/main_sect4_server2.png") no-repeat center;
  background-size: contain;
}
.si-visual .server3 {
  position: absolute;
  top: 24.77px;
  left: 498.54px;
  left: calc(50% + 133px);
  width: 88.9px;
  height: 142.91px;
  background: url("../img/main/sect4/sect4_SI/main_sect4_server3.png") no-repeat center;
  background-size: contain;
}
.si-visual .server4 {
  position: absolute;
  top: 187.54px;
  left: 546.56px;
  left: calc(50% + 183px);
  width: 94.44px;
  height: 105.99px;
  background: url("../img/main/sect4/sect4_SI/main_sect4_server4.png") no-repeat center;
  background-size: contain;
}
.si-visual .server5 {
  position: absolute;
  top: 358.5px;
  left: 528.98px;
  left: calc(50% + 162px);
  width: 94.44px;
  height: 105.99px;
  background: url("../img/main/sect4/sect4_SI/main_sect4_server4.png") no-repeat center;
  background-size: contain;
}
.si-visual .flexcenter {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 22px;
  left: 289.12px;
  left: 50%;
  transform: translateX(-50%);
}
.si-visual .key {
  width: 162px;
  height: 162px;
  background: url("../img/main/sect4/sect4_SI/key.png") no-repeat center;
  background-size: contain;
  transform-style: preserve-3d;
  animation: floatRotateY180 8s infinite ease-in-out;
}
.si-visual .time2,
.si-visual .time3,
.si-visual .time4,
.si-visual .time6,
.si-visual .time7,
.si-visual .time9,
.si-visual .time11 {
  position: absolute;
}
.si-visual .time2 .path,
.si-visual .time3 .path,
.si-visual .time4 .path,
.si-visual .time6 .path,
.si-visual .time7 .path,
.si-visual .time9 .path,
.si-visual .time11 .path {
  position: relative;
}
.si-visual .time2 {
  left: calc(50% + 38px);
  top: calc(50% - 100px);
}
.si-visual .time2 .path .path_light {
  position: absolute;
  width: 121.85px;
  height: 80.08px;
  background-size: 121.85px 80.08px;
}
.si-visual .time2 .path .path_bg {
  position: absolute;
  width: 121.85px;
  height: 80.08px;
  background-size: 121.85px 80.08px;
  opacity: 1;
}
.si-visual .time3 {
  left: calc(50% + 67px);
  top: calc(50% + 38px);
}
.si-visual .time3 .path .path_light {
  position: absolute;
  width: 164.34px;
  height: 65.5px;
  background-size: 164.34px 65.5px;
}
.si-visual .time3 .path .path_bg {
  position: absolute;
  width: 164.34px;
  height: 65.5px;
  background-size: 164.34px 65.5px;
  opacity: 1;
}
.si-visual .time4 {
  left: calc(50% + 42px);
  top: calc(50% + 74px);
}
.si-visual .time4 .path .path_light {
  position: absolute;
  width: 123.53px;
  height: 76.49px;
  background-size: 123.53px 76.49px;
}
.si-visual .time4 .path .path_bg {
  position: absolute;
  width: 123.53px;
  height: 76.49px;
  background-size: 123.53px 76.49px;
  opacity: 1;
}
.si-visual .time6 {
  left: calc(50% - 72px);
  top: calc(50% + 68px);
}
.si-visual .time6 .path .path_light {
  position: absolute;
  width: 107.17px;
  height: 195.34px;
  background-size: 107.17px 195.34px;
}
.si-visual .time6 .path .path_bg {
  position: absolute;
  width: 107.17px;
  height: 195.34px;
  background-size: 107.17px 195.34px;
  opacity: 1;
}
.si-visual .time7 {
  left: calc(50% - 163px);
  top: calc(50% + 57px);
}
.si-visual .time7 .path .path_light {
  position: absolute;
  width: 91.5px;
  height: 54.92px;
  background-size: 91.5px 54.92px;
}
.si-visual .time7 .path .path_bg {
  position: absolute;
  width: 91.5px;
  height: 54.92px;
  background-size: 91.5px 54.92px;
  opacity: 1;
}
.si-visual .time9 {
  left: calc(50% - 199px);
  top: calc(50% - 11px);
}
.si-visual .time9 .path .path_light {
  position: absolute;
  width: 125.88px;
  height: 60.84px;
  background-size: 125.88px 60.84px;
}
.si-visual .time9 .path .path_bg {
  position: absolute;
  width: 125.88px;
  height: 60.84px;
  background-size: 125.88px 60.84px;
  opacity: 1;
}
.si-visual .time11 {
  left: calc(50% - 175px);
  top: calc(50% - 127px);
}
.si-visual .time11 .path .path_light {
  position: absolute;
  width: 131.45px;
  height: 109.92px;
  background-size: 131.45px 109.92px;
}
.si-visual .time11 .path .path_bg {
  position: absolute;
  width: 131.45px;
  height: 109.92px;
  background-size: 131.45px 109.92px;
  opacity: 1;
}
.si-visual .dots {
  position: relative;
  z-index: 10;
  width: 108px;
  height: 206px;
  position: absolute;
  top: 62px;
  left: 316px;
  left: 50%;
  transform: translateX(-50%);
  /* 필요에 따라 조정 */
}
.si-visual .dots canvas#particles {
  width: 100%;
  height: 100%;
  pointer-events: none;
  /* 클릭 막지 않게 */
  background: transparent;
}

/* R&D 비주얼 */
.rd-visual {
  background: linear-gradient(135deg, #28173C, #1D3146);
  border-radius: 20px;
  padding: 2rem;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 575px;
  aspect-ratio: 725/575;
  container-type: size;
}
.rd-visual .imgbox {
  position: relative;
  width: 100%;
  height: 100%;
}
.rd-visual .imgbox .bg {
  background: url("../img/main/sect4/sect4_RD/main_sect4_table.png") no-repeat center;
  width: 417.46px;
  height: 418px;
  background-size: cover;
  position: absolute;
  top: 26px;
  left: 164px;
  left: 50%;
  transform: translateX(-50%);
}
.rd-visual .imgbox .container_blurbox {
  position: absolute;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  background: url("../img/main/sect4/sect4_RD/border1.png") no-repeat center;
  width: 96px;
  height: 96px;
  overflow: hidden;
}
.rd-visual .imgbox .container_blurbox .blurbox {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(100% - 7px);
  height: calc(100% - 7px);
  border-radius: 8px;
  background-color: rgba(0, 0, 0, 0.01);
}
.rd-visual .imgbox .container_blurbox.item1 {
  top: 50px;
  left: 95px;
  left: calc(50% - 279px);
}
.rd-visual .imgbox .container_blurbox.item1 .icon {
  width: 48px;
  height: 52px;
  background: url("../img/main/sect4/sect4_RD/main_sect4_search.png") no-repeat center;
  background-size: 48px 52px;
}
.rd-visual .imgbox .container_blurbox.item2 {
  top: 100px;
  left: 500px;
  left: calc(50% + 151px);
}
.rd-visual .imgbox .container_blurbox.item2 .icon {
  width: 72px;
  height: 52px;
  background: url("../img/main/sect4/sect4_RD/main_sect4_code.png") no-repeat center;
  background-size: 72px 52px;
}
.rd-visual .imgbox .container_blurbox.item3 {
  top: 182px;
  left: 565px;
  left: calc(50% + 203px);
}
.rd-visual .imgbox .container_blurbox.item3 .icon {
  width: 40px;
  height: 52px;
  background: url("../img/main/sect4/sect4_RD/main_sect4_flask.png") no-repeat center;
  background-size: 40px 52px;
}
.rd-visual .imgbox .container_blurbox.item4 {
  top: 345px;
  left: 445px;
  left: calc(50% + 95px);
}
.rd-visual .imgbox .container_blurbox.item4 .icon {
  width: 52px;
  height: 52px;
  background: url("../img/main/sect4/sect4_RD/main_sect4_gear.png") no-repeat center;
  background-size: 52px 52px;
}
.rd-visual .imgbox .container_blurbox.item5 {
  top: 386px;
  left: 123px;
  left: calc(50% - 209px);
  background-image: url("../img/main/sect4/sect4_RD/border2.png");
}
.rd-visual .imgbox .container_blurbox.item5 .icon {
  width: 49px;
  height: 52px;
  background: url("../img/main/sect4/sect4_RD/main_sect4_docu.png") no-repeat center;
  background-size: 49px 52px;
}
.rd-visual .imgbox .onthetable {
  position: absolute;
  top: 47px;
  left: 332px;
  left: calc(50% - 37px);
  width: 66.5px;
  height: 64px;
  background: url("../img/main/sect4/sect4_RD/miniicons.png") no-repeat center;
  background-size: 66.5px 64px;
}

.innovation-circle {
  position: absolute;
  z-index: 1;
  top: 233px;
  left: 371px;
  left: calc(50% + 0px);
  width: 216px;
  height: 216px;
  border: 3px solid rgba(239, 68, 68, 0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 12rem;
  height: 12rem;
  font-size: 1.5rem;
  animation: orbitRotate 4s infinite linear;
}
.innovation-circle::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 50%;
  transform: translateX(-50%);
  width: 10px;
  height: 10px;
  background: #ef4444;
  border-radius: 50%;
}

/* 애니메이션 */
/* 애니메이션 */
@keyframes pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.7;
  }
  50% {
    transform: scale(1.1);
    opacity: 1;
  }
}
@keyframes brainPulse {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.05);
  }
}
@keyframes neuralPulse {
  0%, 100% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
}
@keyframes integrationPulse {
  0%, 100% {
    transform: scale(1);
    border-color: rgba(64, 224, 208, 0.4);
  }
  50% {
    transform: scale(1.05);
    border-color: rgba(64, 224, 208, 0.8);
  }
}
@keyframes innovationRotate {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
/* 궤도 회전 애니메이션 */
@keyframes orbitRotate {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
/* 아이콘 역회전 애니메이션 (아이콘이 똑바로 유지됨) */
@keyframes counterRotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
/* 호흡 효과 애니메이션 */
@keyframes breathe {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.8;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.1);
    opacity: 1;
  }
}
@keyframes line-draw-fade {
  0% {
    stroke-dashoffset: 1500;
    opacity: 1;
  }
  80% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
}
.path_light svg path,
.path_light svg line {
  fill: none;
  stroke-width: 2px;
  stroke-miterlimit: 10;
  stroke-dasharray: 1500;
  stroke-dashoffset: 1500;
  animation: line-draw-fade 3s infinite linear;
}

.path_bg svg path,
.path_bg svg line {
  fill: none;
  stroke: #5a9ccc;
  stroke-width: 1px;
  stroke-miterlimit: 10;
  opacity: 0.5;
}

/* Y축 기준 회전 애니메이션 */
@keyframes floatRotateY180 {
  0%, 100% {
    transform: translateY(0px) rotateY(0deg);
  }
  50% {
    transform: translateY(-20px) rotateY(180deg);
  }
}
/* 라인 그리기 페이드 애니메이션 */
@keyframes line-draw-fade {
  0% {
    stroke-dashoffset: 1500;
    opacity: 1;
  }
  80% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
}
/* Footer 스타일 */
footer {
  position: relative;
  width: 100%;
  background: rgba(0, 0, 0, 0.9);
  color: #ffffff;
  padding: 40px 0;
  margin-top: 0;
  z-index: 1000;
  display: block;
  clear: both;
  min-height: 120px;
  box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.3);
}

.footer-content {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 5%;
}

.footer-logo {
  width: 150px;
  height: 50px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
}

.footer-text {
  flex: 1;
  margin-left: 40px;
}
.footer-text p {
  margin: 5px 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
}
.footer-text p.copyright {
  margin-top: 15px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
}

.footer-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border: 1px solid #48CFEC;
  border-radius: 50%;
  color: #48CFEC;
  text-decoration: none;
  transition: all 0.3s ease;
}
.footer-arrow:hover {
  background: #48CFEC;
  color: #000;
  transform: translateY(-3px);
}

@media (max-width: 768px) {
  .footer-content {
    flex-direction: column;
    text-align: center;
    gap: 20px;
  }
  .footer-text {
    margin-left: 0;
  }
  .business-content {
    flex-direction: column;
    gap: 40px;
    text-align: center;
  }
  .business-content.reverse {
    flex-direction: column;
  }
  .business-visual {
    order: -1;
    min-height: 25rem !important;
    max-height: none !important;
    margin: 0 auto 2rem auto;
    transform: translateY(-3.125rem) scale(0.9);
    flex: none;
  }
  .business-visual.visible {
    transform: translateY(0) scale(1);
  }
  .business-text {
    order: 1;
    max-width: 100%;
    width: 100%;
    transform: translateY(3.125rem);
  }
  .business-text.visible {
    transform: translateY(0);
  }
  .business-content.reverse .business-text {
    transform: translateY(3.125rem);
  }
  .business-title {
    font-size: 2.5rem;
  }
  .business-section {
    padding: 2rem 1.5rem;
    margin-bottom: 3rem;
    min-height: auto;
    height: auto;
    align-items: flex-start;
    padding-top: 3rem;
  }
  .business-container {
    min-height: auto;
  }
  .business-description {
    font-size: 1rem;
    margin-bottom: 2rem;
  }
  .view-more-btn {
    padding: 0.75rem 1.5rem;
    font-size: 0.9rem;
  }
  .gis-visual {
    width: 100% !important;
    height: 350px !important;
    padding: 1rem;
  }
  .gis-visual .imgbox {
    width: 100%;
    height: 100%;
    max-width: 320px;
    max-height: 320px;
  }
  .gis-visual .city {
    width: 75%;
    height: auto;
    aspect-ratio: 430/374;
  }
  .gis-visual .gis-circle {
    width: 87%;
    height: auto;
    aspect-ratio: 496/487;
  }
  .gis-visual .gis-orbit.drone {
    width: 17%;
    height: auto;
    aspect-ratio: 97/68;
  }
  .gis-visual .gis-orbit.marker {
    width: 8.8%;
    height: auto;
    aspect-ratio: 50/72;
  }
  .gis-visual .gis-orbit.user2 {
    width: 12.5%;
    height: auto;
    aspect-ratio: 71/81;
  }
  .gis-visual .gis-orbit.list {
    width: 13%;
    height: auto;
    aspect-ratio: 74/76;
  }
  .gis-visual .gis-orbit.share {
    width: 13%;
    height: auto;
    aspect-ratio: 74/77;
  }
  .gis-visual .gis-orbit.chat {
    width: 13.9%;
    height: auto;
    aspect-ratio: 79/82;
  }
  .gis-visual .gis-orbit.cloud {
    width: 16%;
    height: auto;
    aspect-ratio: 91/86;
  }
  .gis-visual .gis-orbit.user1 {
    width: 11.3%;
    height: auto;
    aspect-ratio: 64/72;
  }
  .gis-visual .lightbox {
    width: 137.4px;
    height: 110.4px;
    left: calc(50% - 68.7px + 5.4px);
    top: calc(50% - 55.2px - 10.2px);
  }
  .gis-visual .light1 {
    width: 4.8px;
    height: 4.8px;
    left: 26.4px;
    top: 60px;
  }
  .gis-visual .light2 {
    width: 6px;
    height: 27px;
    left: 0px;
    top: 48px;
  }
  .gis-visual .light3 {
    width: 6px;
    height: 21px;
    left: 12px;
    top: 48.6px;
  }
  .gis-visual .light4 {
    width: 6px;
    height: 18.6px;
    left: 36px;
    top: 59.4px;
  }
  .gis-visual .light6 {
    width: 1.8px;
    height: 24.6px;
    left: 52.8px;
    top: 34.2px;
  }
  .gis-visual .light6-2 {
    width: 2.4px;
    height: 24.6px;
    left: 127.2px;
    top: 49.8px;
  }
  .gis-visual .light7 {
    width: 6.6px;
    height: 30.6px;
    left: 85.8px;
    top: 51px;
  }
  .gis-visual .light8 {
    width: 6.6px;
    height: 25.2px;
    left: 20.4px;
    top: 17.4px;
  }
  .gis-visual .light9 {
    width: 6.6px;
    height: 25.2px;
    left: 30.6px;
    top: 17.4px;
  }
  .gis-visual .light10 {
    width: 7.8px;
    height: 15.6px;
    left: 97.8px;
    top: 66.6px;
  }
  .gis-visual .light11 {
    width: 6.6px;
    height: 15px;
    left: 109.8px;
    top: 67.2px;
  }
  .gis-visual .light12 {
    width: 6.6px;
    height: 13.8px;
    left: 13.8px;
    top: 76.8px;
  }
  .gis-visual .light13 {
    width: 7.2px;
    height: 15px;
    left: 24.6px;
    top: 75.6px;
  }
  .gis-visual .light14 {
    width: 6.6px;
    height: 25.2px;
    left: 42.6px;
    top: 34.8px;
  }
  .gis-visual .light15 {
    width: 6.6px;
    height: 25.2px;
    left: 72px;
    top: 51px;
  }
  .gis-visual .light16 {
    width: 6.6px;
    height: 25.2px;
    left: 51px;
    top: 75.6px;
  }
  .gis-visual .light17 {
    width: 6.6px;
    height: 25.2px;
    left: 63px;
    top: 75.6px;
  }
  .gis-visual .light18 {
    width: 5.4px;
    height: 24.6px;
    left: 87px;
    top: 23.4px;
  }
  .gis-visual .light20 {
    width: 6.6px;
    height: 49.8px;
    left: 57.6px;
    top: 0px;
  }
  .gis-visual .light21 {
    width: 10.2px;
    height: 11.4px;
    left: 79.8px;
    top: 94.2px;
  }
  .gis-visual .light22 {
    width: 9.6px;
    height: 11.4px;
    left: 112.2px;
    top: 47.4px;
  }
  .gis-visual .light23 {
    width: 12px;
    height: 13.8px;
    left: 94.2px;
    top: 91.8px;
  }
  .ai-visual {
    width: 100% !important;
    height: 350px !important;
    padding: 1rem;
  }
  .ai-visual .imgbox {
    width: 100%;
    height: 100%;
    max-width: 320px;
    max-height: 320px;
    position: relative;
  }
  .ai-visual .imgbox > div {
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .ai-visual .bg_linedots {
    width: 114%;
    height: 114%;
    top: -2.5%;
  }
  .ai-visual .center_ai {
    width: 44%;
    height: 40%;
    left: 27.8%;
    top: 28.2%;
  }
  .ai-visual .center_ai_lihgt {
    width: 35%;
    height: 35%;
    left: 32.6%;
    top: 30.5%;
  }
  .ai-visual .cloud2d {
    width: 19.4%;
    height: 12.3%;
    left: 7.5%;
    top: 9.8%;
  }
  .ai-visual .data1 {
    width: 15.2%;
    height: 17.1%;
    left: 3.5%;
    top: 35.5%;
  }
  .ai-visual .data2 {
    width: 12.2%;
    height: 12.3%;
    left: 12.7%;
    top: 57.2%;
  }
  .ai-visual .graph {
    width: 17.7%;
    height: 21.1%;
    left: 79.1%;
    top: 11.3%;
  }
  .ai-visual .pi {
    width: 12.3%;
    height: 10.6%;
    left: 84.5%;
    top: 44%;
  }
  .ai-visual .panel {
    width: 23.4%;
    height: 19%;
    left: 76.2%;
    top: 66.4%;
  }
  .ai-visual .centerhub {
    width: 45.7%;
    height: 19.4%;
    left: 27.3%;
    top: 85.6%;
  }
  .si-visual {
    width: 100% !important;
    height: 350px !important;
    padding: 1rem;
  }
  .si-visual .imgbox {
    width: 100%;
    height: 100%;
    max-width: 320px;
    max-height: 320px;
    position: relative;
    transform: translateY(-14px);
  }
  .si-visual .imgbox > div {
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .si-visual .bg {
    width: 100%;
    height: 100%;
    top: 20px;
    left: 0;
    transform: none;
    background-size: 100% 100%;
  }
  .si-visual .centerhub_SI {
    width: 35.7%;
    height: 55.6%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .si-visual .cloud {
    width: 20.5%;
    height: 29.8%;
    left: 11.1%;
    top: 11.1%;
  }
  .si-visual .server1 {
    width: 17.1%;
    height: 28.8%;
    left: 0.5%;
    top: 41.2%;
  }
  .si-visual .server2 {
    width: 17.5%;
    height: 28.3%;
    left: 9.5%;
    top: 70.4%;
  }
  .si-visual .server3 {
    width: 15.5%;
    height: 29.8%;
    left: 73.7%;
    top: 14.3%;
  }
  .si-visual .server4 {
    width: 16.4%;
    height: 22.1%;
    left: 82.1%;
    top: 43.2%;
  }
  .si-visual .server5 {
    width: 16.4%;
    height: 22.1%;
    left: 78%;
    top: 71.9%;
  }
  .si-visual .flexcenter {
    width: 90px;
    height: 108px;
    left: 50%;
    transform: translateX(-50%);
  }
  .si-visual .key {
    width: 100%;
    height: 100%;
  }
  .si-visual .dots {
    position: absolute;
    width: 18.8%;
    height: 35.8%;
    top: 10.8%;
    z-index: 10;
    left: 50%;
    transform: translateX(-50%);
  }
  .si-visual .dots canvas#particles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: transparent;
  }
  .si-visual .time2,
  .si-visual .time3,
  .si-visual .time4,
  .si-visual .time6,
  .si-visual .time7,
  .si-visual .time9,
  .si-visual .time11 {
    position: absolute;
  }
  .si-visual .time2 .path,
  .si-visual .time3 .path,
  .si-visual .time4 .path,
  .si-visual .time6 .path,
  .si-visual .time7 .path,
  .si-visual .time9 .path,
  .si-visual .time11 .path {
    position: relative;
    width: 100%;
    height: 100%;
  }
  .si-visual .time2 .path .path_light,
  .si-visual .time2 .path .path_bg,
  .si-visual .time3 .path .path_light,
  .si-visual .time3 .path .path_bg,
  .si-visual .time4 .path .path_light,
  .si-visual .time4 .path .path_bg,
  .si-visual .time6 .path .path_light,
  .si-visual .time6 .path .path_bg,
  .si-visual .time7 .path .path_light,
  .si-visual .time7 .path .path_bg,
  .si-visual .time9 .path .path_light,
  .si-visual .time9 .path .path_bg,
  .si-visual .time11 .path .path_light,
  .si-visual .time11 .path .path_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .si-visual .time2 {
    width: 21.2%;
    height: 13.9%;
    top: 38.3%;
    left: 56%;
  }
  .si-visual .time2 .path .path_bg {
    opacity: 0.1;
  }
  .si-visual .time3 {
    width: 28.6%;
    height: 11.4%;
    top: 62.5%;
    left: 61.4%;
  }
  .si-visual .time3 .path .path_bg {
    opacity: 0.1;
  }
  .si-visual .time4 {
    width: 21.5%;
    height: 13.3%;
    top: 68.9%;
    left: 57%;
  }
  .si-visual .time4 .path .path_bg {
    opacity: 0.1;
  }
  .si-visual .time6 {
    width: 18.6%;
    height: 34%;
    top: 67.9%;
    left: 37.9%;
  }
  .si-visual .time6 .path .path_bg {
    opacity: 0.1;
  }
  .si-visual .time7 {
    width: 15.9%;
    height: 9.5%;
    top: 65.8%;
    left: 23%;
  }
  .si-visual .time7 .path .path_bg {
    opacity: 0.1;
  }
  .si-visual .time9 {
    width: 21.9%;
    height: 10.6%;
    top: 54.3%;
    left: 14.3%;
  }
  .si-visual .time9 .path .path_bg {
    opacity: 0.1;
  }
  .si-visual .time11 {
    width: 22.8%;
    height: 19.1%;
    top: 31%;
    left: 22.9%;
  }
  .si-visual .time11 .path .path_bg {
    opacity: 0.1;
  }
  .rd-visual {
    width: 100% !important;
    height: 350px !important;
    padding: 1rem;
  }
  .rd-visual .imgbox {
    width: 100%;
    height: 100%;
    max-width: 320px;
    max-height: 320px;
    position: relative;
  }
  .rd-visual .imgbox > div {
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .rd-visual .imgbox .bg {
    width: 57.6%;
    height: 72.7%;
    top: 11.5%;
    background-size: cover;
  }
  .rd-visual .imgbox .container_blurbox {
    transform: scale(0.65);
  }
  .rd-visual .imgbox .container_blurbox.item1 {
    top: 8.7%;
    left: -1.1%;
  }
  .rd-visual .imgbox .container_blurbox.item2 {
    top: 17.4%;
    left: 72%;
  }
  .rd-visual .imgbox .container_blurbox.item3 {
    top: 34.7%;
    left: 83.9%;
  }
  .rd-visual .imgbox .container_blurbox.item4 {
    top: 63%;
    left: 61.4%;
  }
  .rd-visual .imgbox .container_blurbox.item5 {
    top: 70.1%;
    left: 8%;
  }
  .rd-visual .imgbox .onthetable {
    transform: scale(0.65);
    top: 5.2%;
    left: 40.8%;
  }
  .rd-visual .imgbox .innovation-circle {
    width: 50%;
    height: 50%;
    top: 50.5%;
    left: 51.2%;
  }
}
/* 모바일 반응형 CSS */
@media (max-width: 768px) {
  .business-content {
    flex-direction: column;
    gap: 40px;
    text-align: center;
  }
  .business-content.reverse {
    flex-direction: column;
  }
  .business-visual {
    width: 100%;
    height: auto;
    max-width: 500px;
  }
  .business-title {
    font-size: 2.5rem;
  }
}
/* business_section_test0714-all-slide.scss 파일 끝에 추가할 스타일 */
/* ===== slide-7 개선 스타일 ===== */
/* slide-7 전환 효과 개선 */
.swiper-slide.slide-7 {
  opacity: 0;
  transition: opacity 0.8s ease-in-out;
}
.swiper-slide.slide-7.swiper-slide-active {
  opacity: 1;
}
.swiper-slide.slide-7 {
  /* 하단 그림자 제거 */
}
.swiper-slide.slide-7::after {
  display: none;
}

/* Swiper 높이 조정 (footer visible 상태) */
.swiper.footer-visible {
  height: calc(100vh - 200px);
  /* footer 높이만큼 감소 */
  transition: height 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* slide-7 비즈니스 콘텐츠 애니메이션 개선 */
.slide-7 .business-text,
.slide-7 .business-visual {
  transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
  transition-delay: 0.3s;
}
.slide-7.swiper-slide-active .business-text {
  opacity: 1;
  transform: translateX(0);
}
.slide-7.swiper-slide-active .business-visual {
  opacity: 1;
  transform: translateX(0);
}

/* Main container 설정 */
.main-container {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  /* 중요: Footer가 숨겨지도록 */
}

/* Footer 위치 수정 */
footer#mainFooter {
  position: fixed !important;
  /* 화면에 고정 */
  bottom: 0 !important;
  /* 하단에 위치 */
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  background: rgba(0, 0, 0, 0.95) !important;
  color: #ffffff !important;
  padding: 40px 0 !important;
  transform: translateY(100%) !important;
  /* 처음엔 숨김 */
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  z-index: 9999 !important;
  /* Footer 표시 상태 */
}
footer#mainFooter.visible {
  transform: translateY(0) !important;
}

/* slide-7에서만 Footer 표시되도록 */
body:not(.on-last-slide) footer#mainFooter {
  pointer-events: none;
  /* 다른 슬라이드에서는 클릭 방지 */
}

/* Swiper 기본 설정 (기존 코드와 병합) */
.swiper {
  position: relative;
  width: 100%;
  height: 100vh;
  transition: height 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 모바일 반응형 수정 */
@media (max-width: 768px) {
  footer#mainFooter {
    padding: 30px 0;
  }
  footer#mainFooter .footer-content {
    flex-direction: column;
    text-align: center;
    gap: 20px;
  }
  footer#mainFooter .footer-content .footer-text {
    margin-left: 0;
  }
  .swiper.footer-visible {
    height: calc(100vh - 250px);
    /* 모바일에서는 footer가 더 높음 */
  }
}/*# sourceMappingURL=business_section.css.map */