html, body {
  background-color: #000 !important; /* 문서 전체 배경 고정 */
  margin: 0;
  padding: 0;
}

.element {
  position: relative
  width: 100%;
  background-color: #000;
  overflow-x: hidden;
}


/* =========================
   GNB (상단 바)
   ========================= */
.element .GNB {
  display: flex;
  flex-direction: row;        /* ✅ 세로 → 가로 정렬로 변경 */
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 80px;
  position: fixed;       /* 상단 고정 */
  background-color: rgba(0, 0, 0, 0.95); /* 살짝 투명하게 */
  backdrop-filter: blur(6px); /* 배경 흐림 효과 (선택사항) */
  top: 0;
  left: 0;
  background-color: #000;
  padding: 0 4vw;             /* ✅ 반응형 여백 */
  box-sizing: border-box;
  z-index: 100;
}

/* =========================
   내부 컨테이너
   ========================= */
.element .container-2 {
  display: flex;
  align-items: center;
  justify-content: space-between; /* ✅ 로고 왼쪽 / 메뉴 오른쪽 */
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  min-width: 0; 
}

/* =========================
   로고
   ========================= */
.element .background-border {
  width: 120px;
  height: 40px;
  flex-shrink: 0; /* ✅ 크기 고정 */
}

/* =========================
   메뉴
   ========================= */
.element .container-3 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: nowrap;       /* ✅ 한 줄 고정 */
  overflow: hidden;        /* ✅ 넘치면 감춤 */
  min-width: 0;            /* ✅ flex overflow 정상 작동 */
  max-width: 100%;
  box-sizing: border-box;
  flex: 1;
}

/* 각 메뉴 항목 */
.element .background-border-2,
.element .background-border-3 {
  flex-shrink: 1;          /* ✅ 필요할 때 항목이 폭 줄이기 허용 */
  min-width: 0;            /* ✅ 내부 콘텐츠가 부모 넘지 않게 */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border-radius: 4px;
  background-color: transparent;
}

.element .background-border-3 {
  background-color: #000;
}

/* 메뉴 텍스트 */
.element .text-wrapper-41 {
  font-family: "Pretendard-SemiBold", Helvetica;
  font-weight: 600;
  color: #c0c0c0;
  font-size: 14px;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.element .text-wrapper-41:hover {
  color: #ffb400;
}

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

/* 💻 1280px 이하 */
@media (max-width: 1280px) {
  .element .GNB {
    padding: 0 3.5vw;
  }
  .element .container-3 {
    gap: 24px;
  }
}

/* 💻 1024px 이하 */
@media (max-width: 1024px) {
  .element .GNB {
    height: 72px;
    padding: 0 3vw;
  }
  .element .container-3 {
    gap: 20px;
  }
  .element .text-wrapper-41 {
    font-size: 13px;
  }
}

/* 📱 태블릿 (768px 이하) */
@media (max-width: 768px) {
  .element .GNB {
    height: auto;
    padding: 12px 5vw;
  }

  .element .container-2 {
    flex-direction: column; /* ✅ 세로 배치로 변경 */
    align-items: flex-start;
    gap: 12px;
  }

  .element .container-3 {
    display: none !important; /* ✅ 모바일에서 완전히 숨김 */
  }

  .element .text-wrapper-41 {
    font-size: 13px;
  }
}

/* 📱 모바일 (480px 이하) */
@media (max-width: 480px) {
  .element .GNB {
    padding: 10px 16px;
  }
  .element .background-border {
    width: 100px;
    height: 32px;
  }
  .element .container-3 {
    gap: 12px;
  }
  .element .text-wrapper-41 {
    font-size: 12px;
  }
}

/* ===============================
   .element 내부 HERO (최종 통합)
   =============================== */

/* ===== 기본 구조 / 데스크탑 ===== */
.element .hero {
  position: relative;
  display: grid;
  place-items: center;              /* 수평/수직 중앙정렬 */
  background-color: #000;
  overflow: hidden;

  /* 높이와 패딩 (데스크탑 기준) */
  min-height: calc(100vh - 80px);   /* GNB 80px 제외 */
  padding: 120px 0;                 /* 위아래 여백 */
  box-sizing: border-box;
  justify-content: center;
  align-items: center;
  z-index: 2;


}

.element .hero .div-text-CTA {
  position: relative;
  z-index: 1;
  width: min(1200px, 100%);
  margin: 0 auto;
  padding: 0 0px;
  text-align: center;
}

/* 상단 라벨 */
.element .hero .label-3 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 20px;
  margin-bottom: 36px;
  background-color: #262626;
  border-radius: 9999px;
}

.element .hero .text-wrapper-39 {
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
  white-space: nowrap;
}

/* 메인 타이틀 */
.element .hero .text-wrapper-40 {
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1.2;
  font-weight: 700;
  color: #fff;
}

/* 서브 텍스트 */
.element .hero .bb-tech {
  max-width: 800px;
  margin: 20px auto 0;
  font-size: clamp(16px, 1.5vw, 18px);
  line-height: 1.7;
  color: #c0c0c0;
}

/* CTA 버튼 */
.element .hero .CTA {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 48px;
  padding: 14px 30px;
  background: #ffb000;
  color: #000;
  font-size: 18px;
  font-weight: 600;
  gap: 8px;
  transition: background 0.3s ease;
}
.element .hero .CTA:hover {
  background: #ffca42;
}

/* CTA 버튼 내부 텍스트 스타일 */
.element .hero .CTA .text-wrapper {
  font-family: 'Pretendard', 'Noto Sans KR', sans-serif;  /* 원하는 폰트 */
  font-weight: 600;
  font-size: 18px;
  line-height: 1.4;
  color: #000;
  letter-spacing: -0.02em;
  text-align: center;
}

/* ===== 태블릿 (769px ~ 1200px) ===== */
@media (max-width: 1200px) {
  .element .hero {
    min-height: 640px;
    padding: 96px 0;                 /* 약간 줄이기 */
  }

  .element .hero .div-text-CTA {
    padding: 0 0px;
  }

  .element .hero .text-wrapper-40 {
    font-size: clamp(30px, 4.5vw, 44px);
  }

  .element .hero .bb-tech {
    font-size: 16px;
    line-height: 1.6;
    margin-top: 16px;
  }

  .element .hero .CTA {
    margin-top: 40px;
    padding: 16px 32px;
  }
}

/* ===== 모바일 (<=768px) ===== */
@media (max-width: 768px) {
  .element .hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: auto;
    padding: 80px 0;                /* 여백 늘려서 위로 붙지 않게 */
    background-color: #000;
    padding-top: calc(80px + 60px) !important; /* 기존 60px + GNB높이(80px) */
  }

  .element .hero .div-text-CTA {
    width: 100%;
    padding: 0 0px;
    text-align: center;
    gap: 24px;
  }




  .element .hero .bb-tech {
    font-size: 14px;
    line-height: 1.6;
    text-align: center;
    color: #c0c0c0;
    margin-top: 12px;
  }

  .element .hero .CTA {
    padding: 12px 25px;
    margin-top: 32px;
    font-size: 13px;
    font-weight: 600;
  }
  
  .element .hero .CTA .text-wrapper {
    font-size: 15px;
    font-weight: 600;
  }
}

/* ===============================
   SECTION 5 (Gradient + Carousel)
   =============================== */

.element .section-carousel {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  overflow: hidden;
  padding: 60px 0;
  box-sizing: border-box;

  /* 🎨 그라데이션 배경을 바로 이곳에 넣기 */
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 1) 0%,
    rgba(255, 133, 1, 1) 50%,
    rgba(0, 0, 0, 1) 100%
  );

  z-index: 0; /* 다른 섹션에 영향을 주지 않게 */
}



/* 🖼️ 캐러셀 래퍼 */
.element .section-carousel .carousel-wrapper {
  position: relative;           /* ✅ 배경 위 */
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 20px;
  margin: 0;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

/* 📸 슬라이드 프레임 */
.element .section-carousel .slide {
  position: relative;
  padding: 0;
  flex: 0 0 auto;
  width: 1080px;
  margin: 0;
  height: 600px;
  border-radius: 5px;
  overflow: hidden;
  transition: transform 0.8s ease;
}

/* 📷 이미지 스타일 */
.element .section-carousel .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;           /* ✅ inline → block으로 변경 */
  margin: 0;
  padding: 0;
  border: none;
  vertical-align: middle;   /* ✅ inline 요소 정렬 흔들림 방지 */
}

/* 좌우 슬라이드 어둡게 */
.element .section-carousel .slide.left::after,
.element .section-carousel .slide.right::after {
  content: "";
  margin: 0;
  padding: 0;
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 5px;
  z-index: 2;
}


/* ===============================
   반응형 (tablet / mobile)
   =============================== */

@media (max-width: 1200px) {
  .element .section-carousel {
    padding: 60px 0;
  }
  .element .section-carousel .carousel-wrapper {
    gap: 18px;
  }
  .element .section-carousel .slide {
    width: 640px;
    height: 360px;
  }
}

@media (max-width: 768px) {
  .element .section-carousel {
    padding: 60px 0;
  }
  .element .section-carousel .carousel-wrapper {
    gap: 16px;
  }
  .element .section-carousel .slide {
    width: 350px;
    height: 225px;
  }
}


.element .section-carousel .carousel-pagination {
  position: absolute;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  z-index: 5;
}

.element .section-carousel .carousel-pagination .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  transition: all 0.3s ease;
  cursor: pointer;
}

.element .section-carousel .carousel-pagination .dot.active {
  width: 20px;
  border-radius: 9999px;
  background: #fff;
}

/* ===============================
   SECTION 4 BASE LAYOUT
   =============================== */

.element .section-4 {
  position: relative;            /* ✅ absolute 제거 — 문서 흐름에 맞게 */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;                   /* ✅ 반응형 폭 */
  max-width: 1920px;             /* ✅ 최대 제한 */
  margin: 0 auto;                /* ✅ 가운데 정렬 */
  padding: 96px 8vw;             /* ✅ 여백을 vw 단위로 (양쪽 균형 유지) */
  background-color: transparent; /* 필요 시 배경 지정 */
  box-sizing: border-box;
  z-index: 1;
}

/* ===============================
   반응형 조정
   =============================== */

@media (max-width: 1200px) {
  .element .section-4 {
    padding: 80px 6vw;
  }
}

@media (max-width: 768px) {
  .element .section-4 {
    padding: 64px 5vw;
  }
}


/* ===============================
   SECTION 4 HEADER (상단 타이틀)
   =============================== */

.element .view-4 {
  position: relative;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  height: auto;                 /* ✅ 콘텐츠 높이에 따라 자동 조정 */
  padding: 40px 0px 40px;      /* ✅ 상하 여백으로 균형 잡기 */
  box-sizing: border-box;
}

.element .heading-2 {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;           /* ✅ absolute → relative */
  width: 100%;
}

.element .text-wrapper-36 {
  width: fit-content;
  margin: 0 auto;
  font-family: var(--PC-h4-font-family);
  font-weight: var(--PC-h4-font-weight);
  color: #fff;
  font-size: clamp(18px, 2vw + 10px, 28px);
  letter-spacing: var(--PC-h4-letter-spacing);
  line-height: var(--PC-h4-line-height);
  text-align: center;
  word-break: keep-all;
  white-space: normal;          /* ✅ 줄바꿈 허용 */
  display: flex;
  align-items: center;
  justify-content: center;
  font-style: var(--PC-h4-font-style);
}

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

@media (max-width: 1200px) {
  .element .view-4 {
    padding: 30px 24px 32px;
  }

  .element .text-wrapper-36 {
    font-size: clamp(18px, 3vw, 28px); /* ✅ 자동 크기 조정 */
  }
}

@media (max-width: 768px) {
  .element .view-4 {
    padding: 20px 20px 24px;
  }

  .element .text-wrapper-36 {
    white-space: normal;       /* ✅ 줄바꿈 허용 */
    display: block;
    text-align: center;
    line-height: 1.4;
    font-size: clamp(18px, 4vw, 22px);
    width: 220px;              /* ✅ 강제 폭 제한 → 두 줄 고정 */
    margin: 0 auto;
    word-break: keep-all;      /* ✅ 단어 단위로 줄바꿈 */
  }
}


/* ===============================
   SECTION 4 - 통계 카드 (contents-2)
   =============================== */

.element .contents-2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  top: auto;
  left: auto;
  padding-top: 30px;
}

/* 카드 2개 나란히 */
.element .row {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 20px;
  width: 100%;
}

/* 개별 카드 */
.element .div-7 {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 36px 40px;
  background-color: #262626;
  border-radius: 12px;
  border: 1px solid #303030;
  box-sizing: border-box;
}

/* 상단 숫자 (1위 / 10명 중 7명) */
.element .text-wrapper-30,
.element .text-wrapper-33 {
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  font-weight: 700;               /* ✅ Bold 강조 */
  font-size: 32px;                /* ✅ 크고 중심 강조 */
  line-height: 48px;         /* 고정 줄간격 */
  margin: 0 0 6px 0;         /* 아래로 약간 띄움 */
  background: radial-gradient(
    50% 50% at 74% 56%,
    rgba(255, 191, 0, 1) 0%,      /* ✅ 노란빛 골드톤 */
    rgba(255, 128, 0, 1) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.02em;
  text-align: center;
}

/* 타이틀: B2B 마케터 / B2B 구매자 */
.element .text-wrapper-31 {
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  font-weight: 600;               /* ✅ 세미볼드 */
  font-size: 18px;           /* 고정 크기 */
  line-height: 22px;         /* 고정 줄간격 */
  color: #ffffff;
  margin: 0 0 8px 0;         /* 다음 문단과 여백 */
  text-align: center;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}

/* 설명 문장 */
.element .div-8,
.element .text-wrapper-32 {
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  font-weight: 400;
  font-size: 15px;           /* 고정 크기 */
  line-height: 22px;         /* 고정 줄간격 */
  color: #B5B5B5;
  text-align: center;
  margin: 0;
  letter-spacing: -0.01em;
  white-space: normal;
}





/* ===============================
   📱 반응형
   =============================== */
@media (max-width: 1080px) {
   .element .contents-2 {
    width: 100%;
    max-width: 640px;
    padding: 30px 0px;
  }

  .element .div-7 {
    width: 100%;
    margin: 0 auto;
    padding: 28px 24px;
  }
}

@media (max-width: 768px) {
  .element .contents-2 {
    width: 100%;
    padding: 30px 0px;
  }

  .element .row {
    flex-direction: column; /* ✅ 세로 정렬 */
    gap: 16px;
  }

  .element .div-7 {
    width: 100%;
    max-width: 350px;
    margin: 0 auto;
    padding: 28px 24px;
  }
}


.element .caption {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 0px;
}

.element .text-wrapper-34 {
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 13px;
  color: #8f8f8f;
  text-align: center;
}

.element .text-wrapper-34 a {
  color: #8f8f8f;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.2s ease;
}

.element .text-wrapper-34 a:hover {
  color: #ffb400; /* 살짝 하이라이트 */
}


.element .contents-3 {
  display: flex;
  justify-content: center;    /* 가운데 정렬 */
  align-items: stretch;
  flex-wrap: nowrap;          /* 한 줄 유지 */
  gap: 20px;                  /* 카드 간 여백 */
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  position: relative;
  padding-top: 30px;
}

/* 각 카드 스타일 */
.element .row2 {
  display: flex;
  flex-direction: row; /* ✅ 세로 대신 가로 */
  justify-content: center;
  align-items: stretch;
  gap: 20px;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  flex-wrap: nowrap; /* ✅ 한 줄 유지 */
}

.element .feedbackcard {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;   /* ✅ 왼쪽 정렬 */
  justify-content: flex-start; /* ✅ 위로 정렬 */
  gap: 10px;
  background: #ffffff;
  border-radius: 12px;
  padding: 15px 15px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
}


 .element .feedbackcard:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.08);
}

/* 피드백 제목 */
.element .feedback-title {
  font-family: var(--PC-body-5-font-family, 'Pretendard','Noto Sans KR',sans-serif);
  font-weight: var(--PC-body-5-font-weight, 900);
  font-size: 18px;
  padding: 5px 0px 5px 0px;
  color: #1d1d1d;
  line-height: 1.2;
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

/* 피드백 본문 */
.element .feedback-text {
    font-family: var(--PC-body-5-font-family, 'Pretendard','Noto Sans KR',sans-serif);
  font-weight: var(--PC-body-5-font-weight, 600);
  font-size: 15px;
  line-height: 1.2;
  color: #3a3a3a;
  font-weight: 400;
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

/* 하단 프로필 영역 */
.element .div-profile-name {
  display: flex;
  align-items: center;
  gap: 8px;
}

.element .profile img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}

.element .job-name {
  display: flex;
  flex-direction: column; /* ✅ 세로 정렬 */
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2px;
}


/* 직함 (예: 세일즈 매니저) */
.element .text-wrapper-37{
  display:block;                         /* 줄바꿈 보장 */
  font-family: var(--PC-body-5-font-family, 'Pretendard','Noto Sans KR',sans-serif);
  font-weight: var(--PC-body-5-font-weight, 400);
  font-size: var(--PC-body-5-font-size, 10px);
  line-height: var(--PC-body-5-line-height, 12px);
  letter-spacing: var(--PC-body-5-letter-spacing, -0.01em);
  color:#1d1d1d;
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

/* 이름 (예: 최OO) */
.element .text-wrapper-38{
  display:block;                         /* 줄바꿈 보장 */
  font-family: var(--PC-caption-1-font-family, 'Pretendard','Noto Sans KR',sans-serif);
  font-weight: var(--PC-caption-1-font-weight, 500);
  font-size: var(--PC-caption-1-font-size, 12px);
  line-height: var(--PC-caption-1-line-height, 18px);
  letter-spacing: var(--PC-caption-1-letter-spacing, -0.01em);
  color:#6b6b6b;
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}


/* ===============================
   💻 1080px 이하 (태블릿)
   =============================== */
@media (max-width: 1080px) {
  .element .contents-3 {
    width: 100%;
    max-width: 640px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 16px;
    padding: 30px 0px;
    margin: 0 auto;
  }

  .element .row2 {
    flex-wrap: wrap; /* ✅ 2x2 구성 */
    justify-content: center;
    gap: 16px;
  }


 .element .feedbackcard {
    flex: 1 1 calc(50% - 16px);
    max-width: 300px;
  }
}

/* 📱 모바일 */
@media (max-width: 768px) {
  .element .contents-3 {
    width: 100%;
    max-width: 350px;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    gap: 16px;
    padding: 30px 0px;
    margin: 0 auto;
  }


 .element .feedbackcard {
    width: 100%;
    max-width: 350px;
  }

  .element .row2 {
    flex-direction: column;
    justify-content: center;
      align-items: center;
    gap: 16px;
  }
}


.element .text-wrapper-15 {
  width: fit-content;
  margin: 0 auto;
  font-family: var(--PC-h4-font-family);
  font-weight: var(--PC-h4-font-weight);
  color: #ffb000;
  font-size: clamp(18px, 2vw + 10px, 28px);
  letter-spacing: var(--PC-h4-letter-spacing);
  line-height: var(--PC-h4-line-height);
  text-align: center;
  word-break: keep-all;
  white-space: normal;          /* ✅ 줄바꿈 허용 */
  display: flex;
  align-items: center;
  justify-content: center;
  font-style: var(--PC-h4-font-style);
  
}

.element .view-why1 {
  position: relative;
  width: 100%;
  align-items: center;
  max-width: 1080px;
  margin: 0 auto;
  height: auto;                 /* ✅ 콘텐츠 높이에 따라 자동 조정 */
  box-sizing: border-box;
  border-radius: 12px;
  border: 1px solid #303030;
  box-sizing: border-box;
  overflow: hidden; /* ✅ 자식 배경이 둥근 모서리 안에 들어오도록 */
  max-width: 1080px;
}

.element .top {
  display: flex;
  justify-content: center;    /* 가운데 정렬 */
  align-items: stretch;
  flex-wrap: nowrap;          /* 한 줄 유지 */
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  position: relative;
  height: 331px;
  background-color: #000000;
  
}

/* 숫자 스타일 (1.) */
.element .text-wrapper-16 {
  display: block;
  font-family: var(--PC-sub-title-2-font-family);
  font-weight: 700;
  color: #ffffff;
  font-size: 22px;
  line-height: 1.2;
  margin-bottom: 0px;
  text-align: left;
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

/* 헤드라인 (단순 홍보 영상이 아닌...) */
.element .text-wrapper-17 {
  display: block;
  text-align: left;
  background: linear-gradient(90deg, #ffffff 0%, #ffb84d 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: var(--PC-sub-title-2-font-family);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.5;
  margin-bottom: 0px;
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

/* 본문 */
.element .tech {
  font-family: var(--PC-body-3-font-family);
  font-weight: 300;
  color: #c0c0c0;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
  max-width: 540px;
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

.element .view-5 {
  position: relative;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  height: auto;                 /* ✅ 콘텐츠 높이에 따라 자동 조정 */
  padding: 40px 0px 40px;      /* ✅ 상하 여백으로 균형 잡기 */
  box-sizing: border-box;
}


.element .div-text-3 {
  display: flex;
  flex-direction: column;
  width: 468px;
  align-items: flex-start;
  gap: 8px;
  position: absolute;
  top: calc(50.00% - 82px);
  left: 40px;
}

.element .num-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.element .top-img {
  display: flex;
  justify-content: flex-end;  /* ✅ 이미지 오른쪽 정렬 */
  width: 100%;
  position: relative;
}

.element .group-1 {
  position: absolute;
  top: 0;
  right: -1px;
  height: 331px;
}


.element .bottom {
  display: flex;
  justify-content: center;    /* 가운데 정렬 */
  align-items: stretch;
  flex-wrap: nowrap;          /* 한 줄 유지 */
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  position: relative;
  height: 401px;
  background-color: #ff9903;
  
}

.element .bottom-img {
  align-items: center;
}

.element .group-2 {
  position: absolute;
  display: block;  
  top: 0;
  right: -1px;
  width: 548px;
  height: 401px;
}


.element .div-label-text {
  display: flex;
  flex-direction: column;
  width: 468px;
  align-items: flex-start;
  gap: 8px;
  position: absolute;
  top: 40px;
  left: 40px;
}


.element .label-2 {
  flex-direction: column;
  align-items: flex-start;
  padding: 3px 6px;
  margin-top: -2.00px;
  background-color: #262626;
  border-radius: 2px;
  display: inline-flex;
  position: relative;
  flex: 0 0 auto;
}

.element .label-2-text{
  display:block;                         /* 줄바꿈 보장 */
  font-family: var(--PC-body-5-font-family, 'Pretendard','Noto Sans KR',sans-serif);
  font-weight: var(--PC-body-5-font-weight, 400);
  font-size: var(--PC-body-5-font-size, 10px);
  line-height: var(--PC-body-5-line-height, 12px);
  letter-spacing: var(--PC-body-5-letter-spacing, -0.01em);
  color:#ffffff;
  word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

/* 숫자 스타일 (1.) */
.element .text-wrapper-18 {
  display: block;
  font-family: var(--PC-body-5-font-family, 'Pretendard','Noto Sans KR',sans-serif);
  font-weight: 700;
  color: #000000;
  font-size: 22px;
  line-height: 1.2;
  margin-bottom: 0px;
  text-align: left;
  word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

/* 헤드라인 (단순 홍보 영상이 아닌...) */
.element .text-wrapper-19 {
  display: block;
  font-family: var(--PC-body-3-font-family);
  font-weight: 300;
  color: #000000;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
  max-width: 350px;
  word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}


.element .divide {
  display: block;
  width: 361px;              /* ✅ 원래 고정 폭 유지 */
  height: 1px;
  margin: 16px 0 16px 0;     /* ✅ 왼쪽 정렬 (auto 제거) */
  object-fit: contain;
  background-color: transparent;
  border: none;
  box-sizing: border-box;
}

.element .frame-2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.element .div-4 {
  position: relative;
  width: 16px;
  height: 16px;
}

.element .layer {
  position: relative;
  width: 61.54%;
  height: 87.49%;
  top: 6.25%;
  left: 19.23%;
}

.element .vector {
  position: absolute;
  width: 100%;
  height: 70.33%;
  top: 0;
  left: 0;
}

.element .vector-2 {
  position: absolute;
  width: 59.41%;
  height: 30.18%;
  top: 69.82%;
  left: 20.29%;
}

.element .text-wrapper-20 {
  position: relative;
  display: flex;
  align-items: left;
  justify-content: left;
  flex: 1;
  font-family: var(--PC-body-5-font-family, 'Pretendard','Noto Sans KR',sans-serif);
  font-weight: 500;
  color: #000000;
  font-size: 12px;
  line-height: 1.6;
}

.element .vector-3 {
  position: absolute;
  width: 15.61%;
  height: 36.02%;
  top: 18.75%;
  left: 6.25%;
}

.element .vector-4 {
  position: absolute;
  width: 15.61%;
  height: 36.02%;
  top: 18.75%;
  left: 78.15%;
}

.element .vector-5 {
  position: absolute;
  width: 58.33%;
  height: 21.85%;
  top: 71.90%;
  left: 20.84%;
}

.element .vector-6 {
  position: absolute;
  width: 58.33%;
  height: 62.83%;
  top: 6.25%;
  left: 20.84%;
}

/* 📱 태블릿 (≤1024px) */
@media (max-width: 1024px) {
  .element .view-why1 {
    width: 100%;
    max-width: 640px;             /* ✅ 고정 폭 */
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
  }

  .element .top,
  .element .bottom {
    flex-direction: column;       /* 가로 → 세로 */
    align-items: center;
    height: auto;
  }

  .element .div-text-3,
  .element .div-label-text {
    position: static;
    width: 100%;
    max-width: 640px;             /* ✅ 동일 폭 유지 */
    padding: 32px 24px;
    box-sizing: border-box;
  }

@media (max-width: 1024px) {
  .element .group-1 {
    position: relative;
    width: 494px;        /* ✅ 고정 폭 */
    height: 331px;       /* ✅ 고정 높이 */
    margin-left: auto;     /* ✅ 중앙 정렬 핵심 */
    margin-right: 0 auto;
  }

  .element .group-2 {
    position: relative;
    width: 548px;        /* ✅ 고정 폭 */
    height: 401px;       /* ✅ 고정 높이 */
    margin-left: auto;     /* ✅ 중앙 정렬 핵심 */
    margin-right: auto;
  }
}

  .element .top,
  .element .bottom {
    margin: 0 auto;
  }
}

/* 📲 모바일 (≤768px) */
@media (max-width: 768px) {
  .element .view-why1 {
    width: 100%;
    max-width: 350px;             /* ✅ 모바일 기준 폭 */
    margin: 0 auto;
    border-radius: 10px;
    overflow: hidden;
  }

  .element .div-text-3,
  .element .div-label-text {
    position: static;
    width: 100%;
    max-width: 350px;             /* ✅ 동일 폭 유지 */
    padding: 20px 16px;
    box-sizing: border-box;
  }

@media (max-width: 768px) {
  .element .group-1 {
    position: relative;
    width: 494px;        /* ✅ 원본 유지 */
    height: 331px;
    margin-left: auto;      /* ✅ 오른쪽 정렬 */
    margin-right: 0;
  }

  .element .divide {
    width: calc(100% - 48px);  /* ✅ 좌우 padding 24px 기준 */
    margin: 16px auto;         /* ✅ 중앙 정렬로 변경 */
  }
  
  .element .group-2 {
    position: relative;
    width: 548px;        /* ✅ 원본 유지 */
    height: 401px;  
    margin-left: auto;     /* ✅ 중앙 정렬 핵심 */
    margin-right: auto;
  }
}

  .element .top,
  .element .bottom {
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    gap: 0;
  }
}

.element .section-5-2-top-left {
  display: flex;
  flex-direction: column;
  width: 468px;
  align-items: flex-start;
  gap: 8px;
  position: absolute;
  top: 70px;
  left: 40px;
}

.element .text-wrapper-22 {
  font-family: var(--PC-sub-title-2-font-family, 'Pretendard');
  font-weight: 600;
  font-size: 12px;
  color: #B26B00;
  white-space: nowrap;
}

.element .label-pre-production {
  display: flex;
  align-items: flex-end;        /* ✅ 라인 bottom에 붙도록 */
  justify-content: center;
  width: 100%;
  max-width: 1080px;
  margin: 40px auto;
  height: 38px;
  position: relative;
  box-sizing: border-box;
}

.element .process-left,
.element .process-right {
  flex: 1;
  height: 100%;
  background-repeat: no-repeat;
  background-position-y: bottom;
  background-size: auto;      /* ✅ 원본 크기 그대로 유지 */
  opacity: 0.9;
}

/* 왼쪽 라인 */
.element .process-left {
  background-position: left bottom;
}

/* 오른쪽 라인 */
.element .process-right {
  background-position: right bottom;
}
.element .bottom-2 {
  background-color: #fffaea;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  padding: 60px 40px;
  border-radius: 0 0 12px 12px;
  box-sizing: border-box;
}

.element .process-center {
  flex-shrink: 0;              /* ✅ 줄어들지 않음 */
  position: relative;
  z-index: 2;
  background-color: #fffaea;   /* ✅ 라인 가림 */
  padding: 0 12px;
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.element .bottom-2-level {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1080px;
  align-items: flex-start;
  gap: 24px;
}


.element .div-contents {
  position: relative;
  overflow: visible;
}


.element .div-text-5 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.element .num-title-2 {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.element .text-wrapper-24 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--PC-sub-title-4-font-family);
  font-weight: var(--PC-sub-title-4-font-weight);
  color: #b26b00;
  font-size: var(--PC-sub-title-4-font-size);
  text-align: center;
  letter-spacing: var(--PC-sub-title-4-letter-spacing);
  line-height: var(--PC-sub-title-4-line-height);
  white-space: nowrap;
  font-style: var(--PC-sub-title-4-font-style);
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

.element .text-wrapper-25 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  font-family: var(--PC-sub-title-4-font-family);
  font-weight: var(--PC-sub-title-4-font-weight);
  color: #000000;
  font-size: var(--PC-sub-title-4-font-size);
  text-align: center;
  letter-spacing: var(--PC-sub-title-4-letter-spacing);
  line-height: var(--PC-sub-title-4-line-height);
  white-space: nowrap;
  font-style: var(--PC-sub-title-4-font-style);
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

.element .text-wrapper-26 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: "Pretendard-Regular", Helvetica;
  font-weight: 400;
  color: #303030;
  font-size: 14px;
  text-align: center;
  letter-spacing: -0.50px;
  line-height: 20px;
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

.element .text-wrapper-27 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: "Pretendard-Regular", Helvetica;
  font-weight: 400;
  color: #303030;
  font-size: 12px;
  text-align: center;
  letter-spacing: -0.50px;
  line-height: 20px;
}

.element .text-wrapper-28 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: "Pretendard-Regular", Helvetica;
  font-weight: 400;
  color: #B26B00;
  font-size: 12px;
  text-align: center;
  letter-spacing: -0.50px;
  line-height: 20px;
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

.element .contents {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

/* ✅ 가운데 수평 라인 (항상 보이도록 z-index 낮춤) */
.element .contents::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #ecdaa3;
  transform: translateY(-50%);
  z-index: 0; /* 💡 카드보다 아래 */
}

/* ✅ 카드 공통 */
.element .content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fffaea;
  padding: 24px 16px;
  z-index: 1; /* 수평선 위로는 올리지 않음 */
}

/* ✅ 카드 간 세로 라인 */
.element .content::after {
  content: "";
  position: absolute;
  top: 24px;
  bottom: 24px;
  right: 0;
  width: 1px;
  background-color: #ecdaa3;
}

/* ✅ 데스크탑 (3열) — 3, 6번째는 오른쪽 라인 제거 */
.element .content:nth-child(3n)::after {
  display: none;
}

.element .section-5-3-top-left {
  display: flex;
  flex-direction: column;
  width: 468px;
  align-items: flex-start;
  gap: 8px;
  position: absolute;
  top: 70px;
  left: 40px;
}




/* ✅ 태블릿 (2열) */
@media (max-width: 1080px) {
  .element .contents {
    grid-template-columns: repeat(2, 1fr);
  }

  /* 2, 4, 6번째 카드 오른쪽 라인 제거 (짝수만 제거) */
  .element .content:nth-child(2n)::after {
    display: none;
  }

  /* 수평선 가운데 유지 */
  .element .contents::before {
    top: 50%;
    transform: translateY(-50%);
    z-index: 0;
  }
  
  .element .section-5-2-top-left,
  .element .section-5-3-top-left {
    position: static;
    width: 100%;
    max-width: 640px;             /* ✅ 동일 폭 유지 */
    padding: 32px 24px;
    box-sizing: border-box;
  }
  .element .top-img {
      display: flex;                  /* 이미지가 가로로 정렬 */
      justify-content: center;        /* 중앙 정렬 */
      align-items: flex-start;        /* 상단 기준 정렬 */
      width: 100%;                    /* 부모 컬럼 전체 폭에 맞춤 */
      max-width: 1080px;              /* 상위 콘텐츠 영역과 동일한 폭 제한 */
      margin: 0 auto;                 /* 가운데 정렬 */
      box-sizing: border-box;
      overflow: hidden;               /* 혹시 넘치는 경우 숨김 */
}


}

/* ✅ 모바일 (1열) */
@media (max-width: 768px) {
  .element .contents {
    grid-template-columns: 1fr;
  }

  /* 수직 라인 전부 제거 */
  .element .content::after {
    display: none;
  }

  /* 수평선은 아래쪽으로 이동 */
  .element .contents::before {
    top: auto;
    bottom: 0;
    transform: none;
  }
  
  .element .section-5-2-top-left,
  .element .section-5-3-top-left {
    position: static;
    width: 100%;
    max-width: 350px;             /* ✅ 동일 폭 유지 */
    padding: 20px 16px;
    box-sizing: border-box;
  }
    
  .element .top-img {
      display: flex;                  /* 이미지가 가로로 정렬 */
      justify-content: center;        /* 중앙 정렬 */
      align-items: flex-start;        /* 상단 기준 정렬 */
      width: 100%;                    /* 부모 컬럼 전체 폭에 맞춤 */
      max-width: 1080px;              /* 상위 콘텐츠 영역과 동일한 폭 제한 */
      margin: 0 auto;                 /* 가운데 정렬 */
      box-sizing: border-box;
      overflow: hidden;               /* 혹시 넘치는 경우 숨김 */
}
  
  .element .top-img img {
  display: block;
  width: 100%;                /* 부모(.top-img) 폭에 딱 맞춤 */
  height: auto;               /* 비율 유지 */
  object-fit: cover;          /* 프레임을 꽉 채움 (잘림 허용) */
  border: none;
  border-radius: 0;
}
}

.element .section-2 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;             /* ✅ 줄바꿈 허용 */
  margin: 30px auto;
  position: relative;
  background-color: #ff9903;
  padding: 50px 0;
  
}

.element .section-2-banner {
  display: flex;
  flex-wrap: wrap;             /* 줄바꿈 허용 */
  justify-content: flex-start; /* 텍스트를 왼쪽 정렬 */
  align-items: flex-start;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  box-sizing: border-box;
}


.element .section-2-banner-text {
  display: flex;
  flex-direction: column;
  width: 468px;
  padding: 24px 40px;
  box-sizing: border-box;
  text-align: left;             /* ✅ 텍스트 왼쪽 정렬 */
  align-items: flex-start;      /* ✅ 요소 왼쪽 정렬 */
  gap: 8px;
}

.element .section-2-img {
  width: 100%;
  max-width: 600px;
  display: flex;
  justify-content: center;
  margin: 25px auto 0;
}

.element .group-3 {
  width: 100%;
  max-width: 500px;
  height: auto;
  object-fit: contain;
  position: static;   
}

.element .text-wrapper-banner {
  position: relative;
  display: flex;
  align-items: left;
  justify-content: left;
  align-self: stretch;
  font-family: "Pretendard-Regular", Helvetica;
  font-weight: 600;
  color: #303030;
  font-size: 12px;
  text-align: center;
  letter-spacing: -0.50px;
  line-height: 20px;
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}


/* 전체 섹션 */
.element .section-1 {
  width: 100%;
  background-color: #000000;
  padding: 80px 0;
  display: flex;
  justify-content: center;
}

.element .section-1-banner {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}


/* 카드 전체 영역 */
.element .div-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 데스크탑 3열 */
  gap: 24px;
  justify-content: center;
  margin: 40px 0;
  width: 100%;
  box-sizing: border-box;
}

/* 개별 카드 */
.element .card {
  background-color: #1a1a1a;
  border-radius: 6px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.element .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.35);
}

/* 카드 이미지 */
.element .case-img {
  width: 100%;
  overflow: hidden;
}

.element .case-img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* 카드 텍스트 */
.element .div-text {
  padding: 16px;
  text-align: left;
  background-color: #303030;
}

.element .text-wrapper-3 {
  font-family: var(--PC-sub-title-4-font-family);
  font-weight: 700;
  color: #ffffff;
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 6px;
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

.element .text-wrapper-4 {
  font-family: var(--PC-body-3-font-family);
  font-weight: 400;
  color: #bbbbbb;
  font-size: 14px;
  line-height: 1.6;
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

/* 인용문 */
.element .quote {
  display: flex;
  flex-direction: column;
  align-items: center;     /* 내부 요소 가운데 */
  justify-content: center;
  text-align: center;
  width: 100%;
  margin: 32px auto 0;     /* ✅ 좌우 auto로 컨테이너 가운데 정렬 */
}

.element .text-wrapper-6 {
  font-family: var(--PC-body-2-font-family);
  font-size: 16px;
  font-weight: 400;
  color: #cccccc;
  line-height: 1.8;
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

.element .label {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #222;
  border-radius: 20px;
  padding: 6px 14px;
  margin-top: 12px;
}

.element .text-wrapper-7 {
  color: #ffffff;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
    word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
}

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

/* 💻 태블릿 (≤1080px): 2열 → 카드 중앙정렬 + max-width 350px */
@media (max-width: 1080px) {
  .element .div-cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 20px;
  }

  .element .card {
    width: 100%;
    max-width: 350px; /* ✅ 태블릿에서도 고정 */
  }
}

  .element .quote {
    max-width: 350px;      /* ✅ 가운데 + 350폭 */
  }

/* 📱 모바일 (≤768px): 1열 + 가운데 정렬 + 동일한 max-width 유지 */
@media (max-width: 768px) {
  .element .div-cards {
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }

  .element .card {
    width: 100%;
    max-width: 350px; /* ✅ 모바일 동일 */
  }

  .element .quote {
    max-width: 350px;      /* ✅ 모바일도 350폭 */
  }
}
  
  .element .section-1 {
    padding: 60px 0;
  }

  .element .text-wrapper-36,
  .element .text-wrapper-15 {
    font-size: 20px;
      word-break: keep-all;      /* ✅ 한글 단어 단위로 줄바꿈 */
  overflow-wrap: break-word; /* ✅ 영어/긴 URL은 자연스럽게 줄바꿈 허용 */
  }



/*******************************
  🔥 전체 폼 섹션 스타일
*******************************/
.section-form {
  width: 100%;
  background-color: #000;
  padding: 100px 0;
  display: flex;
  justify-content: center;
}

.form-container {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 60px;
  width: 100%;
  max-width: 1080px;
  padding: 0 20px;
}

/* 🟩 핵심! form-left, form-right 같은 비중 확보 */
.form-left,
.form-right {
  flex: 1 1 0;   /* ← 무조건 50:50 공간 차지 */
  min-width: 0;  /* ← Flex overflow 방지 */
}

/************************************
  LEFT
*************************************/
.form-left {
  display: flex;
  flex-direction: column;
  gap: 32px;
  justify-content: center;
}

.form-left-text {
  font-size: 38px;
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
}

.form-left-CTA {
  background: #f4a51c;
  padding: 14px 32px;
  border-radius: 4px;
  width: fit-content;
  cursor: pointer;
}

/************************************
  RIGHT
*************************************/
.form-right {
  display: flex;
  justify-content: center;
  align-items: center;
}

.form-right img.group-5 {
  width: 100%;
  max-width: 520px;
  object-fit: cover;
  border-radius: 8px;
}

/************************************
  MOBILE
*************************************/
@media (max-width: 768px) {
  .form-container {
    flex-direction: column;
    align-items: center;  /* 모바일에서는 다시 중앙 */
    text-align: center;
    gap: 40px;
  }

  .form-left {
    align-items: center;
  }

  .form-left-CTA {
    margin: 0 auto;
  }

  .form-right img.group-5 {
    max-width: 360px;
  }

  .form-left-text {
    font-size: 24px;
  }
}



#footer {
  background-color: #0d1117;
  color: #bfc5cc;
  padding: 40px 0 10px;
  font-size: 14px;
}

.container-footer {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

/* 모든 row 공통 */
.footer-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
  padding-right: 24px;   /* 👉 오른쪽 여백 추가 */
}

.menu-row a {
  color: #ffffff;
  text-decoration: none;
}

.menu-row .bold {
  font-weight: 700;
}

/* 구분선 | */
.divider {
  width: 1px;
  height: 12px;
  background: #3e4349;
  display: inline-block;
}

.copy-row {
  justify-content: flex-end;
  margin-top: 20px;
  font-size: 13px;
  color: #868c95;
}

/* 📱 모바일 — 1컬럼 전체 세로 */
@media (max-width: 1079px) {
  .footer-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .divider {
    display: none;
  }

  .copy-row {
    justify-content: flex-start;
    margin-top: 30px;
  }
}