*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Pretendard',sans-serif;color:#222; word-break: keep-all;}
a{text-decoration:none;color:inherit;}
ul{list-style:none}

/* ================= HEADER ================= */
.header{
  position:fixed;
  top:0;
  width:100%;
  background:rgba(255,255,255,0.4);
  backdrop-filter:blur(10px);
  z-index:1000;
  transition:all .3s ease;
}
.header.scrolled{
  background:#fff;
  box-shadow:0 5px 20px rgba(0,0,0,0.08);
}
.header .inner{
  max-width:1300px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  height:100px;
}
.logo{font-weight:700;font-size:22px;}

.menu{
  display:flex;
  gap:40px;
}
.menu > li{
  position:relative;
  padding:30px 0;
  font-size:17.5px; font-weight:500;  /* hover 유지 영역 확보 */
}

.menu > li > a.active::after{
  width:100%;
}

/* 햄버거 기본 숨김 */
.hamburger{
  display:none;
  flex-direction:column;
  gap:6px;
  cursor:pointer;
}

.hamburger span{
  width:25px;
  height:3px;
  background:#000;
  border-radius:3px;
}



/* 2차 메뉴 */
.submenu{
  position:absolute;
  top:100%;              /* 바로 아래 붙이기 */
  left:0;
  min-width:220px;       /* 가로 길게 */
  padding:20px;
  background:#fff;
  border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,0.1);

  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:all .25s ease;
}

/* hover 시 열림 */
.menu > li:hover .submenu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

/* 2차 메뉴 아이템 */
.submenu li{
  margin-bottom:10px;

}
.submenu li:last-child{
  margin-bottom:0;
}
.submenu li a{
  display:block;
  padding:8px 0;
  white-space:nowrap; font-size:17px;
}
.submenu li a:hover{color:#2a6edb}



/* ================= HERO ================= */

.hero{
  position:relative;
  min-height:100vh;
  background:#000 url('/images/bg01.jpg') center/cover no-repeat;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:160px 50px 80px;
  animation:heroZoom 2.5s ease-out forwards;
}

/* 줌 아웃 */
@keyframes heroZoom{
  0%{ background-size:110%; }
  100%{ background-size:100%; }
}

.overlay{
  position:absolute;
  inset:0;
  background:rgba(255,255,255,0.4);
}

.hero-content{
  position:relative;
  z-index:2;
  max-width:1000px;
  margin-bottom:50px;
}

/* 텍스트 */
.sub-title{
  display:inline-block;
  color:#2a6edb;
  padding:10px 15px;
  background:rgba(51,102,204,0.23);
  border-radius:10px;
  font-weight:700;
  font-size:20px;
  margin-bottom:15px;
}

.hero h1{
  font-size:60px;
  font-weight:800;
  margin-bottom:25px;
  line-height:75px;
}

.desc{
  color:#000;
  font-weight:600;
  line-height:1.6;
  margin-bottom:40px;
  font-size:21px;
}

/* 버튼 */
.btn-wrap{
  display:flex;
  justify-content:center;
  gap:20px;
}

.btn{
  padding:15px 35px;
  border-radius:10px;
  font-weight:600;
  transition:all .3s ease;
}

.btn:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 25px rgba(0,0,0,0.15);
}

.btn.primary{
  background:#2a6edb;
  color:#fff;
}

.btn.light{
  background:#fff;
  border:1px solid #ddd;
}

/* ================= HERO CARDS ================= */

.hero-cards{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1200px;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:30px;
}

.card{
  background:#fff;
  padding:40px;
  border-radius:20px;
  box-shadow:0 10px 30px rgba(0,0,0,0.08);
  transition:transform .35s cubic-bezier(.22,.61,.36,1),
             box-shadow .35s ease;
}

.card:hover{
  transform:translateY(-12px);
  box-shadow:0 25px 50px rgba(0,0,0,0.18);
}

.card h3{
  margin-bottom:15px;
  font-size:21px;
}

.card:hover h3{
  color:#2a6edb;
}

.card p{
  color:#666;
  font-size:17px;
  line-height:28px;
}

/* ================= 반응형 ================= */

/* 태블릿 */
@media (max-width:1024px){

  .hero h1{
    font-size:40px;
    line-height:52px;
  }

  .desc{
    font-size:17px;
  }

  .hero-cards{
    grid-template-columns:repeat(2, 1fr);
  }

}

/* 모바일 */
@media (max-width:768px){

  .hero{
    animation:none;
  }

  .hero h1{
    font-size:30px;
    line-height:42px;
  }

  .desc{
    font-size:15px;
  }

  .btn-wrap{
    flex-direction:column;
    gap:15px;
  }

  .btn{
    width:100%;
    max-width:320px;
    margin:0 auto;
  }

  .hero-cards{
    grid-template-columns:1fr;
  }

  .card{
    padding:30px;
  }

}


/* ================= 반응형 ================= */
.hamburger{
  display:none;
  font-size:28px;
  cursor:pointer;
}


@media(max-width:1024px){

  .menu{
    position:fixed;
    top:80px;
    left:0;
    width:100%;
    height:calc(100vh - 80px);
    background:#fff;
    flex-direction:column;
    padding:30px;
    gap:20px;

    transform:translateX(-100%);
    transition:transform .3s ease;
    z-index:999;
  }

  .menu.active{
    transform:translateX(0);
  }

  .submenu{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    padding:10px 0 0 15px;
  }

  .hamburger{
    display:flex;
  }
}



@media (max-width:1024px){

  .hero h1{
    font-size:40px;
    line-height:52px;
  }

  .desc{
    font-size:17px;
  }

  .hero-cards{
    grid-template-columns:repeat(2, 1fr);
  }

}

/* 모바일 */
@media (max-width:768px){

  .hero{
    animation:none;
  }

  .hero h1{
    font-size:30px;
    line-height:42px;
  }

  .desc{
    font-size:15px;
  }

  .btn-wrap{
    flex-direction:column;
    gap:15px;
  }

  .btn{
    width:100%;
    max-width:320px;
    margin:0 auto;
  }

  .hero-cards{
    grid-template-columns:1fr;
  }

  .card{
    padding:30px;
  }

}


/* ================= PHILOSOPHY ================= */

.philosophy{
  padding:120px 20px 120px;
  background:linear-gradient(180deg,#eef7f3 0%, #e6f3ee 100%);
}

.philo-top{
  text-align:center;
  margin-bottom:80px;
}

.badge{
  display:inline-block;
  background:#d6efe5;
  color:#1b8f6b;
  padding:8px 20px;
  border-radius:30px;
  font-size:13px;
  font-weight:600;
  margin-bottom:20px;
}

.philo-top h2{
  font-size:45px;
  font-weight:800;
  margin-bottom:20px;
  color:#000;
}

.philo-top p{
  color:#555;
  font-size:19px; 
  line-height:1.5;
}

.philo-content{
  max-width:1300px;
  margin:0 auto 100px;
  display:flex;
  gap:60px;
  align-items:center;
}

/* 이미지 */
.philo-img img{
  width:100%;
  max-width:550px;
  border-radius:30px;
  box-shadow:0 20px 50px rgba(0,0,0,0.1);
}

/* 오른쪽 카드 */
.philo-cards{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:30px;
}

.info-box{
  background:#fff;
  padding:35px;
  border-radius:20px;
  display:flex;
  gap:20px;
  box-shadow:0 15px 40px rgba(0,0,0,0.06);
  transition:all .3s ease;
  border:1px solid #cff1e6;
}

.info-box:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 50px rgba(0,0,0,0.12);
}

.info-box h3{
  font-size:23px;
  margin-bottom:10px;
}

.info-box p{
  font-size:17px;
  color:#666;
  line-height:1.6;
}

/* 통계 */
.philo-stats{
  max-width:1300px;
  margin:0 auto;
  display:flex;
  gap:40px;
  justify-content:center;
}

.stat{
  
  flex:1;
  text-align:center;
  padding:50px 20px;
  border-radius:25px;
  box-shadow:0 20px 50px rgba(0,0,0,0.06);
  transition:.3s;
    border:1px solid #cff1e6;
   background: linear-gradient(180deg, #e4f3ed 0%, #f4fbf8 45%, #ffffff 100%);
}

.stat:hover{
  transform:translateY(-10px);
}

.stat h3{
  font-size:42px;
  color:#1b8f6b;
  margin-bottom:15px;
}

.stat strong{
  display:block;
  margin-bottom:10px;
  font-size:22px;
}

.stat p{
  color:#666;
  font-size:18px;
}

/* 반응형 */
@media(max-width:1024px){

  .philo-content{
    flex-direction:column;
  }

  .philo-stats{
    flex-direction:column;
  }

}




/* ================= WHY SECTION ================= */

.why{
  padding:120px 20px;
  background:#f4f6f9;
}

.why-top{
  text-align:center;
  margin-bottom:80px;
}

.badge.blue{
  background:#e2ecfb;
  color:#3d73d8;
}

.why-top h2{
  font-size:45px;
  font-weight:800;
  margin-bottom:20px;
  color:#000;
}

.why-top p{
  color:#666;
  font-size:19px;
  line-height:1.5;
}

/* 카드 영역 */
.why-cards{
  max-width:1300px;
  margin:0 auto 120px;
  display:flex;
  gap:50px;
  justify-content:center;
  flex-wrap:wrap;
}

.why-card{
  background:#fff;
  width:280px;
  padding:30px 25px 40px;
  border-radius:30px;
  text-align:center;
  box-shadow:0 20px 40px rgba(0,0,0,0.05);
  transition:.3s;
}

.why-card:hover{
  transform:translateY(-12px);
  box-shadow:0 30px 60px rgba(0,0,0,0.12);
}

.why-img{
  position:relative;
  margin-bottom:25px;
}

.why-img img{
  width:100%;
  border-radius:20px;
}

.icon-box{
  position:absolute;
  left:50%;
  bottom:-25px;
  transform:translateX(-50%);
  width:60px;
  height:60px;
  background:#3d73d8;
  border-radius:16px;
  box-shadow:0 10px 20px rgba(61,115,216,0.3);
}

.why-card h3{
  margin-top:55px;
  font-size:24px;
  margin-bottom:15px;
}

.why-card p{
  font-size:17px;
  color:#666;
  line-height:1.6;
  display: inline-block;
  width:60%;
}

/* CTA 박스 */
.why-cta{
  max-width:900px;
  margin:0 auto;
  background:#fff;
  padding:60px 40px;
  border-radius:30px;
  text-align:center;
  box-shadow:0 25px 60px rgba(0,0,0,0.08);
}

.why-cta h3{
  font-size:28px;
  font-weight:700;
  margin-bottom:15px;
}

.why-cta p{
  color:#666;
  margin-bottom:50px;
  font-size:20px;
}

.btn.large{
  padding:18px 45px;
  font-size:16px;
}

/* 반응형 */
@media(max-width:1024px){

  .why-cards{
    flex-direction:column;
    align-items:center;
  }

  .why-card{
    width:100%;
    max-width:400px;
  }

}




/* ================= INSURANCE SECTION ================= */

.insurance{
  padding:150px 20px;
  background:linear-gradient(180deg,#eef3f8 0%, #dfe8f2 100%);
}

.insurance-top{
  text-align:center;
  margin-bottom:80px;
}

.insurance-top h2{
  font-size:40px;
  font-weight:800;
  margin:20px 0;
}

.insurance-top p{
  color:#666;
  line-height:1.7;
}

/* 법적 근거 */
.insurance-law{
  max-width:1300px;
  margin:0 auto 100px;
  display:flex;
  gap:60px;
  align-items:center;
}

.law-img{
  position:relative;
}

.law-img img{
  width:100%;
  max-width:500px;
  border-radius:30px;
}

.law-badge{
  position:absolute;
  bottom:20px;
  left:20px;
  background:#fff;
  padding:15px 20px;
  border-radius:15px;
  font-weight:600;
  box-shadow:0 10px 30px rgba(0,0,0,0.1);
}

.law-box{
  flex:1;
  background:#fff;
  padding:40px;
  border-radius:25px;
  box-shadow:0 20px 50px rgba(0,0,0,0.06);
}

.law-item{
  background:#f3f6fb;
  padding:20px;
  border-radius:15px;
  margin-top:20px;
}

/* 미가입 */
.disadvantage{
  text-align:center;
  margin-bottom:100px;
}

.disadvantage-cards{
  display:flex;
  gap:30px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:40px;
}

.dis-card{
  background:#fff;
  padding:30px;
  width:250px;
  border-radius:20px;
  box-shadow:0 15px 40px rgba(0,0,0,0.06);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.dis-card.red{
  border:2px solid #f4b5b5;
}

.dis-card:hover{
  transform:translateY(-10px);
  box-shadow:0 25px 55px rgba(0,0,0,0.15);
}

.dis-card.red:hover{
  border-color:#ef6b6b;
}

.red{
  border:2px solid #f4b5b5;
}

/* 시설 기준 */
.facility-box{
   max-width:1100px;
  margin:0 auto 100px;
  padding:60px 50px;
  border-radius:30px;

  /* 🔹 Glass 효과 */
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);

  border:1px solid rgba(255,255,255,0.6);
  box-shadow:0 20px 60px rgba(0,0,0,0.08);
}
.facility-box::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(to right, transparent, rgba(255,255,255,0.8), transparent);
}

.facility-wrap{
  display:flex;
  gap:40px;
  margin-top:40px;
}

.facility-item{
  flex:1;
  padding:35px;
  border-radius:20px;

  background:rgba(255,255,255,0.65);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);

  border:1px solid rgba(255,255,255,0.5);
  transition:all .3s ease;
}

.facility-item:hover{
  transform:translateY(-8px);
  box-shadow:0 25px 50px rgba(0,0,0,0.12);
}

.blue-bg{
  background:#e9f0fb;
}

.green-bg{
  background:#e4f3ec;
}

/* 보장 내용 */
.coverage{
    max-width:1100px;
  margin:0 auto 100px;
  padding:60px 50px;
  border-radius:30px;

  /* 🔹 Glass 효과 */
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);

  border:1px solid rgba(255,255,255,0.6);
  box-shadow:0 20px 60px rgba(0,0,0,0.08);
}

.coverage-wrap{
  display:flex;
  gap:40px;
  margin-top:40px;
}

.coverage-wrap{
  display:flex;
  gap:40px;
  margin-top:40px;
}

.coverage-card{
  flex:1;
  border-radius:25px;
  overflow:hidden;
  background:#ffffff;
  box-shadow:0 25px 60px rgba(0,0,0,0.08);
  transition:all .35s ease;
}

/* 상단 헤더 영역 */
.coverage-card strong{
  display:block;
  padding:22px 30px;
  font-size:18px;
  font-weight:700;
  background:linear-gradient(135deg,#3d73d8,#5f8ff0);
  color:#fff;
}

/* 리스트 영역 */
.coverage-card ul{
  padding:30px;
  list-style:none;
}

.coverage-card ul li{
  position:relative;
  padding-left:22px;
  margin-bottom:14px;
  color:#555;
  font-size:14px;
}

/* 체크 포인트 느낌 */
.coverage-card ul li::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#3d73d8;
}

/* hover 효과 */
.coverage-card:hover{
  transform:translateY(-12px);
  box-shadow:0 35px 70px rgba(0,0,0,0.15);
}

/* 하단 */
.insurance-bottom{
  display:flex;
  gap:40px;
  justify-content:center;
  flex-wrap:wrap;
}

.bottom-card{
  background:#fff;
  padding:40px;
  width:300px;
  border-radius:25px;
  text-align:center;
  box-shadow:0 20px 50px rgba(0,0,0,0.08);
  transition:transform .3s ease, box-shadow .3s ease;
}

.bottom-card:hover{
  transform:translateY(-12px);
  box-shadow:0 30px 60px rgba(0,0,0,0.15);
}

/* 반응형 */
@media(max-width:1024px){

  .insurance-law{
    flex-direction:column;
  }

  .facility-wrap,
  .coverage-wrap{
    flex-direction:column;
  }

  .insurance-bottom{
    flex-direction:column;
    align-items:center;
  }

    .coverage-card:hover{
    transform:none;
    box-shadow:0 25px 60px rgba(0,0,0,0.08);
  }

}



.product{
  padding:150px 20px;
  background:#f5f7fa;
}

.product-top{
  text-align:center;
  margin-bottom:80px;
}

.badge.orange{
  background:#ffe9d4;
  color:#f58000;
}

.product-wrap{
  max-width:1200px;
  margin:0 auto 100px;
  display:flex;
  gap:50px;
}

.product-card{
  flex:1;
  background:#fff;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 25px 60px rgba(0,0,0,0.08);
  transition:.3s;
}

.product-card:hover{
  transform:translateY(-12px);
}

.product-desc{
  font-size:14px;
  color:#666;
  margin:10px 0 20px;
}

/* 공통 박스 */
.detail-box{
  margin-top:25px;
  border-radius:20px;
  overflow:hidden;
  background:#f9fafc;
  box-shadow:0 15px 40px rgba(0,0,0,0.05);
}

/* 상단 컬러 바 */
.orange-top .detail-title{
  background:#f58000;
}

.blue-top .detail-title{
  background:#3d73d8;
}

.detail-title{
  color:#fff;
  padding:14px 20px;
  font-weight:700;
  font-size:14px;
}

/* 영업배상 메인 */
.detail-main{
  display:flex;
  justify-content:space-between;
  padding:20px;
  background:#fff5eb;
}

.detail-main span{
  font-size:13px;
  color:#777;
}

.detail-main strong{
  display:block;
  margin-top:5px;
  font-size:18px;
  color:#f58000;
}

/* 서브 박스 */
.detail-sub{
  display:flex;
  justify-content:space-between;
  padding:15px 20px;
  font-size:13px;
  background:#fff;
  border-top:1px solid #eee;
}

/* 전문인배상 */
.detail-grid{
  display:flex;
  justify-content:space-between;
  padding:20px;
  background:#eef4ff;
}

.detail-grid strong{
  display:block;
  margin-top:5px;
  font-size:16px;
  color:#3d73d8;
}

.detail-note{
  font-size:12px;
  padding:15px 20px;
  background:#fff;
  border-top:1px solid #eee;
  color:#666;
}

/* 반응형 */
@media(max-width:1024px){
  .detail-main,
  .detail-sub,
  .detail-grid{
    flex-direction:column;
    gap:15px;
  }
}

.product-img{
  position:relative;
}

.product-img img{
  width:100%;
  height:260px;
  object-fit:cover;
}

.label{
  position:absolute;
  left:20px;
  bottom:20px;
  padding:6px 14px;
  border-radius:20px;
  font-size:12px;
  font-weight:600;
  color:#fff;
}

.orange{background:#f58000;}
.blue{background:#3d73d8;}

.product-body{
  padding:35px;
}

.check-list{
  margin:20px 0;
  list-style:none;
}

.check-list li{
  margin-bottom:10px;
  font-size:14px;
}

.box{
  padding:20px;
  border-radius:15px;
  margin-top:15px;
}

.orange-box{background:#fff2e6;}
.blue-box{background:#e8f0fb;}

.extra-wrap{
  max-width:1200px;
  margin:0 auto 80px;
  display:flex;
  gap:40px;
}

.extra-card{
  flex:1;
  padding:40px;
  border-radius:25px;
  box-shadow:0 20px 50px rgba(0,0,0,0.08);
}

.yellow{background:#fff8df;}
.purple{background:#f1e7fb;}

/* ================= 공통 혜택 ================= */

.common-benefit{
  max-width:1100px;
  margin:0 auto 140px;
  padding:60px 50px;
  background:#f78c00;
  border-radius:35px;
  box-shadow:0 30px 70px rgba(0,0,0,0.12);
}

.common-title{
  text-align:center;
  color:#fff;
  font-size:28px;
  font-weight:700;
  margin-bottom:40px;
}

.common-inner{
  background:#ffffff;
  padding:50px;
  border-radius:25px;
}

.common-header{
  display:flex;
  align-items:center;
  gap:15px;
  margin-bottom:35px;
  font-weight:600;
  color:#333;
}

.gift-icon{
  font-size:22px;
  color:#f78c00;
}

.benefit-wrap{
  display:flex;
  gap:25px;
  justify-content:space-between;
  margin-bottom:40px;
}

.benefit-card{
  flex:1;
  background:#fdf3e6;
  padding:25px 20px;
  border-radius:18px;
  text-align:center;
  border:1px solid #f2d2a6;
  transition:all .3s ease;
}

.benefit-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 40px rgba(0,0,0,0.1);
}

.benefit-icon{
  width:55px;
  height:55px;
  margin:0 auto 15px;
  background:#f78c00;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:22px;
}

.benefit-card h4{
  font-size:15px;
  font-weight:700;
  margin-bottom:8px;
}

.benefit-card p{
  font-size:13px;
  color:#666;
}

.benefit-desc{
  text-align:center;
  font-size:14px;
  color:#555;
  line-height:1.6;
}

/* 반응형 */
@media(max-width:1024px){

  .benefit-wrap{
    flex-direction:column;
  }

  .common-benefit{
    padding:40px 25px;
  }

  .common-inner{
    padding:30px;
  }

}

/* 반응형 */
@media(max-width:1024px){

  .product-wrap,
  .extra-wrap,
  .benefit-wrap{
    flex-direction:column;
  }

}


/* 3칸 구조 */
.detail-3col{
  display:flex;
  gap:15px;
  padding:20px;
  background:#eef4ff;
}

.mini-box{
  flex:1;
  background:#ffffff;
  border-radius:15px;
  padding:15px;
  text-align:center;
  box-shadow:0 10px 25px rgba(0,0,0,0.05);
}

.mini-box span{
  font-size:12px;
  color:#666;
}

.mini-box strong{
  display:block;
  margin:8px 0;
  font-size:16px;
  color:#3d73d8;
}

.mini-box small{
  font-size:11px;
  color:#999;
}

.mini-box.beige{
  background:#f7f1e6;
}

.sub-image{
  margin-top:25px;
}

.sub-image img{
  width:100%;
  border-radius:20px;
  object-fit:cover;
}

/* 반응형 */
@media(max-width:1024px){
  .detail-3col{
    flex-direction:column;
  }
}


/* ================= EXTRA SECTION ================= */

.extra-wrap{
  max-width:1200px;
  margin:0 auto 120px;
  display:flex;
  gap:50px;
}

.extra-card{
  flex:1;
  padding:40px;
  border-radius:30px;
  box-shadow:0 25px 60px rgba(0,0,0,0.08);
  transition:.3s;
}

.extra-card:hover{
  transform:translateY(-12px);
}

/* 상단 */
.extra-header{
  display:flex;
  align-items:center;
  gap:15px;
  margin-bottom:25px;
}

.extra-icon{
  width:55px;
  height:55px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  color:#fff;
}

.yellow-icon{ background:#f4c21b; }
.purple-icon{ background:#9b6ad6; }

/* 내부 수치 박스 */
.extra-box{
  padding:25px;
  border-radius:20px;
  margin-bottom:20px;
}

.yellow-box{
  background:#fffdf2;
  border:1px solid #f4d98a;
}

.purple-box{
  background:#f7f0ff;
  border:1px solid #d8c6f5;
}

.row{
  display:flex;
  justify-content:space-between;
  margin-bottom:15px;
  font-size:14px;
}

.row:last-child{ margin-bottom:0; }

.yellow-text{ color:#c79b00; font-weight:700; }
.purple-text{ color:#7b4bc9; font-weight:700; }

/* 하단 설명 박스 */
.extra-desc{
  padding:20px;
  border-radius:18px;
  font-size:14px;
}

.yellow-desc{
  background:#fff8d8;
  border:1px solid #f4d98a;
}

.purple-desc{
  background:#efe4ff;
  border:1px solid #d8c6f5;
}

.extra-desc strong{
  display:block;
  margin-bottom:8px;
}

/* 반응형 */
@media(max-width:1024px){
  .extra-wrap{
    flex-direction:column;
  }
}







/* ===== 사고 섹션 ===== */

.accident{
  padding:150px 20px;
  background:#f2f6fa;
}

.accident-top{
  text-align:center;
  margin-bottom:80px;
}

.accident-cards{
  max-width:1200px;
  margin:0 auto 120px;
  display:flex;
  gap:40px;
}

.acc-card{
  flex:1;
  background:#fff;
  border-radius:25px;
  overflow:hidden;
  box-shadow:0 25px 60px rgba(0,0,0,0.08);
  transition:.3s;
}

.acc-card:hover{
  transform:translateY(-12px);
}

.acc-img{
  position:relative;
  padding:30px;
  background:#eaf1f7;
}

.acc-img img{
  width:100%;
  border-radius:15px;
}

.acc-label{
  position:absolute;
  top:20px;
  left:20px;
  padding:6px 12px;
  border-radius:20px;
  font-size:12px;
  color:#fff;
}

.red{background:#e74c3c;}
.green{background:#2ecc71;}
.orange{background:#f39c12;}

.acc-img h3{
  margin-top:15px;
}

.acc-body{
  padding:25px;
}

.acc-body ul{
  padding-left:18px;
  margin-bottom:20px;
}

.acc-body li{
  margin-bottom:8px;
}

.acc-result{
  padding:15px;
  border-radius:15px;
  font-size:13px;
}

.red-box{background:#fdecea;}
.green-box{background:#e9f7ef;}
.orange-box{background:#fef5e7;}

/* ===== 프로세스 ===== */

.process{
  max-width:1100px;
  margin:0 auto;
  background:#158a55;
  padding:60px;
  border-radius:30px;
  color:#fff;
}

.process-inner{
  background:#fff;
  color:#333;
  border-radius:20px;
  padding:40px;
  margin-top:40px;
  display:flex;
  gap:25px;
  justify-content:space-between;
}

.process-step{
  text-align:center;
  flex:1;
}

.circle{
  width:50px;
  height:50px;
  margin:0 auto 15px;
  background:#158a55;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:700;
}

/* 반응형 */
@media(max-width:1024px){
  .accident-cards,
  .process-inner{
    flex-direction:column;
  }
}



/* 손해사정 프로세스 */
#claims-process-section {
  padding: 120px 20px;
  background:
    radial-gradient(circle at top right, rgba(255, 186, 214, 0.18), transparent 28%),
    linear-gradient(180deg, #fcf8fa 0%, #f8f3f5 100%);
}

.claims-process-inner {
  max-width: 1280px;
  margin: 0 auto;
}

.claims-process-head {
  text-align: center;
  margin-bottom: 50px;
}

.claims-process-badge {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 999px;
  background: #ffe5f0;
  color: #e85897;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 18px;
}

.claims-process-head h2 {
  font-size: 56px;
  line-height: 1.2;
  font-weight: 800;
  color: #14213d;
  margin-bottom: 14px;
}

.claims-process-head p {
  font-size: 18px;
  color: #555;
}

.claims-process-visual {
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
  margin-bottom: 60px;
}

.claims-process-visual img {
  display: block;
  width: 100%;
  height: 520px;
  object-fit: cover;
}

.claims-process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 70px;
}

.process-card {
  position: relative;
  background: #fff;
  border: 1px solid #f2d7e3;
  border-radius: 24px;
  padding: 34px 30px 30px;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.process-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.08);
}

.process-num {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  background: linear-gradient(135deg, #ff4fa0 0%, #df3c86 100%);
  color: #fff;
  font-size: 28px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 20px rgba(223, 60, 134, 0.28);
  margin-bottom: 24px;
}

.process-card h3 {
  font-size: 30px;
  font-weight: 800;
  color: #202330;
  margin-bottom: 24px;
}

.process-card ul {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.process-card ul li {
  position: relative;
  padding-left: 24px;
}

.process-card ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ef5da8;
}

.process-card ul li strong {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: #222;
  margin-bottom: 6px;
}

.process-card ul li span {
  display: block;
  font-size: 16px;
  line-height: 1.65;
  color: #666;
}

.claims-process-bottom {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid #f2d7e3;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.05);
}

.process-point {
  text-align: center;
  padding: 50px 30px;
  border-right: 1px solid #f1e4eb;
}

.process-point:last-child {
  border-right: none;
}

.point-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  border-radius: 22px;
  background: #ffe8f2;
  color: #ea4c93;
  font-size: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.process-point h4 {
  font-size: 28px;
  font-weight: 800;
  color: #202330;
  margin-bottom: 14px;
}

.process-point p {
  font-size: 17px;
  line-height: 1.7;
  color: #666;
}

/* 반응형 */
@media (max-width: 1200px) {
  .claims-process-head h2 {
    font-size: 44px;
  }

  .process-card h3 {
    font-size: 24px;
  }
}

@media (max-width: 991px) {
  .claims-process-section {
    padding: 90px 16px;
  }

  .claims-process-head h2 {
    font-size: 38px;
  }

  .claims-process-head p {
    font-size: 16px;
  }

  .claims-process-visual img {
    height: 380px;
  }

  .claims-process-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .claims-process-bottom {
    grid-template-columns: 1fr;
  }

  .process-point {
    border-right: none;
    border-bottom: 1px solid #f1e4eb;
  }

  .process-point:last-child {
    border-bottom: none;
  }
}

@media (max-width: 767px) {
  .claims-process-head h2 {
    font-size: 30px;
  }

  .claims-process-badge {
    font-size: 12px;
    padding: 8px 16px;
  }

  .claims-process-visual {
    border-radius: 20px;
    margin-bottom: 40px;
  }

  .claims-process-visual img {
    height: 240px;
  }

  .claims-process-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 40px;
  }

  .process-card {
    border-radius: 20px;
    padding: 24px 20px;
  }

  .process-num {
    width: 48px;
    height: 48px;
    font-size: 22px;
    border-radius: 14px;
    margin-bottom: 18px;
  }

  .process-card h3 {
    font-size: 22px;
    margin-bottom: 18px;
  }

  .process-card ul li strong {
    font-size: 16px;
  }

  .process-card ul li span {
    font-size: 14px;
  }

  .claims-process-bottom {
    border-radius: 20px;
  }

  .process-point {
    padding: 34px 20px;
  }

  .point-icon {
    width: 58px;
    height: 58px;
    font-size: 24px;
    border-radius: 16px;
  }

  .process-point h4 {
    font-size: 22px;
  }

  .process-point p {
    font-size: 14px;
  }
}




/* 보험료가 낮아지는 이유 */
#premium-benefits-section {
  padding: 120px 20px;
  background:
    radial-gradient(circle at right top, rgba(158, 226, 204, 0.18), transparent 30%),
    linear-gradient(180deg, #f5fbf8 0%, #eef7f3 100%);
}

.premium-benefits-inner {
  max-width: 1280px;
  margin: 0 auto;
}

.premium-benefits-head {
  text-align: center;
  margin-bottom: 60px;
}

.premium-benefits-badge {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 999px;
  background: #dff4eb;
  color: #1aa67d;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 18px;
}

.premium-benefits-head h2 {
  font-size: 56px;
  line-height: 1.2;
  font-weight: 800;
  color: #132033;
  margin-bottom: 14px;
}

.premium-benefits-head p {
  font-size: 18px;
  color: #56606b;
}

.premium-benefits-top {
  display: grid;
  grid-template-columns: 1fr 0.95fr;
  gap: 42px;
  align-items: center;
  margin-bottom: 80px;
}

.premium-benefits-left {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.benefit-card {
  display: flex;
  gap: 20px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid #cae7dc;
  border-radius: 24px;
  padding: 34px 32px;
  box-shadow: 0 16px 35px rgba(18, 40, 31, 0.06);
}

.benefit-icon {
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  border-radius: 16px;
  background: #e5f5ef;
  color: #1fb48a;
  display: flex;
  align-items: center;
  justify-content: center;
}

.benefit-icon svg {
  width: 28px;
  height: 28px;
}

.benefit-content {
  flex: 1;
}

.benefit-content h3 {
  font-size: 22px;
  font-weight: 800;
  color: #192434;
  margin-bottom: 14px;
}

.benefit-content p {
  font-size: 16px;
  line-height: 1.8;
  color: #4e5966;
  margin-bottom: 18px;
}

.benefit-label {
  display: inline-flex;
  align-items: center;
  min-height: 54px;
  width: 100%;
  padding: 14px 18px;
  border-radius: 14px;
  background: #edf4f1;
  border: 1px solid #d6e6df;
  font-size: 16px;
  font-weight: 600;
  color: #45525e;
}

.premium-benefits-right {
  position: relative;
}

.benefits-image-wrap {
  position: relative;
  padding-left: 16px;
  padding-top: 18px;
}

.benefits-image-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 28px;
  background: linear-gradient(180deg, #bbf0df 0%, #dff7ef 100%);
}

.benefits-image {
  position: relative;
  z-index: 2;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}

.benefits-image img {
  display: block;
  width: 100%;
  height: 690px;
  object-fit: cover;
}

.benefits-floating-badge {
  position: absolute;
  left: -6px;
  bottom: -18px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 190px;
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid #d8ebe3;
  border-radius: 18px;
  box-shadow: 0 14px 30px rgba(25, 45, 36, 0.10);
}

.floating-icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #e8f7f1;
  color: #21b48d;
  display: flex;
  align-items: center;
  justify-content: center;
}

.floating-icon svg {
  width: 24px;
  height: 24px;
}

.floating-text {
  display: flex;
  flex-direction: column;
}

.floating-text strong {
  font-size: 15px;
  font-weight: 700;
  color: #4a5561;
}

.floating-text span {
  font-size: 30px;
  font-weight: 800;
  color: #192434;
  line-height: 1.1;
}

.premium-compare-box {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid #cce7dd;
  border-radius: 30px;
  padding: 56px 46px 40px;
  box-shadow: 0 18px 36px rgba(19, 39, 30, 0.06);
}

.premium-compare-head {
  text-align: center;
  margin-bottom: 34px;
}

.premium-compare-head h3 {
  font-size: 40px;
  font-weight: 800;
  color: #162234;
}

.premium-compare-table {
  width: 100%;
}

.compare-row {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  align-items: center;
  min-height: 96px;
  border-bottom: 1px solid #deefe8;
}

.compare-head-row {
  min-height: 78px;
}

.compare-head-row .compare-col {
  font-size: 18px;
  font-weight: 800;
  color: #263240;
}

.compare-head-row .compare-col.accent {
  color: #19a87f;
}

.compare-col {
  padding: 14px 16px;
  font-size: 17px;
  color: #33404d;
  text-align: center;
}

.compare-col:first-child {
  text-align: left;
}

.compare-col.title {
  font-weight: 700;
  color: #1a2432;
}

.compare-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 999px;
  background: #dff5eb;
  color: #20aa82;
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
}

.compare-col.muted {
  color: #6d7883;
}

@media (max-width: 1200px) {
  .premium-benefits-head h2 {
    font-size: 44px;
  }

  .premium-benefits-top {
    grid-template-columns: 1fr;
  }

  .benefits-image img {
    height: 560px;
  }
}

@media (max-width: 991px) {
  .premium-benefits-section {
    padding: 90px 16px;
  }

  .premium-benefits-head h2 {
    font-size: 38px;
  }

  .premium-benefits-head p {
    font-size: 16px;
  }

  .premium-compare-box {
    padding: 40px 24px 30px;
  }

  .premium-compare-head h3 {
    font-size: 30px;
  }

  .compare-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 18px 0;
    min-height: auto;
  }

  .compare-head-row {
    display: none;
  }

  .compare-col {
    text-align: left !important;
    padding: 0;
  }

  .compare-col.title {
    margin-bottom: 4px;
    font-size: 18px;
  }
}

@media (max-width: 767px) {
  .premium-benefits-head {
    margin-bottom: 40px;
  }

  .premium-benefits-head h2 {
    font-size: 30px;
  }

  .premium-benefits-badge {
    font-size: 12px;
    padding: 8px 16px;
  }

  .premium-benefits-top {
    gap: 24px;
    margin-bottom: 50px;
  }

  .benefit-card {
    flex-direction: column;
    padding: 24px 20px;
    border-radius: 20px;
    gap: 16px;
  }

  .benefit-icon {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    flex-basis: 50px;
  }

  .benefit-content h3 {
    font-size: 20px;
    margin-bottom: 12px;
  }

  .benefit-content p {
    font-size: 14px;
    margin-bottom: 14px;
  }

  .benefit-label {
    font-size: 14px;
    min-height: 48px;
    padding: 12px 14px;
  }

  .benefits-image-wrap {
    padding-left: 10px;
    padding-top: 12px;
  }

  .benefits-image,
  .benefits-image-bg {
    border-radius: 20px;
  }

  .benefits-image img {
    height: 300px;
  }

  .benefits-floating-badge {
    left: 8px;
    right: 8px;
    bottom: -16px;
    min-width: auto;
    padding: 14px 16px;
    border-radius: 16px;
  }

  .floating-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }

  .floating-text strong {
    font-size: 13px;
  }

  .floating-text span {
    font-size: 24px;
  }

  .premium-compare-box {
    border-radius: 22px;
    padding: 34px 18px 24px;
    margin-top: 26px;
  }

  .premium-compare-head h3 {
    font-size: 24px;
  }

  .compare-row {
    padding: 16px 0;
  }

  .compare-badge {
    font-size: 13px;
    padding: 7px 12px;
  }

  .compare-col {
    font-size: 14px;
  }
}






/* 합리적인 보험료 체계 */
#premium-structure-section {
  padding: 120px 20px;
  background:
    radial-gradient(circle at top right, rgba(214, 235, 225, 0.18), transparent 26%),
    linear-gradient(180deg, #fbf7f4 0%, #f7f2ef 100%);
}

.premium-structure-inner {
  max-width: 1280px;
  margin: 0 auto;
}

.premium-structure-head {
  text-align: center;
  margin-bottom: 56px;
}

.premium-structure-badge {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 999px;
  background: #efe6ff;
  color: #7a56d8;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 18px;
}

.premium-structure-head h2 {
  font-size: 56px;
  line-height: 1.2;
  font-weight: 800;
  color: #14213d;
  margin-bottom: 14px;
}

.premium-structure-head p {
  font-size: 18px;
  color: #5f6773;
}

.premium-structure-mainbox {
  background: rgba(255, 255, 255, 0.88);
  border-radius: 34px;
  padding: 52px 42px 42px;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.07);
  border: 1px solid #ece5df;
  margin-bottom: 46px;
}

.premium-structure-title {
  text-align: center;
  margin-bottom: 40px;
}

.premium-structure-title h3 {
  font-size: 48px;
  line-height: 1.25;
  color: #14213d;
  font-weight: 800;
}

.structure-compare-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 28px;
}

.structure-card {
  border-radius: 24px;
  padding: 28px 24px 24px;
  border: 1px solid transparent;
}

.structure-card-red {
  background: #fff3f3;
  border-color: #f2c8c8;
}

.structure-card-blue {
  background: #edf5ff;
  border-color: #bdd6f3;
}

.structure-card-head {
  height: 54px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 24px;
}

.structure-card-head.red {
  background: #ef2a2a;
}

.structure-card-head.blue {
  background: #4e8fdb;
}

.structure-bullets {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 24px;
}

.structure-bullet {
  display: flex;
  align-items: center;
  gap: 12px;
}

.structure-bullet p {
  font-size: 17px;
  line-height: 1.6;
  color: #2c3644;
  word-break: keep-all;
}

.dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex: 0 0 10px;
}

.dot.red {
  background: #ef2a2a;
}

.dot.blue {
  background: #4e8fdb;
}

.red-text {
  color: #e53935;
  font-weight: 800;
}

.blue-text {
  color: #3f7ed2;
  font-weight: 800;
}

.structure-desc-box {
  background: #fff;
  border-radius: 16px;
  padding: 22px 18px;
  margin-bottom: 20px;
  min-height: 112px;
  display: flex;
  align-items: center;
}

.structure-desc-box p {
  font-size: 17px;
  line-height: 1.8;
  color: #39424f;
  word-break: keep-all;
}

.structure-result-box {
  background: rgba(255, 255, 255, 0.36);
  border-radius: 16px;
  padding: 20px 18px;
}

.structure-result-box.blue-bg {
  background: rgba(78, 143, 219, 0.10);
}

.structure-result-box strong {
  display: inline-block;
  font-size: 18px;
  font-weight: 800;
  color: #232f3e;
  margin-bottom: 14px;
}

.structure-result-box ul {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.structure-result-box ul li {
  position: relative;
  padding-left: 18px;
  font-size: 16px;
  line-height: 1.7;
  color: #49525f;
  word-break: keep-all;
}

.structure-result-box ul li::before {
  content: "›";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 18px;
  font-weight: 700;
}

.structure-goal-box {
  background: #0da06f;
  border-radius: 22px;
  padding: 0;
  overflow: hidden;
}

.structure-goal-head {
  text-align: center;
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  padding: 22px 20px;
}

.structure-goal-inner {
  background: #fff;
  margin: 0 20px 20px;
  border-radius: 14px;
  padding: 22px 20px 26px;
}

.structure-goal-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
}

.goal-mini-icon {
  font-size: 24px;
  line-height: 1;
}

.structure-goal-top p {
  font-size: 17px;
  font-weight: 700;
  color: #2b3745;
}

.structure-goal-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 22px;
}

.goal-item {
  background: #edf8f3;
  border: 1px solid #bfe7d4;
  border-radius: 14px;
  min-height: 160px;
  padding: 24px 18px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.goal-icon {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #0da06f;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  font-size: 26px;
}

.goal-item h4 {
  font-size: 22px;
  line-height: 1.45;
  font-weight: 800;
  color: #223040;
}

.structure-goal-text {
  text-align: center;
}

.structure-goal-text p {
  font-size: 16px;
  line-height: 1.85;
  color: #49545f;
  word-break: keep-all;
}

.premium-diff-box {
  background: rgba(238, 250, 245, 0.88);
  border: 1px solid #cfe9dd;
  border-radius: 28px;
  padding: 56px 42px 42px;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.06);
}

.premium-diff-head {
  text-align: center;
  margin-bottom: 34px;
}

.premium-diff-head h3 {
  font-size: 48px;
  font-weight: 800;
  color: #14213d;
  margin-bottom: 20px;
}

.premium-diff-head p {
  font-size: 21px;
  line-height: 1.9;
  color: #5a6470;
  word-break: keep-all;
}

.premium-diff-head p strong {
  color: #4d7de6;
  font-weight: 800;
}

.premium-diff-message {
  background: #fff;
  border: 1px solid #d7e8ff;
  border-radius: 24px;
  min-height: 260px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 30px 20px;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.04);
}

.diff-icon {
  font-size: 48px;
  line-height: 1;
  margin-bottom: 20px;
}

.premium-diff-message h4 {
  font-size: 40px;
  line-height: 1.45;
  font-weight: 800;
  color: #1e2c3c;
  margin-bottom: 18px;
  word-break: keep-all;
}

.premium-diff-message strong {
  font-size: 28px;
  font-weight: 800;
  color: #4d7de6;
}

@media (max-width: 1200px) {
  .premium-structure-head h2,
  .premium-structure-title h3,
  .premium-diff-head h3 {
    font-size: 42px;
  }

  .premium-diff-message h4 {
    font-size: 32px;
  }

  .premium-diff-message strong {
    font-size: 24px;
  }
}

@media (max-width: 991px) {
  .premium-structure-section {
    padding: 90px 16px;
  }

  .premium-structure-head h2 {
    font-size: 38px;
  }

  .premium-structure-head p {
    font-size: 16px;
  }

  .premium-structure-mainbox,
  .premium-diff-box {
    padding: 34px 20px 24px;
    border-radius: 24px;
  }

  .premium-structure-title h3,
  .premium-diff-head h3 {
    font-size: 32px;
  }

  .structure-compare-grid {
    grid-template-columns: 1fr;
  }

  .structure-goal-grid {
    grid-template-columns: 1fr;
  }

  .goal-item {
    min-height: 130px;
  }

  .premium-diff-head p {
    font-size: 18px;
  }

  .premium-diff-message {
    min-height: 220px;
    border-radius: 18px;
  }

  .premium-diff-message h4 {
    font-size: 28px;
  }

  .premium-diff-message strong {
    font-size: 22px;
  }
}

@media (max-width: 767px) {
  .premium-structure-head {
    margin-bottom: 40px;
  }

  .premium-structure-badge {
    font-size: 12px;
    padding: 8px 16px;
  }

  .premium-structure-head h2 {
    font-size: 30px;
  }

  .premium-structure-mainbox,
  .premium-diff-box {
    padding: 26px 16px 18px;
    border-radius: 20px;
  }

  .premium-structure-title {
    margin-bottom: 24px;
  }

  .premium-structure-title h3 {
    font-size: 26px;
  }

  .structure-card {
    padding: 18px 16px 16px;
    border-radius: 18px;
  }

  .structure-card-head {
    height: 46px;
    font-size: 16px;
    margin-bottom: 18px;
    border-radius: 12px;
  }

  .structure-bullet p,
  .structure-desc-box p,
  .structure-result-box ul li,
  .structure-goal-text p {
    font-size: 14px;
  }

  .structure-desc-box,
  .structure-result-box {
    border-radius: 12px;
  }

  .structure-goal-head {
    font-size: 18px;
    padding: 18px 14px;
  }

  .structure-goal-inner {
    margin: 0 12px 12px;
    padding: 16px 14px 18px;
  }

  .structure-goal-top p {
    font-size: 14px;
  }

  .goal-item h4 {
    font-size: 18px;
  }

  .goal-icon {
    width: 50px;
    height: 50px;
    font-size: 22px;
  }

  .premium-diff-head {
    margin-bottom: 22px;
  }

  .premium-diff-head h3 {
    font-size: 26px;
    margin-bottom: 14px;
  }

  .premium-diff-head p {
    font-size: 15px;
    line-height: 1.8;
  }

  .diff-icon {
    font-size: 38px;
    margin-bottom: 14px;
  }

  .premium-diff-message h4 {
    font-size: 22px;
    margin-bottom: 12px;
  }

  .premium-diff-message strong {
    font-size: 18px;
  }
}



/* 평가 · 운영 지원 */
#operation-support-section {
  padding: 120px 20px;
  background:
    radial-gradient(circle at top left, rgba(203, 220, 244, 0.14), transparent 28%),
    linear-gradient(180deg, #f8fbff 0%, #f5f7fb 100%);
}

.operation-support-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.operation-support-head {
  text-align: center;
  margin-bottom: 46px;
}

.operation-support-badge {
  display: inline-block;
  padding: 9px 18px;
  border-radius: 999px;
  background: #e8eeff;
  color: #4f79e8;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
}

.operation-support-head h2 {
  font-size: 50px;
  line-height: 1.2;
  font-weight: 800;
  color: #13203a;
  margin-bottom: 12px;
}

.operation-support-head p {
  font-size: 16px;
  line-height: 1.75;
  color: #65707d;
}

.operation-support-hero {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08);
  margin-bottom: 34px;
}

.operation-support-hero img {
  display: block;
  width: 100%;
  height: 330px;
  object-fit: cover;
}

.operation-info-box,
.not-formal-section,
.eval-flow-box,
.operation-final-section {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 22px;
  border: 1px solid #dbe5f3;
  box-shadow: 0 14px 30px rgba(20, 34, 61, 0.06);
}

.operation-info-box {
  margin-bottom: 54px;
  overflow: hidden;
}

.operation-info-title {
  background: linear-gradient(90deg, #5d9bf0 0%, #3d7fd3 100%);
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  padding: 18px 24px;
}

.operation-info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  padding: 22px;
}

.operation-info-card {
  border: 1px solid #e3eaf5;
  border-radius: 16px;
  padding: 22px 20px;
  background: #fff;
}

.info-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #edf3ff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin-bottom: 14px;
}

.operation-info-card h3 {
  font-size: 20px;
  font-weight: 800;
  color: #1f2b3b;
  margin-bottom: 10px;
}

.operation-info-card p {
  font-size: 14px;
  line-height: 1.8;
  color: #5c6673;
  margin-bottom: 14px;
}

.operation-info-card ul li {
  position: relative;
  padding-left: 16px;
  font-size: 14px;
  line-height: 1.8;
  color: #5074b7;
}

.operation-info-card ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
}

.operation-info-note {
  margin: 0 22px 22px;
  border: 1px solid #cfe7d8;
  background: #f4fbf7;
  color: #17965f;
  border-radius: 12px;
  padding: 16px 18px;
  font-size: 14px;
  font-weight: 800;
}

.operation-info-note span {
  display: block;
  margin-top: 6px;
  color: #607081;
  font-weight: 500;
}

/* 공통 타이틀 */
.support-section-title,
.not-formal-section h3,
.eval-flow-section h3,
.operation-final-section > h3 {
  text-align: center;
  font-size: 32px;
  font-weight: 800;
  color: #18243a;
  margin-bottom: 28px;
}

.support-area-section,
.not-formal-section,
.eval-flow-section,
.pro-service-section {
  margin-bottom: 56px;
}

.support-area-grid,
.pro-service-grid {
  display: grid;
  gap: 18px;
}

.support-grid-4 {
  grid-template-columns: repeat(4, 1fr);
}

.support-mini-card,
.pro-service-card {
  background: #fff;
  border: 1px solid #e0e7f2;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(20, 34, 61, 0.05);
}

.support-mini-card img,
.pro-service-card img {
  display: block;
  width: 100%;
  height: 130px;
  object-fit: cover;
}

.mini-card-body,
.pro-service-body {
  padding: 16px 16px 18px;
}

.mini-icon,
.service-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #edf3ff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  font-size: 16px;
}

.service-icon.purple {
  background: #f3eaff;
}

.support-mini-card h4,
.pro-service-card h4 {
  font-size: 18px;
  font-weight: 800;
  color: #1f2b3b;
  margin-bottom: 10px;
}

.support-mini-card ul li,
.pro-service-card ul li {
  position: relative;
  padding-left: 14px;
  font-size: 13px;
  line-height: 1.8;
  color: #687484;
}

.support-mini-card ul li::before,
.pro-service-card ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #6f8fe8;
  font-size: 12px;
}

/* 형식적 보험 */
.not-formal-section {
  padding: 28px;
  border-color: #f0d9d9;
  background: #fff8f8;
}

.not-formal-section h3 {
  text-align: left;
  margin-bottom: 22px;
}

.formal-compare-grid,
.final-compare-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.formal-card {
  background: #fff;
  border: 1px solid #ececf0;
  border-radius: 16px;
  overflow: hidden;
}

.formal-card img {
  display: block;
  width: 100%;
  height: 170px;
  object-fit: cover;
}

.formal-body {
  padding: 18px;
}

.formal-label {
  font-size: 17px;
  font-weight: 800;
  margin-bottom: 12px;
}

.formal-label.red {
  color: #de3e3e;
}

.formal-label.blue {
  color: #3f78d7;
}

.formal-body ul li {
  position: relative;
  padding-left: 14px;
  font-size: 14px;
  line-height: 1.8;
  color: #636f7d;
}

.formal-body ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
}

/* 평가 전중후 */
.eval-flow-box {
  padding: 28px;
}

.eval-flow-image {
  border-radius: 18px;
  overflow: hidden;
  margin-bottom: 22px;
}

.eval-flow-image img {
  display: block;
  width: 100%;
  height: 310px;
  object-fit: cover;
}

.eval-flow-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.eval-step-card {
  background: #fff;
  border: 1px solid #e1e8f4;
  border-radius: 14px;
  padding: 20px 18px;
}

.step-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #eef3ff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  font-size: 16px;
}

.eval-step-card h4 {
  font-size: 18px;
  font-weight: 800;
  color: #1f2b3b;
  margin-bottom: 8px;
}

.eval-step-card ul li {
  position: relative;
  padding-left: 14px;
  font-size: 13px;
  line-height: 1.8;
  color: #6a7481;
}

.eval-step-card ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: #6c8ae6;
}

/* 전문 지원 서비스 */
.pro-service-grid {
  grid-template-columns: repeat(3, 1fr);
}

.special-result-card {
  padding: 22px 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.special-result-head {
  text-align: center;
  margin-bottom: 18px;
}

.trophy-icon {
  width: 50px;
  height: 50px;
  border-radius: 14px;
  background: #fff5cf;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
  font-size: 24px;
}

.special-result-head h4 {
  font-size: 22px;
  font-weight: 800;
  color: #1f2b3b;
  margin-bottom: 8px;
}

.special-result-head p {
  font-size: 13px;
  line-height: 1.7;
  color: #6d7580;
}

.result-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.result-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.result-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  margin-top: 4px;
  flex: 0 0 14px;
}

.result-dot.yellow { background: #f0bc1a; }
.result-dot.blue { background: #4b7de8; }
.result-dot.green { background: #2daf63; }

.result-item strong {
  display: block;
  font-size: 15px;
  color: #1f2b3b;
  font-weight: 800;
  margin-bottom: 3px;
}

.result-item p {
  font-size: 13px;
  line-height: 1.7;
  color: #697483;
}

/* 마지막 */
.operation-final-section {
  padding: 34px 28px 28px;
}

.operation-final-section > h3 {
  margin-bottom: 26px;
}

.final-compare-card {
  border-radius: 16px;
  padding: 20px 18px;
}

.final-compare-card.red-tone {
  background: #fff2f2;
  border: 1px solid #f1caca;
}

.final-compare-card.blue-tone {
  background: #edf5ff;
  border: 1px solid #c8dcf8;
}

.final-compare-head {
  height: 46px;
  border-radius: 12px;
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.final-compare-head.red {
  background: #ef2d2d;
}

.final-compare-head.blue {
  background: #4d89de;
}

.final-compare-card ul {
  margin-bottom: 14px;
}

.final-compare-card ul li {
  position: relative;
  padding-left: 14px;
  font-size: 14px;
  line-height: 1.9;
  color: #4e5967;
}

.final-compare-card ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
}

.final-compare-card p {
  font-size: 13px;
  line-height: 1.8;
  color: #6a7482;
}

/* 그린 박스 */
.careinsure-green-box {
  margin-top: 26px;
  border-radius: 18px;
  overflow: hidden;
  background: #0c9963;
}

.careinsure-green-head {
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-weight: 800;
  padding: 18px 16px;
}

.careinsure-green-inner {
  background: #fff;
  margin: 0 14px 14px;
  border-radius: 14px;
  padding: 20px 18px 18px;
}

.careinsure-green-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}

.careinsure-green-top span {
  font-size: 22px;
}

.careinsure-green-top p {
  font-size: 15px;
  font-weight: 700;
  color: #293544;
}

.careinsure-green-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 16px;
}

.green-goal-item {
  background: #edf8f2;
  border: 1px solid #cbe9d6;
  border-radius: 12px;
  min-height: 130px;
  padding: 18px 14px;
  text-align: center;
}

.green-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #0c9963;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
  font-size: 18px;
}

.green-goal-item h4 {
  font-size: 16px;
  font-weight: 800;
  color: #233141;
  margin-bottom: 6px;
}

.green-goal-item p {
  font-size: 12px;
  line-height: 1.6;
  color: #697483;
}

.careinsure-green-text {
  text-align: center;
  font-size: 13px;
  line-height: 1.8;
  color: #5d6875;
}

/* 반응형 */
@media (max-width: 991px) {
  .operation-support-section {
    padding: 90px 16px;
  }

  .operation-support-head h2 {
    font-size: 38px;
  }

  .operation-info-grid,
  .support-grid-4,
  .formal-compare-grid,
  .eval-flow-grid,
  .pro-service-grid,
  .final-compare-grid,
  .careinsure-green-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .operation-support-head {
    margin-bottom: 34px;
  }

  .operation-support-badge {
    font-size: 11px;
    padding: 8px 14px;
  }

  .operation-support-head h2 {
    font-size: 30px;
  }

  .operation-support-head p {
    font-size: 14px;
  }

  .operation-support-hero img {
    height: 210px;
  }

  .operation-info-title {
    font-size: 16px;
    padding: 14px 16px;
  }

  .operation-info-grid,
  .support-grid-4,
  .formal-compare-grid,
  .eval-flow-grid,
  .pro-service-grid,
  .final-compare-grid,
  .careinsure-green-grid {
    grid-template-columns: 1fr;
  }

  .operation-info-grid {
    padding: 16px;
  }

  .operation-info-note {
    margin: 0 16px 16px;
    font-size: 13px;
  }

  .support-section-title,
  .not-formal-section h3,
  .eval-flow-section h3,
  .operation-final-section > h3 {
    font-size: 24px;
    margin-bottom: 20px;
  }

  .not-formal-section,
  .eval-flow-box,
  .operation-final-section {
    padding: 20px 16px;
  }

  .support-mini-card img,
  .pro-service-card img,
  .formal-card img {
    height: 180px;
  }

  .eval-flow-image img {
    height: 220px;
  }

  .careinsure-green-head {
    font-size: 16px;
  }

  .careinsure-green-inner {
    margin: 0 10px 10px;
    padding: 16px 14px;
  }
}











/* FAQ */
#faq-section {
  padding: 120px 20px;
  background:
    radial-gradient(circle at top right, rgba(201, 171, 255, 0.10), transparent 30%),
    linear-gradient(180deg, #faf7ff 0%, #f5effd 100%);
}

.faq-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.faq-head {
  text-align: center;
  margin-bottom: 42px;
}

.faq-badge {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 999px;
  background: #efe4ff;
  color: #9c5cff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 18px;
}

.faq-head h2 {
  font-size: 56px;
  line-height: 1.2;
  font-weight: 800;
  color: #15213a;
  margin-bottom: 14px;
}

.faq-head p {
  font-size: 18px;
  color: #687180;
}

.faq-hero {
  max-width: 760px;
  margin: 0 auto 42px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08);
}

.faq-hero img {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: cover;
}

.faq-list {
  max-width: 980px;
  margin: 0 auto;
}

.faq-item {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #e8d7ff;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(61, 38, 95, 0.06);
  margin-bottom: 16px;
  overflow: hidden;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.faq-item.active {
  border-color: #d7b8ff;
  box-shadow: 0 14px 30px rgba(97, 58, 154, 0.10);
}

.faq-question {
  width: 100%;
  background: none;
  border: 0;
  padding: 22px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  cursor: pointer;
  text-align: left;
}

.faq-question-left {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.faq-q-badge,
.faq-a-badge {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  flex: 0 0 34px;
}

.faq-q-badge {
  background: #f0e5ff;
  color: #9c5cff;
}

.faq-a-badge {
  background: #f3ebff;
  color: #9c5cff;
}

.faq-question strong {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 800;
  color: #1e2740;
  word-break: keep-all;
}

.faq-toggle {
  position: relative;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: #f2e8ff;
  flex: 0 0 32px;
}

.faq-toggle::before,
.faq-toggle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 2px;
  background: #a066ff;
  border-radius: 999px;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.faq-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item.active .faq-toggle::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg) scale(0.4);
}

.faq-answer-wrap {
  display: none;
  padding: 0 24px 24px;
}

.faq-answer {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding-top: 2px;
}

.faq-answer p {
  font-size: 16px;
  line-height: 1.9;
  color: #5d6775;
  word-break: keep-all;
}

.faq-contact-box {
  max-width: 980px;
  margin: 56px auto 0;
  background: linear-gradient(180deg, #f3e9ff 0%, #efe2ff 100%);
  border: 1px solid #ddbfff;
  border-radius: 30px;
  padding: 70px 24px;
  text-align: center;
}

.faq-contact-icon {
  width: 62px;
  height: 62px;
  border-radius: 18px;
  background: rgba(156, 92, 255, 0.12);
  color: #9c5cff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  margin: 0 auto 24px;
}

.faq-contact-box h3 {
  font-size: 40px;
  font-weight: 800;
  color: #1e2740;
  margin-bottom: 16px;
}

.faq-contact-box p {
  font-size: 18px;
  color: #6b7280;
  margin-bottom: 28px;
}

.faq-contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 170px;
  height: 56px;
  padding: 0 28px;
  border-radius: 14px;
  background: linear-gradient(135deg, #b26cff 0%, #8e46ff 100%);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 12px 24px rgba(142, 70, 255, 0.22);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.faq-contact-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(142, 70, 255, 0.28);
}

@media (max-width: 1200px) {
  .faq-head h2 {
    font-size: 44px;
  }

  .faq-contact-box h3 {
    font-size: 32px;
  }
}

@media (max-width: 991px) {
  .faq-section {
    padding: 90px 16px;
  }

  .faq-head h2 {
    font-size: 38px;
  }

  .faq-head p {
    font-size: 16px;
  }

  .faq-hero img {
    height: 260px;
  }

  .faq-question strong {
    font-size: 18px;
  }

  .faq-answer p {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .faq-head {
    margin-bottom: 32px;
  }

  .faq-badge {
    font-size: 12px;
    padding: 8px 16px;
  }

  .faq-head h2 {
    font-size: 30px;
  }

  .faq-head p {
    font-size: 14px;
  }

  .faq-hero {
    border-radius: 18px;
    margin-bottom: 28px;
  }

  .faq-hero img {
    height: 190px;
  }

  .faq-question {
    padding: 18px 16px;
    align-items: flex-start;
  }

  .faq-question-left {
    gap: 10px;
  }

  .faq-q-badge,
  .faq-a-badge {
    width: 30px;
    height: 30px;
    font-size: 11px;
    border-radius: 9px;
    flex-basis: 30px;
  }

  .faq-question strong {
    font-size: 15px;
  }

  .faq-toggle {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    flex-basis: 28px;
  }

  .faq-answer-wrap {
    padding: 0 16px 18px;
  }

  .faq-answer {
    gap: 10px;
  }

  .faq-answer p {
    font-size: 14px;
    line-height: 1.8;
  }

  .faq-contact-box {
    margin-top: 40px;
    padding: 42px 18px;
    border-radius: 22px;
  }

  .faq-contact-icon {
    width: 54px;
    height: 54px;
    font-size: 24px;
    border-radius: 16px;
    margin-bottom: 18px;
  }

  .faq-contact-box h3 {
    font-size: 24px;
    margin-bottom: 10px;
  }

  .faq-contact-box p {
    font-size: 14px;
    margin-bottom: 20px;
  }

  .faq-contact-btn {
    min-width: 150px;
    height: 50px;
    font-size: 14px;
    border-radius: 12px;
  }
}




/* 무료 상담 신청 */
#consultation-section {
  padding: 120px 20px;
  background:
    radial-gradient(circle at top right, rgba(185, 153, 255, 0.10), transparent 30%),
    linear-gradient(180deg, #faf7ff 0%, #f4eefc 100%);
}

.consultation-inner {
  max-width: 980px;
  margin: 0 auto;
}

.consultation-head {
  text-align: center;
  margin-bottom: 42px;
}

.consultation-badge {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 999px;
  background: #efe3ff;
  color: #8e57f8;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 18px;
}

.consultation-head h2 {
  font-size: 56px;
  line-height: 1.2;
  font-weight: 800;
  color: #16213a;
  margin-bottom: 14px;
}

.consultation-head p {
  font-size: 18px;
  color: #687180;
}

.consultation-form-wrap {
  max-width: 700px;
  margin: 0 auto 34px;
}

.consultation-form {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #e5d5ff;
  border-radius: 22px;
  padding: 34px 36px 30px;
  box-shadow: 0 14px 34px rgba(76, 48, 114, 0.08);
}

.form-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.form-group {
  margin-bottom: 16px;
}

.form-group.full {
  width: 100%;
}

.form-group label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #1f2940;
  margin-bottom: 10px;
  line-height: 1.5;
}

.form-group label em {
  color: #ff5a68;
  font-style: normal;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  border: 1px solid #d8dce5;
  background: #fff;
  border-radius: 10px;
  padding: 0 14px;
  font-size: 15px;
  color: #253048;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.form-group input,
.form-group select {
  height: 50px;
}

.form-group textarea {
  height: 130px;
  resize: none;
  padding: 14px;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  color: #a0a7b4;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: #9b63ff;
  box-shadow: 0 0 0 4px rgba(155, 99, 255, 0.10);
}

.text-count {
  margin-top: 8px;
  font-size: 12px;
  color: #8b93a0;
}

.file-upload-wrap {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 56px;
  border: 1px solid #d8dce5;
  border-radius: 10px;
  padding: 10px 14px;
  background: #fff;
}

.file-upload-wrap input[type="file"] {
  display: none;
}

.file-upload-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 96px;
  height: 38px;
  padding: 0 14px;
  border-radius: 10px;
  background: #efe3ff;
  color: #8d55f8;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  margin-bottom: 0 !important;
}

.file-upload-name {
  font-size: 14px;
  color: #5f6876;
  word-break: break-all;
}

.file-guide {
  margin-top: 8px;
  font-size: 12px;
  color: #8c94a1;
}

.consultation-submit-btn {
  width: 100%;
  height: 58px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, #a033f0 0%, #5528f1 100%);
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  cursor: pointer;
  margin-top: 8px;
  box-shadow: 0 14px 28px rgba(101, 46, 232, 0.22);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.consultation-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 32px rgba(101, 46, 232, 0.28);
}

.consultation-info-grid {
  max-width: 700px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.consultation-info-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #e4d5fb;
  border-radius: 18px;
  text-align: center;
  padding: 28px 18px;
  box-shadow: 0 10px 24px rgba(76, 48, 114, 0.06);
}

.consult-info-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: #f3e9ff;
  color: #925bfb;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin: 0 auto 16px;
}

.consultation-info-card h3 {
  font-size: 20px;
  font-weight: 800;
  color: #1f2940;
  margin-bottom: 10px;
}

.consultation-info-card p {
  font-size: 15px;
  color: #5f6876;
  line-height: 1.7;
}

@media (max-width: 1200px) {
  .consultation-head h2 {
    font-size: 44px;
  }
}

@media (max-width: 991px) {
  .consultation-section {
    padding: 90px 16px;
  }

  .consultation-head h2 {
    font-size: 38px;
  }

  .consultation-head p {
    font-size: 16px;
  }

  .consultation-form {
    padding: 28px 24px 24px;
  }
}

@media (max-width: 767px) {
  .consultation-head {
    margin-bottom: 30px;
  }

  .consultation-badge {
    font-size: 12px;
    padding: 8px 16px;
  }

  .consultation-head h2 {
    font-size: 30px;
  }

  .consultation-head p {
    font-size: 14px;
    line-height: 1.7;
  }

  .consultation-form {
    padding: 22px 16px 20px;
    border-radius: 18px;
  }

  .form-grid-2,
  .consultation-info-grid {
    grid-template-columns: 1fr;
  }

  .form-group {
    margin-bottom: 14px;
  }

  .form-group input,
  .form-group select {
    height: 46px;
    font-size: 14px;
  }

  .form-group textarea {
    height: 120px;
    font-size: 14px;
  }

  .file-upload-wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .consultation-submit-btn {
    height: 52px;
    font-size: 16px;
    border-radius: 10px;
  }

  .consultation-info-card {
    padding: 22px 16px;
    border-radius: 16px;
  }

  .consult-info-icon {
    width: 46px;
    height: 46px;
    font-size: 20px;
    border-radius: 12px;
  }

  .consultation-info-card h3 {
    font-size: 18px;
  }

  .consultation-info-card p {
    font-size: 14px;
  }
}