.vision-section{
  width:100%;
  background:#fff;
  padding: 70px 0;
}

.vision-inner{
  width:1440px;
  max-width: calc(100% - 40px);
  margin: 0 auto;
}

/* 섹션 타이틀 */
.vision-title{
  display:flex;
  align-items:center;
  gap:10px;
  font-size: 28px;
  font-weight: 900;
  margin: 0 0 26px;
  letter-spacing: -0.3px;
}

.vision-bar{
  width:4px;
  height:22px;
  background:#e01b25;
  border-radius: 99px;
}

/* 3열 그리드 */
.vision-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  margin-top:15px;
}

/* 카드 */
.vision-card{
  text-align:center;
  padding: 26px 20px;
  border-radius: 22px;
  border: 1px solid rgba(0,0,0,0.08);
  background:#fff;
  box-shadow: 0 12px 26px rgba(0,0,0,0.06);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.vision-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 18px 34px rgba(0,0,0,0.10);
  border-color: rgba(0,0,0,0.08); /* 또는 그냥 삭제해도 됨 */
}

/* 원형 아이콘 */
.vision-ico{
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background:#e01b25;
  color:#fff;
  margin: 0 auto 16px;

  display:flex;
  align-items:center;
  justify-content:center;
  position: relative;      /* ✅ 스윕을 위해 */
  overflow: hidden;        /* ✅ 원 안에서만 광택 */
  transition: transform .35s ease, box-shadow .35s ease, background-color .35s ease;
}

.vision-ico i{
  font-size: 44px;
  line-height: 1;
  color:#fff;
}
/* ✅ 아이콘 자체(폰트 아이콘)도 부드럽게 */
.vision-ico i{
  transition: transform .35s ease;
  position: relative;
  z-index: 2;
}

/* ✅ 은은한 광택(스윕) */
.vision-ico::after{
  content:"";
  position:absolute;
  top:-40%;
  left:-30%;
  width:55%;
  height:180%;
  transform: rotate(25deg) translateX(-160%);
  background: rgba(255,255,255,0.18);
  filter: blur(1px);
  transition: transform .55s ease;
  pointer-events:none;
  z-index: 1;
}
.vision-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 18px 34px rgba(0,0,0,0.10);
  /* border-color 변경 제거 */
}
/* ✅ 카드에 hover되면: 아이콘만 살아나게 */
.vision-card:hover .vision-ico{
  transform: translateY(-2px) scale(1.06);
  box-shadow: 0 14px 26px rgba(224,27,37,0.32);
}

/* ✅ 스윕 지나감 */
.vision-card:hover .vision-ico::after{
  transform: rotate(25deg) translateX(220%);
}

/* ✅ 아이콘 살짝 회전(과하지 않게) */
.vision-card:hover .vision-ico i{
  transform: rotate(-10deg) scale(1.02);
}

/* 텍스트 */
.vision-name{
  font-size: 22px;
  font-weight: 900;
  margin: 0 0 10px;
  letter-spacing: -0.2px;
}

.vision-desc{
  margin:0;
  font-size:18px;
  line-height:1.7;
  color:#333;
}

/* 태블릿 */
@media (max-width: 1024px){
  .vision-grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 모바일 */
@media (max-width: 768px){
  .vision-inner{
    max-width: calc(100% - 20px);
  }

  .vision-section{
    padding: 44px 0;
  }

  .vision-title{
    font-size: 24px;
    margin-bottom: 18px;
  }

  .vision-grid{
    grid-template-columns: 1fr; /* ✅ 1열 */
    gap: 14px;
  }

  .vision-card{
    padding: 20px 16px;
  }

  .vision-ico{
    width: 82px;
    height: 82px;
    margin-bottom: 12px;
  }

  .vision-ico i{
    font-size: 40px;
  }

  .vision-name{
    font-size: 21px;
  }

  .vision-desc{
    font-size: 18px;
  }
}

.basicPD {padding:60px 0;}
@media (max-width: 768px){
	.basicPD {padding:30px 0;}
}