 @charset "utf-8";
 
 
 /* 섹션: 배경은 별도 jpg */
#main-visual {
  position: relative;
  height: 92vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #4d5d64 url('../img/main/bg_visual.jpg') center/cover no-repeat;
}

/* 내부 레이아웃 */
#main-visual .mainVisual__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1480px;
  margin: 0 auto;

  /* ✅ 핵심: height 제거, 대신 flex로 세로 가운데 정렬 */
  display: flex;
  align-items: center;
  height: auto;
  min-height: 100%;
}

/* 좌측 카피 */
#main-visual .mainVisual__copy {
  color: #fff;
  max-width: 720px;
  padding-left:30px;
}
#main-visual .mainVisual__kicker {
  font-size: 25px;
  line-height: 1.55;
  opacity: 0.95;
}
#main-visual .mainVisual__kicker strong {
  font-weight: 800;
}

#main-visual .mainVisual__headline {
  margin: 0.2em 0 0.3em;
  line-height: 1.05;
  font-size: 92px;
}
#main-visual .mainVisual__headline .line1 {
  display: block;
  font-weight: 300;
  letter-spacing: -0.02em;
}
#main-visual .mainVisual__headline .line2 {
  display: block;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #d4bf92;
}
#main-visual .mainVisual__headline .line3 {
  display: block;
  font-weight: 300;
  letter-spacing: -0.02em;
}

#main-visual .mainVisual__headline .line3 strong { color: #d4bf92; font-weight: 900; }

#main-visual .mainVisual__sub {
  margin-top: 18px;
  font-size: 28px;
  line-height: 1.5;
  opacity: 0.95;
}


/* 우측 하단 인물 PNG: 화면에 맞춰 크게 */
#main-visual .mainVisual__person {
  position: absolute;
  right: 0;
  bottom: -50px;
  width: min(44vw, 800px);
  height: auto;
  aspect-ratio: 3/4;
  background: url('../img/main/img_visual.png') right bottom/contain no-repeat;
}

/* 컨텐츠가 인물과 겹치지 않게 우측 패딩 여유(큰 화면일 때만) */
@media (min-width: 1201px) {
  #main-visual .mainVisual__inner {
    padding-right: calc(min(44vw, 760px) + 40px);
  }
}

/* 반응형 튜닝 */
@media (max-width: 1400px) {
  #main-visual .mainVisual__person {
    width: min(48vw, 700px);
  }
}
@media (max-width: 1024px) {
  #main-visual .mainVisual__inner {
    padding: 130px 24px 90px;
  }
  #main-visual .mainVisual__person {
    width: min(52vw, 600px);
  }
  
  #main-visual .mainVisual__kicker {
	  font-size: 18px;
	}
  #main-visual .mainVisual__headline {
    font-size: 46px;
  }

  #main-visual .mainVisual__sub {
    font-size: 18px;
  }
}
/* 기존 코드 유지 … */

/* ===== 모바일 레이아웃: 문구 상단 중앙, 인물 하단 중앙 ===== */
@media (max-width: 680px) {
  #main-visual {
    min-height:90vh;
  }

  /* 내부를 세로 스택으로 바꾸고 양쪽 중앙 정렬 */
  #main-visual .mainVisual__inner {
    /* 기존 padding 유지/미세조정 */
    padding: 110px 20px 70px;

    display: flex;
    flex-direction: column;
    align-items: center;   /* 가로 중앙 */
    justify-content: flex-start; /* 위에서부터 쌓기 */
  }

  /* 카피 영역: 상단 중앙 정렬 */
  #main-visual .mainVisual__copy {
    max-width: 720px;
    width: 100%;
    padding-left: 0;      /* 좌측 여백 제거 */
    text-align: center;   /* 텍스트 중앙 정렬 */
    margin: 0 auto;       /* 가운데 배치 */
    z-index: 2;           /* 인물 위에 텍스트가 올라오도록(겹침 대비) */
  }

  /* 하단 인물: 화면 하단 '가운데' 고정 */
  #main-visual .mainVisual__person {
    position: absolute;
    left: 50%;
    right: auto;
    bottom: -40px;
    transform: translateX(-50%); /* 가로 중앙 정렬 */
    width: 72vw;                 /* 기존 비율 유지 */
    height: auto;
    aspect-ratio: 3/4;
    background: url('../img/main/img_visual.png') center bottom/contain no-repeat;
  }

  /* 폰트 사이즈는 기존 값 유지 */
  #main-visual .mainVisual__kicker { font-size: 16px; }
  #main-visual .mainVisual__headline { font-size: 36px; }
  #main-visual .mainVisual__sub { font-size: 14px; }

  /* 데스크톱용 우측 패딩 무력화(혹시 상위 미디어쿼리 영향 제거) */
  #main-visual .mainVisual__inner { padding-right: 20px; }
}

/* 태블릿 구간(<=1024px)은 기존 값 유지 가능, 필요 시 살짝 보정 */
@media (max-width: 1024px) and (min-width: 681px) {
  /* 필요 시 중앙 정렬 느낌을 더하고 싶다면 아래 주석 해제
  #main-visual .mainVisual__copy { text-align:center; }
  */
}




/* 섹션 */
#news-visual {
  position: relative;
  overflow: hidden;
  background: #1f2a2f url('../img/main/bg_news.jpg') center/cover no-repeat;
  padding: 120px 0;
}

/* 레이아웃 */
#news-visual .newsVisual__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 30px;
  display: flex;
  align-items: center;
  gap: 44px;
  overflow: visible;
}

/* 좌측 텍스트 */
#news-visual .newsVisual__left {
  flex: 0 0 640px; 
  max-width: 720px;
  color: #fff;
  font-size: 20px;
  align-self: center;
}
#news-visual .newsVisual__left .kicker {
  opacity: .9;
  margin-bottom: 14px;
}
#news-visual .newsVisual__left .hl1 {
  font-weight: 800;
  letter-spacing: -.02em;
}
#news-visual .newsVisual__left .desc {
  line-height: 1.7;
  opacity: .95;
  margin-bottom: 28px;
}
#news-visual .newsVisual__left .hl2 {
  font-size: 26px;
  letter-spacing: -.02em;
}
#news-visual .newsVisual__left .hl2 strong {
  font-size: 62px;
  font-weight: 900;
  color: #fff;
  margin: 0 6px;
  text-shadow: 0 2px 8px rgba(0,0,0,.25);
}
#news-visual .newsVisual__left .hl2 strong span { font-weight:400; }


/* 우측 슬라이더 */
#news-visual .newsVisual__right {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  margin-right: calc(-50vw + 50%);
  padding-right: 0;
}

/* Swiper 기본 */
#news-visual .news-swiper {
  width: 100%;
}
#news-visual .news-swiper .swiper-wrapper {
  align-items: stretch;
}

/* 슬라이드: 원본비율 유지 + 배경/그림자 제거 */
#news-visual .news-swiper .swiper-slide {
  aspect-ratio: 4 / 7;         /* 400x700 비율 유지 */
  border-radius: 0;
  overflow: hidden;
  background: none;            /* ✅ 배경 제거 */
  box-shadow: none;            /* ✅ 그림자 제거 */
  display: flex;
  align-items: center;
  justify-content: center;
}
#news-visual .news-swiper .swiper-slide > img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;         /* ✅ 원본 비율 유지 (확대 X) */
  display: block;
  transform: translateZ(0);
}

/* 내비게이션 */
#news-visual .news-prev,
#news-visual .news-next {
	display:none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  /*
  display: flex;
  */
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(0,0,0,.35);
  cursor: pointer;
  z-index: 5;
  font-size: 22px;
}
#news-visual .news-prev { left: -12px; }
#news-visual .news-next { right: -12px; }
#news-visual .news-prev:hover,
#news-visual .news-next:hover {
  background: rgba(0,0,0,.55);
}

/* 페이지네이션 */
#news-visual .news-pager {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -26px;
  text-align: center;
}
#news-visual .news-pager .swiper-pagination-bullet {
  background: #fff;
  opacity: .4;
  margin: 0 4px !important;
}
#news-visual .news-pager .swiper-pagination-bullet-active {
  opacity: 1;
}

/* 반응형 */
@media (min-width:1600px){
  #news-visual .news-swiper .swiper-slide {
    max-height: 820px;
  }
}

@media (max-width:1920px){
	#news-visual .newsVisual__left {
	  flex: 0 0 440px; 
	}
}

@media (max-width:1200px){
  #news-visual .newsVisual__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 28px;
  }
  
  #news-visual .newsVisual__left {
	  flex:1;
	  margin-bottom:30px;
	}
  #news-visual .newsVisual__right {
    margin-right: 0;
  }
}
@media (max-width:1024px){
  #news-visual { padding: 90px 0 110px; }
  

  #news-visual .newsVisual__left .hl2 { font-size: 26px; }
  #news-visual .newsVisual__left .hl2 strong { font-size: 42px; }
}
@media (max-width:680px){
  #news-visual .news-prev, #news-visual .news-next { display: none; }
}


/* 섹션 기본 */
#stats-visual.statsSection{
  position:relative;
  padding:100px 0;
  background:#fff;
}
#stats-visual .inner{
  width:100%; max-width:1480px; margin:0 auto; padding:0 30px;
}

/* 상단: 카운터 + 그래프 */
#stats-visual .statsTop{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:28px;
  align-items:stretch;
}

/* 카운터 */
#stats-visual .counterBox{
  background:transparent;
  display:flex; flex-direction:column; justify-content:center;
}
#stats-visual .counterBox .cap{font-size:32px; color:#222; margin-bottom:10px;}
#stats-visual .counterBox .counter{
  font-size:92px; font-weight:900; letter-spacing:-.02em; 
}


/* 차트 카드 */
#stats-visual .chartBox{
  background:#fff; border:1px solid #eee; border-radius:12px;
  padding:22px 22px 18px;
}

/* 제목 */
#stats-visual .chartHead strong{
  font-size:32px; font-weight:800; color:#111;
}


/* === PC 기본값 (>=1025px 가정) === */

/* 본문 높이 업 */
#stats-visual .chartBody{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;  /* 좌:숫자 / 우:그래프 양끝 배치 */
  gap:18px;
  margin-top:14px;
  min-height:250px;               /* ✅ 300px */
}



/* 👉 순서 재배치: 숫자(왼쪽), 막대(오른쪽) */
#stats-visual .chartFoot{ order:1; }
#stats-visual .barWrap { order:2; }

/* 좌측 숫자 영역 높이 */
#stats-visual .chartFoot{
  order:1;
  flex:0 0 42%;
  min-height:250px;               /* ✅ 250px */
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}


#stats-visual .chartFoot .cap{ color:#999; font-size:25px; line-height:1; margin-bottom:6px; }
#stats-visual .chartFoot .big{ font-size:62px; font-weight:900; color:#000; line-height:1; }

/* 우측 그래프 박스(막대) */
#stats-visual .barWrap{
  order:2;
  flex:1 1 auto;
  height:250px;                   /* ✅ 250px */
  margin-left:auto;               /* ✅ 우측 정렬 보조 */
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:18px;
  padding:18px 16px;
  border:1px solid #f0f0f0;
  border-radius:8px;
  background:
    repeating-linear-gradient(to top, #f6f7f9 0px, #f6f7f9 1px, transparent 1px, transparent 28px),
    #fff;
}

/* 막대 가로폭(PC) */
#stats-visual .bar{ width:60px; border-radius:6px; height:0; }
#stats-visual .bar--bg{ background:#e6e9ef; }
#stats-visual .bar--main{ background:#ff4c39; }

/* --- 반응형(선택): 태블릿 이하에서 기존 높이로 줄이기 --- */
@media (max-width:1024px){
  #stats-visual .chartBody{ min-height:220px; }
  #stats-visual .chartFoot{ min-height:180px; }
  #stats-visual .barWrap{ height:180px; margin-left:0; }
  #stats-visual .bar{ width:42px; }
}
@media (max-width:680px){
  #stats-visual .bar{ width:34px; }
  #stats-visual .counterBox .counter{ font-size:56px; }
  #stats-visual .chartFoot .cap{ font-size:20px; }
  #stats-visual .chartFoot .big{ font-size:48px; }
}

@media (max-width:560px){
	
	#stats-visual .counterBox .cap{font-size:18px; margin-bottom:0; }
	#stats-visual .counterBox .counter{
	  font-size:32px;
	  line-height:1.2;
	}

	#stats-visual .chartHead strong{
	  font-size:25px;
	}
  #stats-visual .chartBody{ min-height:100px; }
  #stats-visual .chartFoot{ min-height:80px; }
  #stats-visual .barWrap{ height:100px; }
  
	#stats-visual .chartFoot .cap{ font-size:18px; }
	#stats-visual .chartFoot .big{ font-size:32px; }
}

/* 타이틀 */
#stats-visual .whyTitle{
  text-align:center; font-size:52px; font-weight:900; letter-spacing:-.02em;
  margin:200px 0 50px; color:#111;
}

/* 하단 아이콘 배너 */
#stats-visual .benefitGrid{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns: repeat(6, 1fr); gap:16px;
}
#stats-visual .benefitGrid .card{
  height:260px; border:1px solid #ebebeb; border-radius:16px; background:#fff;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:10px; text-align:center; padding:16px;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
#stats-visual .benefitGrid .card img{ height:80px; width:auto; display:block; }
#stats-visual .benefitGrid .card p{ font-size:22px; color:#222; line-height:1.4; font-weight:700; margin-top:20px; word-break:keep-all; }
#stats-visual .benefitGrid .card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(0,0,0,.06);
  border-color:#e7e0c2;
}

/* 반응형 */
@media (max-width:1200px){
  #stats-visual .statsTop{ grid-template-columns: 1fr; }
  #stats-visual .whyTitle{  margin-top:120px; font-size:34px; }
  #stats-visual .benefitGrid{ grid-template-columns: repeat(3, 1fr); }
}
@media (max-width:680px){
  #stats-visual{ padding:70px 0 60px; }  
  #stats-visual .whyTitle{  margin-top:60px; }
  #stats-visual .benefitGrid{ grid-template-columns: repeat(2, 1fr); }
  #stats-visual .benefitGrid .card p{ font-size:22px; letter-spacing:-.1rem; }
}

@media (max-width:560px){
	#stats-visual .benefitGrid .card{ height:180px; }
	#stats-visual .benefitGrid .card img{ height:40px; }
	#stats-visual .benefitGrid .card p{ font-size:20px; }
}


/* 섹션 배경 */
#compare-visual.compareSection{
  position:relative;
  padding: 120px 0 110px;
  color:#fff;
  background:#000 url('../img/main/bg_price.jpg') center/cover no-repeat;
  text-align:center;
  overflow:hidden;
}
/* 어둡게 */
#compare-visual.compareSection::before{
  content:""; position:absolute; inset:0;
  background:rgba(0,0,0,.45);
}

/* 컨테이너 */
#compare-visual .compare__inner{
  position:relative; z-index:1;
  width:100%; max-width:1480px; margin:0 auto; padding:0 30px;
}

/* 타이틀 */
#compare-visual .compare__title{
  font-size:82px; font-weight:300; line-height:1.25; letter-spacing:-.02em;
  margin:0 0 50px;
}
#compare-visual .compare__title .emph{ color:#f2de05; font-weight:900;  } /* 노랑 강조 */
#compare-visual .compare__title .emph2 { font-size:62px;  font-weight:900; }

/* 배지 영역 */
#compare-visual .compare__badges{
  list-style:none; margin:26px auto 24px; padding:0;
  display:flex; align-items:center; justify-content:center;
  gap:30px; flex-wrap:wrap;
}
#compare-visual .compare__mobile { display:none; }
/* 배지: 300x300 이미지 사용 */
#compare-visual .badge{
  width:300px; height:300px;       /* ✅ 이미지 사이즈에 맞춤 */
  overflow:hidden;                 /* 가장자리 깔끔하게 */
  background:transparent;
  display:block;                   /* li 자체를 블록 요소로 */
}

/* 배지 이미지 */
#compare-visual .badge > img{
  display:block;
  width:100%; height:100%;
  object-fit:cover;                /* 원형 안에 가득 채움(이미지가 원형 PNG면 그대로) */
  /* object-fit:contain;           // 여백이 있어도 원본 비율 유지하려면 cover 대신 contain 사용 */
  image-rendering:auto;
  -webkit-transform:translateZ(0); /* 미세 블러 방지 */
  transform:translateZ(0);
}

/* 살짝 인터랙션 */
#compare-visual .badge:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(0,0,0,.28);
  transition:transform .15s ease, box-shadow .15s ease;
}


/* 중간 설명 */
#compare-visual .compare__desc{
  margin:26px 0 44px; font-size:26px; line-height:1.6;
}
#compare-visual .compare__desc .yellow{ color:#d2c10e; }

/* 하단 카피 */
#compare-visual .compare__foot{
  font-size:62px; font-weight:300; letter-spacing:-.02em; line-height:1.35;
}
#compare-visual .compare__foot .line{ border-bottom:2px solid rgba(255,255,255,.65); }
#compare-visual .compare__foot .brand{ color:#d5bf92; font-weight:900; }

/* 반응형 */
/* PC 기본은 그대로 유지 */

/* -----------------------------
   태블릿 (~1200px)
------------------------------*/
@media (max-width:1200px){
  #compare-visual { padding:100px 0 90px; }

  #compare-visual .compare__title {
    font-size:54px;           /* ↓ 조금 줄임 */
    line-height:1.3;
  }
  #compare-visual .compare__title .emph2 {
    font-size:42px;
  }

  #compare-visual .compare__desc {
    font-size:22px;
    margin:20px 0 38px;
  }

  #compare-visual .compare__foot {
    font-size:40px;
  }

  #compare-visual .compare__badges {
    gap:24px;
  }
  #compare-visual .badge {
    width:260px;
    height:260px;
  }
}
@media (max-width:1000px){
	#compare-visual .compare__pc { display:none; }
	#compare-visual .compare__mobile { display:block; margin: 26px auto 24px; }
}

/* -----------------------------
   모바일 중간 (~768px)
------------------------------*/
@media (max-width:768px){
  #compare-visual { padding:80px 0 80px; }

  #compare-visual .compare__title {
    font-size:38px;
    line-height:1.35;
  }
  #compare-visual .compare__title .emph2 {
    font-size:34px;
  }

  #compare-visual .compare__desc {
    font-size:20px;
  }

  #compare-visual .compare__foot {
    font-size:30px;
  }

  #compare-visual .compare__badges {
    gap:18px;
  }
  #compare-visual .badge {
    width:220px;
    height:220px;
  }
}

/* -----------------------------
   모바일 소형 (~560px)
------------------------------*/
@media (max-width:560px){
  #compare-visual { padding:70px 0 70px; }

  #compare-visual .compare__title {
    font-size:30px;
    line-height:1.4;
  }
  #compare-visual .compare__title .emph2 {
    font-size:26px;
  }

  #compare-visual .compare__desc {
    font-size:18px;
  }

  #compare-visual .compare__foot {
    font-size:24px;
    line-height:1.4;
  }

  #compare-visual .badge {
    width:180px;
    height:180px;
  }
}


/* ===============================
   SYSTEM SECT (3-STEP) — sys3
   구조: .system_sect.sys3 > .in + .cont(num1|num2|num3)
   ===============================*/
.system_sect {
  position: relative;
  padding:120px 0 0;
  overflow: hidden;
  background:#000 url('../img/main/bg_3p.jpg') center/cover no-repeat;
}

/* 컨테이너 */
#tri-team .tri-inner{ max-width:1480px; margin:0 auto; position:relative; z-index:2; }

/* 헤더 */
#tri-team .tri-head{ text-align:center; margin-bottom:24px; }
#tri-team .tri-title{
  margin:0 0 10px; font-weight:900;
  font-size:clamp(26px,4vw,52px); letter-spacing:-.4px;
}
#tri-team .tri-sub{
  margin:0 0 6px; font-size:clamp(16px,2vw,28px); color:#333;
}
#tri-team .tri-sub b{ font-weight:900; }
#tri-team .tri-desc{ margin:0; color:#666; font-size:clamp(14px,1.6vw,18px); }


.system_sect .cont .spe_box_wrap{display: none;}

/* 컨테이너 */
.system_sect .cont {
  margin: 0 auto 0;
  position: relative;
  width: 720px; /* 90rem → 720px */
  transform: translateY(50%);
  z-index: 3;
}
.system_sect .cont .cir_wrap { padding-top: 100%; transition: transform 0.5s linear; }

.system_sect .cont .cir_wrap .cir_line {
  position: absolute; left: 0; top: 0; width: 100%; height: 100%;
}
.system_sect .cont .cir_wrap .cir_bg {
  position: absolute; left: 50%; top: 50%;
  width: 85%; height: 85%;
  transform: translate(-50%, -50%);
  border:1px solid #b4a88e;
  background:transparent;
  border-radius: 50%;
}
.system_sect .cont .cir_wrap .active_cir {
  position: absolute;
  right: 1.5%;
  bottom: 64%;
  background: radial-gradient(circle,
    #a98c4a 0%,     /* 중심: 메인 골드 */
    #d4b670 100%    /* 바깥: 밝은 골드톤 */
  );
  width: 22px;
  height: 22px;
  border-radius: 50%;
  box-shadow: 0 0 15px 5px rgba(169, 140, 74, 0.45); /* 은은한 금빛 확산광 */
}


/* 텍스트 대신 사용할 이미지 블록 */
.system_sect .light_img{
  position:absolute;
  left:50%;
  top:12%;                 /* 원래 light_txt 위치와 유사 */
  transform:translateX(-50%);
  width:300px;                /* 원본 기준 */
  height:auto;
  z-index:3;
  pointer-events:none;        /* 클릭 막기(데코용) */
}
.system_sect .light_img img{
  display:block;
  width:100%;
  height:auto;                /* 300x240 비율 유지 */
  filter: drop-shadow(0 6px 16px rgba(0,0,0,0.18)); /* 은은한 입체감(옵션) */
}

/* 반응형: 화면이 좁아지면 적당히 축소 */
@media (max-width: 1440px){
	.system_sect .light_img{ width:200px; }
}

@media (max-width: 600px){
  .system_sect .light_img{ width:100px; }
}

/* 회전 위치 (3등분) */
.system_sect .cont.num1 .cir_wrap { transform: rotate(-130deg); }
.system_sect .cont.num2 .cir_wrap { transform: rotate(-70deg); }
.system_sect .cont.num3 .cir_wrap { transform: rotate(-10deg); }

/* 텍스트 카드 */
.system_sect .cont .txt_wrap {
  position: absolute; left: 0; top: 0;
  width: 100%; height: 100%;
}
.system_sect .cont .txt_wrap .txt_cont { position: absolute; }
.system_sect .cont .txt_wrap .txt_cont .num_txt {
  color: rgba(0,0,0,0.2);
  font-weight: 700;
  font-size: 16px;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  transition: color 0.3s ease-in-out;
}
.system_sect .cont .txt_wrap .txt_cont .num_txt .num {
  font-size:16px;
  width: 40px; height: 40px; /* 2.5em 유지 X — 필요 시 조정 */
  background-color: #fff;
  color: rgba(0,0,0,0.2);
  font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
  margin-bottom:10px;
}

/* 카드 박스 */
.system_sect .cont .spe_box {
  position: absolute;
  bottom: -100px; /* -20% → 대략 */
  width: 300px; /* 20em은 상대 단위라 참고 */
  opacity: 0; pointer-events: none;
  transition: 0.3s ease-in-out;
}
.system_sect .cont .spe_box .img {
  position: relative;
  width: 100%; padding-top: 56%;
  border-radius: 16px 16px 0 0;
  overflow: hidden;
}
.system_sect .cont .spe_box .img img {
  position: absolute; left: 0; top: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
}
.system_sect .cont .spe_box .txt_box {
  position: relative;
  padding: 16px 24px 32px; /* 2rem 3rem 4rem */
  background-color: #fff;
  border-radius: 0 0 16px 16px;
}
.system_sect .cont .spe_box .txt_box .tit_box {
  display: flex; align-items: center;
}
.system_sect .cont .spe_box .txt_box .tit_box .tit {
  font-size: 18px;
  font-weight: 700;
}

.system_sect .cont .spe_box .txt_box .tit_box .en span { color: #0E4FC3; }
.system_sect .cont .spe_box .txt_box .txt { margin-top: 8px; font-size:14px; }

/* 방향 */
.system_sect .cont .txt_wrap .txt_cont.left .spe_box { left: 0; transform: translate(-100%,0); }
.system_sect .cont .txt_wrap .txt_cont.right .spe_box { right: 0; transform: translate(100%,0); }

/* 활성 상태 */
.system_sect .cont .txt_wrap .txt_cont.active { z-index: 5; }
.system_sect .cont .txt_wrap .txt_cont.active .spe_box {
  opacity: 1; pointer-events: visible;
}
.system_sect .cont .txt_wrap .txt_cont.active.left .spe_box { left:-32px; }
.system_sect .cont .txt_wrap .txt_cont.active.right .spe_box { right: -32px; }
.system_sect .cont .txt_wrap .txt_cont.active .num_txt { color: #000; }
.system_sect .cont .txt_wrap .txt_cont.active .num_txt .num {
  color: #fff; background-color: #4a5860;
}

/* 위치 (좌/중/우) */
/* 좌/우 카드 위치 재배치 (3개용) */
.system_sect .cont .txt_wrap .txt_cont.num1 { left: -15%; top: 18%; } /* 좌측 아래 */
.system_sect .cont .txt_wrap .txt_cont.num2 { left:47%;   top: -14%; }  /* 좌측 위 */
.system_sect .cont .txt_wrap .txt_cont.num3 { right: -15%; top: 18%; }  /* 우측 위 */


/* 반응형 2000px */
@media screen and (max-width: 2000px) {
  .system_sect .cont { width: 696px; } /* 87rem → 696px */
  .system_sect .cont .cir_wrap .cir_bg { width: 90%; height: 90%; }
}

/* 반응형 1640px */
@media screen and (max-width: 1640px) {
  .system_sect .cont { width: 560px; } /* 70rem → 560px */
  .system_sect .cont .light_txt { font-size: 64px; } /* 8rem → 64px */
}

/* 반응형 1440px */
@media screen and (max-width: 1440px) {
  .system_sect .cont { width: 496px; } /* 62rem → 496px */
  .system_sect .cont .light_txt { font-size: 56px; } /* 7rem → 56px */
}

/* 반응형 1200px */
@media screen and (max-width: 1200px) {
  .system_sect .cont {
    width: 520px; /* 65rem → 520px */
    margin-top: 200px; /* 45rem → 360px */
  }
  .system_sect .cont .spe_box_wrap {
    display: block;
    position: absolute;
    top: -220px; /* -55rem → -440px */
    left: 25%;
    transform: translateX(-50%);
	border:1px solid #000;
	z-index:99;
  }
  .system_sect .cont .txt_wrap .txt_cont .spe_box{display: none;}
  .system_sect .cont .spe_box_wrap .spe_box.active{opacity: 1;}

	.system_sect .cont .txt_wrap .txt_cont.num1 { left: -22%; } /* 좌측 아래 */
	.system_sect .cont .txt_wrap .txt_cont.num2 { top:-18%;   }  /* 좌측 위 */
	.system_sect .cont .txt_wrap .txt_cont.num3 { right: -22%; }  /* 우측 위 */
}

/* 반응형 769px */
@media screen and (max-width: 769px) {
  .system_sect .cont {
    width: 496px; /* 62rem → 496px */
    margin-top: 200px; /* 50rem → 400px */
  }
  .system_sect .cont .spe_box_wrap { top: -220px; left:20%; /* -60rem → -480px */ }
  .system_sect .cont .txt_wrap .txt_cont .num_txt { font-size:14px; }
  .system_sect .cont .txt_wrap .txt_cont .num_txt .num { font-size:16px; width:30px; height:30px; }
  
	.system_sect .cont .txt_wrap .txt_cont.num1 { left: -18%; } /* 좌측 아래 */
	.system_sect .cont .txt_wrap .txt_cont.num2 { top:-17%;   }  /* 좌측 위 */
	.system_sect .cont .txt_wrap .txt_cont.num3 { right: -18%; }  /* 우측 위 */
}

/* 반응형 600px */
@media screen and (max-width: 600px) {
  .system_sect .cont {
    width: 235px;
    margin-top: 300px;
  }
  .system_sect .cont .light_txt { font-size: 28px; }

	.system_sect .cont .txt_wrap .txt_cont .num_txt { font-size:11px; }
  .system_sect .cont .txt_wrap .txt_cont .num_txt .num { font-size:12px; width:20px; height:20px; }
    .system_sect .cont .spe_box_wrap { left:-15%; }
	.system_sect .cont .txt_wrap .txt_cont.num1 { left: -25%; } /* 좌측 아래 */
	.system_sect .cont .txt_wrap .txt_cont.num2 { top:-25%; left:44%;  }  /* 좌측 위 */
	.system_sect .cont .txt_wrap .txt_cont.num3 { right: -25%; }  /* 우측 위 */

}



/* 기본 */
/* 섹션 프레임 */
#process-system.procSection{padding:120px 0;background:#fff;}
#process-system .inner{
  max-width:1480px;margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:1fr 1.45fr;gap:120px;
}

/* 좌측 소개 */
#process-system .procLeft .eyebrow{font-size:16px; color:#a98c4a;font-weight:800;margin-bottom:10px;}
#process-system .procLeft .title{font-size:48px;line-height:1.25;margin:0 0 30px;color:#111;}
#process-system .procLeft .title b{color:#a98c4a;}
#process-system .procLeft .desc{color:#555;line-height:1.8; font-size:16px; word-break:keep-all; }

/* 우측 리스트 래퍼 */
#process-system .procRight{display:flex;flex-direction:column;gap:28px;}

/* 각 스텝: 왼쪽 박스(좁게) + 오른쪽 bullets(넓게) */
#process-system .step{
  display:grid;
  grid-template-columns: 320px 1fr; /* ← 박스 더 좁게, bullets 넓게 */
  gap:28px;align-items:start;
}

/* 박스(아이콘+메타만 들어감) */
#process-system .stepBox{
  position:relative;background:#fff;border:4px solid #e7e2d8;border-radius:14px;
  padding:20px 22px;display:flex;gap:12px;align-items:center;
  box-shadow:0 2px 10px rgba(0,0,0,.03);
}
#process-system .stepBox .icon img{width:48px;height:48px;object-fit:contain;}

/* 메타 */
#process-system .stepBox .meta{display:flex;flex-direction:column;gap:4px;min-width:0}
#process-system .stepBox .meta .stepNo{font-size:13px;color:#a98c4a;font-weight:800; font-style: normal;}
#process-system .stepBox .meta .stepTit{font-size:20px;font-weight:500;color:#1a1a1a;line-height:1.25;}

/* 화살표: STEP 2~5에만. 박스 '안' 상단 중앙 */
#process-system .step:not(:first-child) .stepBox .arrow{
  position:absolute;left:50%;top:-40%;transform:translateX(-50%);
  font-size:22px;color:#c7b995;background:#fff;
  padding:0 4px; /* 절취선 느낌 보호 */
}
#process-system .step:nth-child(2) .stepBox .arrow{
	top:-30%;
}

/* 우측 bullets(박스 밖 별도 영역) */
/* bullets 더 크게 + 점 표시 */
#process-system .bullets ul{
  margin: 0;
  padding-left: 24px;         /* 점/들여쓰기 */
  list-style: disc;           /* ● 점 표시 */
  font-size: 13px;            /* 기존보다 큼 */
  line-height: 1.9;
  color: #333;
}

/* 항목 간격 */
#process-system .bullets li+li{ margin-top: 3px; }

/* 강조문구 */
#process-system .bullets b{
  color:#000; font-weight:700; font-size: 17px; 
}

/* 점 색 살짝 골드 느낌(지원 브라우저에서) */
#process-system .bullets li::marker{
  color:#000;              /* 마커 컬러 */
  font-size: 0.9em;
}



/* 특정 li만 점 숨기기 */
#process-system .bullets li.no-dot{
  list-style: none;          /* 점 제거 (폭도 줄어듦) */
}

/* 브라우저별 보조: ::marker 숨기기 */
#process-system .bullets li.no-dot::marker{
  content: "";
}

/* CTA 영역 */
#process-system .step.last{grid-template-columns:1fr;}
#process-system .ctaWrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
#process-system .ctaBtn{
  display:inline-flex;align-items:center;justify-content:center;width:320px;height:84px;border-radius:12px;
  background:#9b8345;color:#fff;
  font-size:28px;font-weight:900;
}
#process-system .ctaBtn:hover{filter:brightness(1.05);}
#process-system .stats{display:flex;gap:5px; flex-direction:column; }
#process-system .statItem{ font-size:22px; font-weight:700; line-height:1.2;}

/* 반응형 */
@media (max-width:1200px){
  #process-system .inner{grid-template-columns:1fr;gap:40px;}

}
@media (max-width:768px){
	#process-system.procSection{padding:80px 0;}
	#process-system .procLeft .title{font-size:32px}
	#process-system .step{grid-template-columns:1fr;}
	#process-system .bullets{margin-left:0}  
	#process-system .stepBox{padding:16px 18px}
	#process-system .stepBox .meta .stepTit{font-size:17px}
}
@media (max-width:520px){
  #process-system .step{gap:16px}
  #process-system .bullets ul{padding-left:16px}
  #process-system .ctaBtn { width:100%; }
}



/* 섹션 */
#reviews.reviews{
  background:#e7f5ff;
  padding:120px 0;
  background:#f5f5f5;
  overflow:hidden;
}

#reviews .head{ text-align:center; margin-bottom:120px; padding:0 16px;word-break:keep-all; }
#reviews .title{ font-size:58px; font-weight:700; letter-spacing:-.02em; margin:0 0 10px;  }
#reviews .sub{ font-size:22px; }


/* 풀블리드 한 줄 */
#reviews .marquee-row{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow:hidden;
  padding:0 16px;
}

/* 마퀴 기본 */
#reviews .marquee{
  --gap: 30px;  /* 카드 간격 */
  --dur: 40s;   /* JS에서 실제 길이에 맞춰 덮어씀 */
  position:relative;
  width:100%;
}
#reviews .marquee-track{
  display:flex;
  gap:var(--gap);
  flex-wrap:nowrap;
  will-change:transform;
  animation: marquee var(--dur) linear infinite;
}
#reviews .marquee-track.paused{ animation-play-state:paused; }

/* 텍스트 카드 (PC 기준 400x450) */
#reviews .item.card{
  flex:0 0 auto;
  width:400px; height:450px;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  position:relative;
  overflow:hidden;
  padding-top:48px; /* 배지와 겹치지 않도록 상단 여유 */
}

/* 좌상단 배지 */
#reviews .badge{
  position:absolute; left:0; top:0;
  display:inline-block;
  padding:10px 20px;
  font-size:15px; font-weight:700;
  color:#fff; background:#b28d4b; 
}

/* 본문 */
#reviews .body{
  height:100%;
  display:flex; flex-direction:column;
  justify-content:space-between;
  padding:30px;
}
#reviews .text{
  font-size:17px; line-height:1.5; color:#2a2f38;
  display:-webkit-box; -webkit-line-clamp:10; -webkit-box-orient:vertical;
  overflow:hidden;
}
#reviews .foot{
  margin-top:16px;
  font-size:17px; font-weight:500;
}

/* 반응형 */
@media (max-width:1200px){
	#reviews .head{ margin-bottom:80px;  }
	#reviews .title{ font-size:48px; } 
  #reviews .item.card{ width:360px; height:430px; }
}
@media (max-width:768px){
	#reviews .head{ margin-bottom:50px;  }
  #reviews .title{ font-size:32px; }
  #reviews .sub{ font-size:14px; }
  #reviews .marquee{ --gap: 20px; }
  #reviews .item.card{ width:300px; height:400px; }
}

/* 모션 최소화 환경 */
/*
@media (prefers-reduced-motion: reduce){
  #reviews .marquee-track{ animation-duration:1ms; }
}
*/

/* 섹션 베이스 */
#success-cases.caseMarquee{
  position:relative;
  padding:120px 0	;
  color:#fff;
  overflow:hidden;
  background:#0d2233 url('../img/main/bg_success.jpg') center/cover no-repeat;
}

/* 헤더 */
#success-cases .head{ text-align:center; margin:0 0 120px; }
#success-cases .head .title{ font-size:58px; font-weight:700; letter-spacing:-.02em; margin:0 0 30px; word-break:keep-all; }
#success-cases .head .sub{ font-size:22px; word-break:keep-all;  }


/* 풀블리드 행 */
#success-cases .marquee-row{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow:hidden;
  padding:0 24px;
}

/* 마퀴 공통 */
#success-cases .marquee{
  --gap: 30px;     /* 배너 사이 간격 */
  --dur: 40s;      /* JS에서 실제 길이로 덮어씀 */
  position:relative;
  width:100%;
}
#success-cases .marquee-track{
  display:flex;
  gap:var(--gap);
  flex-wrap:nowrap;
  will-change:transform;
  animation: marquee var(--dur) linear infinite;
}
#success-cases .marquee-track.paused{ animation-play-state:paused; }

#success-cases .item{
  flex: 0 0 auto;
  width:320px;
  height:435px;
  display:block;
}
#success-cases .item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:10px;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
  background:#fff;
}



/* 반응형 */
@media (max-width:1200px){
	#success-cases .title{ font-size:48px; } 
  #success-cases .item{ width:300px; height:408px; }
}
@media (max-width:768px){
  #success-cases{ padding:60px 0 80px; }
  #success-cases .head{ margin-bottom:50px;  }
  #success-cases .head .title{ font-size:32px; }
  #success-cases .head .sub{ font-size:14px; }  
  #success-cases .marquee{ --gap:14px; }
  #success-cases .item{ width:260px; height:353px; }
}

/* 모션 최소화 */
/*
@media (prefers-reduced-motion: reduce){
  #success-cases .marquee-track{ animation-duration:1ms; }
}
*/

/* 무한 마퀴: 트랙을 2배로 이어붙이므로 -50%만 이동하면 완전 반복 */
/*
@keyframes marquee{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
*/
@keyframes marquee{
  0%   { transform: translateX(0); }
  100% { transform: translateX(calc(-1 * var(--shift))); }
}


/* ===== Hero base ===== */
#hero-law{
  position: relative;
  width:100%;
  background:url('../img/main/bg_greeting.jpg') center/cover no-repeat;
  padding:120px 0;
}

#hero-law .hero-pc {}
#hero-law .hero-mobile { display:none; }

#hero-law .hero-inner{
  position: relative;
  margin:0 auto;
  max-width:1480px;
  min-height:520px;
  padding:64px 32px;
  box-sizing:border-box;
  border-radius:16px;
  overflow:hidden;
}

/* 왼쪽 카피 영역 */
#hero-law .hero-copy{
  width:100%;
  max-width:680px; /* 텍스트 대신 이미지여도 가독 폭 유지 */
}

/* ===== 이미지 블록 ===== */
#hero-law .greeting,
#hero-law .sign{
  display:block;
}

/* 원본 비율 기준: 550x320, 350x70 */
#hero-law .greeting img{
  display:block;
  width:100%;
  max-width:550px;      /* 원본 가로 상한 */
  height:auto;          /* 비율 유지 (약 1.72:1 세로) */
  image-rendering:auto;
}
#hero-law .sign{
  margin-top:24px;      /* 인사말과 사인 간격 */
}
#hero-law .sign img{
  display:block;
  width:100%;
  max-width:350px;      /* 원본 가로 상한 */
  height:auto;          /* 비율 유지 (약 5:1) */
}

/* ===== 반응형 ===== */

/* 1280↓ : 여백/배경 위치 미세 조정 */
@media (max-width:1280px){
	#hero-law { background-position:75% center; }
  #hero-law .hero-inner{
    min-height:500px;
    padding:56px 24px;
    
  }
}

/* 1024↓ : 왼쪽 영역 줄이기 */
@media (max-width:1024px){
	#hero-law { background-position:78% center; }
  #hero-law .hero-inner{
    min-height:480px;
  }
  #hero-law .hero-copy{
    max-width:620px;
  }
}

@media (max-width:1000px){
	#hero-law { padding:0; }
	#hero-law .hero-pc {display:none; }
	#hero-law .hero-mobile { display:block; }
}

/* 768↓ : 모바일 풀브리드 느낌, 이미지 크기 자동 축소 */
/*
@media (max-width:768px){
#hero-law { background-position:65% center; }
  #hero-law .hero-inner{
    padding:40px 20px 48px;
    min-height:420px;
    border-radius:0;
  }
  #hero-law .hero-copy{
    max-width:100%;
  }
  #hero-law .sign{ margin-top:18px; }
}
*/
/* 480↓ : 간격 더 촘촘하게 */
/*
@media (max-width:480px){
	#hero-law { background-position:32% center; }
  #hero-law .hero-inner{
    min-height:380px;
    padding:32px 16px 40px;
  }
  #hero-law .sign{ margin-top:14px; }
}
*/


/* 섹션 배경 톤 */
#yt-section{
  position:relative;
  background:url('../img/main/bg_youtube.jpg') center/cover no-repeat;
  padding: 120px 16px;
  color:#fff;
  overflow:hidden;
}

/* 최대너비 */
#yt-section .yt-inner{
  max-width:1480px;
  margin:0 auto;
}

/* 헤더 (타이틀+플레이) */
#yt-section .yt-head{
  position:relative;
  text-align:center;
  margin-bottom:100px; /* 섹션 아래 간격 */
}

#yt-section .yt-title{
  margin:0 auto;
  line-height:0;      /* 이미지 주변 여백 제거 */
}

#yt-section .yt-title img{
  display:inline-block;
  width:100%;
  max-width:740px;    /* 원본 가로 상한 */
  height:auto;        /* 비율 유지(740x300) */
  /* 고해상도 이미지라도 선명하게 */
  image-rendering:auto;
}

/* 그리드 */
#yt-section .yt-grid{
  list-style:none; padding:0; margin: 28px auto 0;
  display:grid; gap:28px;
  grid-template-columns: repeat(3, 1fr);   /* 3열 */
  max-width:1100px;                        /* 중앙 컴팩트 */
}

/* 카드 */
#yt-section .yt-card{
  position:relative; display:block; overflow:hidden; 
  background:rgba(0,0,0,.25); box-shadow:0 10px 30px rgba(0,0,0,.25);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
#yt-section .yt-card:hover{
  transform: translateY(-4px);
  box-shadow:0 16px 36px rgba(0,0,0,.35);
  filter:saturate(1.05);
}

/* 썸네일 16:9 비율 */
#yt-section .yt-card .thumb{
  display:block; width:100%; aspect-ratio:16/9;
  background-size:cover; background-position:center;
  filter: blur(0) brightness(.96) contrast(1.02);
  transition: transform .35s ease, filter .35s ease;
}
#yt-section .yt-card:hover .thumb{
  transform: scale(1.04);
  filter: brightness(1.03) contrast(1.05);
}

/* 중앙 라벨(샘플섬네일) */
#yt-section .yt-card .badge{
  position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%);
  color:#fff; font-weight:700; font-size:14px; letter-spacing:-0.2px;
  padding:8px 10px; 
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(4px);
  pointer-events:none;
}

/* 반응형 */
@media (max-width:1024px){
  #yt-section{ padding:64px 16px; }
  #yt-section .yt-grid{ gap:22px; }
  #yt-section .yt-head{ margin-bottom:32px; }
}
@media (max-width:860px){
  #yt-section .yt-grid{
    grid-template-columns: repeat(2, 1fr); /* 2열 */
    max-width:720px;
  }
}
@media (max-width:520px){
  #yt-section{ padding:52px 14px; }
  #yt-section .yt-grid{
    gap:10px;
  }
  #yt-section .yt-play{ transform: translate(-50%, -20%); }
  
   #yt-section .yt-head{ margin-bottom:24px; }
  /* 좁은 화면에서 너무 큰 느낌이면 최대폭 축소 */
  #yt-section .yt-title img{ max-width:88vw; }
}


/* ===== FAQ ===== */
#faq-section {
  background: #fff;
  padding: 72px 16px 32px;
}
#faq-section .faq-inner {
  max-width: 1480px;
  margin: 0 auto;
}

/* 헤더: 제목 + 로고 (한 줄 유지) */
#faq-section .faq-head {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom:2px solid #d7d7d7;
}
#faq-section .faq-title {
  flex: 1 1 auto;
  font-weight: 900;
  font-size: clamp(26px, 3.4vw, 44px);
  line-height: 1.25;
  letter-spacing: -0.3px;
  color: #111;
  
}
#faq-section .faq-logo {
  flex: 0 0 auto;
  width: 180px;
  height: 140px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}
#faq-section .faq-logo img {
  width: 100%;
  height: auto;
  display: block;
}

/* 리스트 */
#faq-section .faq-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
#faq-section .faq-item {
  border-bottom: 1px solid #e6e6e6;
}

/* 질문 버튼 */
#faq-section .faq-q {
  position: relative;
  width: 100%;
  text-align: left;
  background: #fff;
  border: 0;
  cursor: pointer;
  font-size: 20px;
  line-height: 1.55;
  padding: 18px 44px 18px 0;
  color: #222;
  transition: color 0.25s ease;
}
#faq-section .faq-q:hover {
  color: #000;
}

/* + / - 아이콘 */
#faq-section .faq-q .ico {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
}
#faq-section .faq-q .ico::before,
#faq-section .faq-q .ico::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 18px;
  height: 2px;
  background: #222;
  transition: 0.25s ease;
}
#faq-section .faq-q .ico::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
#faq-section .faq-q[aria-expanded="true"] .ico::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

/* 답변 (부드러운 닫힘용) */
#faq-section .faq-a {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding: 0;
  transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
  will-change: max-height, opacity, padding;
}
#faq-section .faq-a > div,
#faq-section .faq-a > p {
  min-height: 0;
  color: #4a4a4a;
  font-size: 18px;
  line-height: 1.7;
  padding-bottom:30px;
}

/* ===== CTA 배너 ===== */
/* ===== CTA 배너 ===== */
#cta-banner {
  position: relative;
  color: #fff;
  overflow: hidden;
  background: url('../img/main/bg_slogan.png') top center/cover no-repeat;
}

/* 내부 레이아웃 */
#cta-banner .cta-inner {
  position: relative;
  z-index: 1;
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  align-items: end; /* 좌측 텍스트를 세로 하단 가까이 배치 */
  gap: 24px;
  min-height: 480px; /* 높이 확보 */
}

/* 좌측 텍스트 영역 */
#cta-banner .cta-left {
  padding: 40px 0 120px; /* 아래쪽 여백으로 살짝 내려줌 */
}
#cta-banner .cta-title {
  margin: 0 0 14px;
  font-weight: 900;
  letter-spacing: -0.3px;
  font-size: clamp(22px, 2.8vw, 42px);
  line-height: 1.35;
  word-break:keep-all;
}
#cta-banner .cta-txt {
  margin: 0 0 14px;
  font-weight: 400;
  letter-spacing: -0.3px;
  font-size: clamp(22px, 2.8vw, 20px);
  line-height: 1.35;
  word-break:keep-all;
}

/* 우측 인물 이미지 */
#cta-banner .cta-figure {
  text-align: right;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  padding-right: 10px;
}
#cta-banner .cta-figure img {
  display: inline-block;
  width: min(700px, 45vw); /* 원본 비율 기반 */
  height: auto;
  aspect-ratio: 700 / 430; /* 비율 고정 (1.63:1) */
  filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.4));
}

/* 버튼 스타일 (있을 경우 유지) */
#cta-banner .cta-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
#cta-banner .cta-btn {
  display: inline-block;
  padding: 12px 18px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 15px;
  background: #d4af37;
  color: #111;
  text-decoration: none;
  transition: transform 0.2s ease, filter 0.2s ease;
}
#cta-banner .cta-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
}
#cta-banner .cta-btn.ghost {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.5);
}


/* ===== 반응형 ===== */
@media (max-width: 1080px) {
  #faq-section .faq-logo {
    width: 160px;
    height: auto;
  }
  #cta-banner .cta-inner {
    grid-template-columns: 1fr 0.9fr;
    min-height: 420px;
  }
  #cta-banner .cta-left {
    padding: 32px 0 50px;
  }
  #cta-banner .cta-figure img {
    width: min(560px, 46vw);
  }
}
@media (max-width: 860px) {
  #faq-section .faq-logo {
    width: 140px;
  }
  #cta-banner .cta-inner {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 48px 16px;
    min-height: auto;
  }
  #cta-banner .cta-figure {
    text-align: center;
    order: -1;
    margin-bottom: 16px;
    justify-content: center;
  }
  #cta-banner .cta-figure img {
    width: min(420px, 80vw);
  }
  #cta-banner .cta-left {
    padding: 0 0 20px;
  }
  #cta-banner .cta-actions {
    justify-content: center;
  }
}
@media (max-width: 520px) {
#faq-section .faq-logo {
    width: 100px;
  }
  
  #faq-section {
    padding: 56px 14px 24px;
  }
  #faq-section .faq-q {
    font-size: 17px;
    padding: 16px 38px 16px 0;
  }

	#faq-section .faq-a > div,
	#faq-section .faq-a > p {
	font-size: 15px;
	}

  #cta-banner .cta-title {
    font-size: clamp(20px, 6vw, 28px);
  }
  #cta-banner .cta-btn {
    padding: 11px 16px;
    font-size: 14px;
  }
  #cta-banner .cta-figure img {
    width: min(360px, 90vw);
  }
}


/* 섹션 레이아웃 */
#contact-cta{ background:url('../img/main/contact_bg.jpg') top center repeat-y; }
#contact-cta .cc-inner{
  max-width:1480px; margin:0 auto; padding:0;
  display:grid; grid-template-columns:1fr 1fr; gap:0;
}

/* 좌측 영역 */
#contact-cta .cc-left{ background:#f5f5f5; padding:100px 60px 100px 18px; }
#contact-cta .cc-title{
  margin:0 0 70px; font-weight:900; font-size: clamp(28px,3.4vw,52px);
  letter-spacing:-.3px; color:#111;
}
#contact-cta .cc-map{
  background:#fff; border-radius:0; overflow:hidden; box-shadow:0 1px 0 rgba(0,0,0,.04);
  margin-bottom:28px;
}
#contact-cta .cc-map iframe{
  display:block; width:100%; height:340px; border:0;
}

/* 연락처 리스트 */
#contact-cta .cc-info{ margin:0; padding:0; }
#contact-cta .cc-info .row{
  display:grid; grid-template-columns:110px 1fr; align-items:flex-start;
  padding:16px 0; border-top:1px solid #e2e1e5;
  font-size:16px;
}
#contact-cta .cc-info .row:first-child{ border-top:0; }
#contact-cta .cc-info dt{
  font-weight:700; color:#222;
}
#contact-cta .cc-info dd{
  margin:0; color:#333; line-height:1.7;
}
#contact-cta .cc-info a{ color:#1674ff; text-decoration:none; }

/* 우측 영역(황금 배경) */
#contact-cta .cc-right{
  background:#baa674; /* 골드톤 */
  display:flex; justify-content:center;
  padding:100px 18px 100px 60px; 
}
#contact-cta .cc-form-wrap{ width:100%; max-width:530px; }
#contact-cta .form-title{
  margin:0 0 15px; font-weight:900; font-size: clamp(32px,3.4vw,52px); color:#111;
}
#contact-cta .form-sub{
  margin:0 0 75px; color:rgba(0,0,0,.68); font-size:20px; word-break:keep-all;
}

/* 폼 */
#contact-cta .grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
#contact-cta .field{ display:block; margin:0 0 28px; }
#contact-cta .lab{ display:block; margin:0 0 15px; color:#111; font-weight:700; font-size:18px; }
#contact-cta input[type="text"],
#contact-cta input[type="tel"]{
  display:block; width:100%; height:55px; padding:0 14px; border-radius:8px;
  border:0; outline:0; background:#fff; color:#111; font-size:18px;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.06);
}
#contact-cta .agree{
  display:flex; align-items:center; gap:10px; margin:8px 0 25px; color:#222; font-weight:700; font-size:15px; 
}
#contact-cta .agree input{ width:18px; height:18px; }

/* 버튼 */
#contact-cta #submitBtn{
  width:100%; height:60px; border-radius:10px; border:0; cursor:pointer;
  background:#000; color:#fff; font-weight:900; font-size:20px;
  transition: transform .2s ease, filter .2s ease, opacity .2s ease;
}
#contact-cta #submitBtn:hover{ transform:translateY(-1px); filter:brightness(1.02); }
#contact-cta #submitBtn:disabled{ opacity:.55; cursor:not-allowed; transform:none; }

/* 반응형 */
@media (max-width:1200px){
  #contact-cta .cc-left{ padding:80px 32px 40px; }
  #contact-cta .cc-right{ padding:80px 32px 40px; }  
  #contact-cta .cc-map iframe{ height:320px; }
}
@media (max-width:960px){
  #contact-cta .cc-inner{ grid-template-columns:1fr; }
  #contact-cta .cc-right{ order:1; }             /* 모바일에서 상담폼이 위로 */
  #contact-cta .grid-2{ grid-template-columns:1fr; gap:14px; }
  #contact-cta .cc-left,
  #contact-cta .cc-right{ padding:50px 16px; }
}
@media (max-width:520px){
	#contact-cta .cc-title,
	#contact-cta .form-sub { margin-bottom:30px; }
	#contact-cta .form-sub { font-size:18px; }
  #contact-cta .cc-map iframe{ height:300px; }
  #contact-cta .field{  margin:0 0 15px; }
  #contact-cta .lab{ font-size:16px; }
#contact-cta input[type="text"],
#contact-cta input[type="tel"]{ height:45px;  font-size:16px; }

  #contact-cta #submitBtn{ height:56px; font-size:18px; }
}
