:root{
  --bg:#d0ffd9; --ink:#0f1a14; --muted:#637a6f; --brand:#3b82f6; --brand-2:#8b5cf6;
  --card:#eafff0; --pill:#ecfdf5; --border:#c6e9d3; --danger:#c2410c;
}

body { font-family: 'Noto Sans KR', sans-serif; color: #111; }
a { text-decoration: none; }
h1,h2,h3 { font-weight: 700; }
.section { width: 100%; background-size: cover; background-position: center; }
@font-face {
    font-family: 'Paperlogy-8ExtraBold';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-8ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
}@font-face {
    font-family: 'Paperlogy-5Medium';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-5Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
}


body {
  font-family: 'Paperlogy-5Medium', sans-serif;
}

h1, .section-title {
  font-family: 'Paperlogy-8ExtraBold', sans-serif;
}




*{box-sizing:border-box}
html,body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Pretendard,Apple SD Gothic Neo,Malgun Gothic,Arial,sans-serif;color:var(--ink);background:#2fb3ff;}
section{max-width:1100px;margin:0 auto;padding:28px 20px}
h1,h2,h3{margin:0 0 10px}
p{margin:0 0 8px;color:var(--muted)}


/* =========================================================
   Header & Language dropdown (정리본)
   - 이 파일(custom.css)은 반드시 가장 마지막에 로드
   ========================================================= */


/* 1) 헤더: 항상 최상단 유지 */
.site-header{
  position: sticky;
  top: 0;
  z-index: 10000;                     /* 헤더 레이어 최상단 */
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;

  background: rgba(255,255,255,.6);
  backdrop-filter: saturate(1.5) blur(8px);
  border-bottom: 1px solid #e5f6ea;
}


/* grid → flex 로 교체 */
.site-header > .header-inner{
  width:1100px;
  margin:0 auto;
  padding:10px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between; /* 좌: 로고, 우: 언어버튼 */
  gap:12px;
}

/* (선택) 혹시 줄바꿈 방지하고 싶으면 */
.site-header > .header-inner{ flex-wrap: nowrap; }
/* 로고/태그라인 */
.site-header .brand{ display:inline-flex; align-items:center; gap:10px; min-width:0; }

.site-header #tagline{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* 기본 */
.site-header .logo { height: 48px; display: block; }

/* iPhone Pro/Plus/Max(428), 일부 안드로이드 */
@media (max-width: 430px) { .site-header .logo { height: 28px; } }

/* iPhone 12/13/14(390) */
@media (max-width: 390px) { .site-header .logo { height: 24px; } }

/* 소형 안드로이드(360~375) */
@media (max-width: 360px) { .site-header .logo { height: 22px; } }


/* 오른쪽 언어 영역(버튼) */
.site-header .lang-wrap{
  position: relative;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  grid-column: 3; }

.site-header .lang-btn{
  display:flex; align-items:center; gap:8px;
  padding:6px 10px;
  border:1px solid #cfd9ce;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  min-width:180px;
}
.site-header .lang-btn img{ width:18px; height:14px; border-radius:2px; object-fit:cover; }
.site-header .lang-btn .code{ font-size:12px; color:#6b7c72; text-transform:uppercase; }

/* 2) 언어 드롭다운: 헤더보다 더 위 레이어 */
.site-header .lang-menu{
  position:absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 10002;                       /* 드롭다운이 폼보다/헤더보다 위 */
  background:#fff;
  border:1px solid #cfe7d6;
  border-radius:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  min-width:220px;
  max-height:60vh;
  overflow:auto;
  padding:6px; margin:0; list-style:none;
}
.site-header .lang-item{
  display:flex; align-items:center; gap:8px;
  padding:8px 10px; border-radius:8px; cursor:pointer;
}
.site-header .lang-item img{ width:18px; height:14px; border-radius:2px; object-fit:cover; }
.site-header .lang-item .code{ width:22px; font-size:11px; color:#8aa094; text-transform:uppercase; }
.site-header .lang-item:hover,
.site-header .lang-item[aria-selected="true"]{ background:#f0fbf4; }

/* 접근성 폴백 숨김 */
.visually-hidden{
  position:absolute !important; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0);
  white-space:nowrap; border:0;
}

/* 3) 상담 신청 폼: 헤더/드롭다운보다 낮은 레이어 */
.lead-wrap{
  position: relative;
  z-index: 1; 
    padding:5px;                /* 헤더/언어 < 드롭다운 < 폼 */
}
.lead-wrap select{
  position: relative;                     /* 일부 브라우저 렌더링 대비 */
  z-index: 1;
}


/* 언어 드롭다운은 헤더보다 위 */
.lang-wrap, .lang-btn, .lang-menu { position: relative; z-index: 10001; }
.lang-menu {
  position: absolute; 
  top: calc(100% + 6px); 
  right: 0;
  z-index: 10002;
  background: #fff; 
  border: 1px solid #cfe7d6; 
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  min-width: 220px;
  max-height: 60vh; 
  overflow-y: auto;
  list-style: none;
  margin: 0;
  padding: 6px;
}
.lang-item {
  display: flex; 
  align-items: center; 
  gap: 8px;
  padding: 8px 10px; 
  border-radius: 8px; 
  cursor: pointer;
}
.lang-item:hover, 
.lang-item[aria-selected="true"] { background:#f0fbf4; }


:root{
  --bg-mint:   #D8F8E5; /* 민트(국가/비자) */
  --bg-ivory:  #FFF7E5; /* 아이보리(E비자) */
  --bg-laven:  #F2EDFF; /* 라벤더(F비자) */
  --bg-sky:    #E9F4FF; /* 스카이(FAQ) */
  --bg-banana: #FFF9D9; /* 바나나(절차) */
  --bg-white:  #FFFFFF; /* 흰색(상담폼) */
}

/* 전체 섹션 공통 패딩 (필요하면 유지/조절) */
.section { padding: 68px 0; }
.section .inner{ max-width:1100px; margin:0 auto; padding:0 16px; }

/* 구획 상하단이 자연스럽게 섞이게(선택) */
.section.is-soft{ position:relative; background-clip:padding-box; }
.section.is-soft::before,
.section.is-soft::after{
  content:""; position:absolute; left:0; right:0; height:18px; pointer-events:none;
}
.section.is-soft::before{ top:-18px;    background:linear-gradient(to bottom, rgba(0,0,0,.04), rgba(0,0,0,0)); }
.section.is-soft::after { bottom:-18px; background:linear-gradient(to top,    rgba(0,0,0,.04), rgba(0,0,0,0)); }


/* ① 대출대상국가 및 비자(국가/비자 표) */
#eligibility,               /* 혹시 쓰는 ID */
.section-cnvis,             /* 예비 */
.eligibility                /* 현재 쓰고있는 레이아웃 */
{ background: var(--bg-mint); }

/* ② E비자 조건 & 제출서류 */
/*.visa-section.e-visa { background: var(--bg-ivory); }*/

/* ③ F비자 조건 & 제출서류 */
.visa-section.f-visa { background: var(--bg-laven); }

/* ④ FAQ */
/*.faq-section, #faq { background: var(--bg-sky); }*/

/* ⑤ 대출신청 절차(4단계) */
.steps-section, .flow-section, #flow { background: var(--bg-banana); }

/* ⑥ 상담 신청폼(컨택트 폼) — 깔끔한 흰색 */
.lead-wrap, .apply-wrap, #apply, .form-section { background: var(--bg-white); }


/* E비자 섹션 전체 배경을 '풀블리드'로 깐다 */
.visa-section.e-visa{
  position: relative;   /* ::before 기준점 */
  padding: 60px 0;      /* 섹션 위아래 여백 */
  z-index: 0;           /* 배경 레이어 뒤로 보낼 준비 */
}

/* 화면 전체 너비(100vw) 배경판 */
.visa-section.e-visa::before{
  content:"";
  position:absolute;
  top:0; bottom:0;
  left:50%;             /* 가운데 기준 */
  transform: translateX(-50%);
  width:100vw;          /* 뷰포트 전체 너비 */
  /* 원하시는 색상 */
  z-index:-1;           /* 카드 등 콘텐츠 뒤로 */
}

/* 안쪽 카드(조건/서류)는 흰색 박스로 유지 */
.visa-section.e-visa .card{
  background:#fff;
  border:1px solid #f2d6b3;
    text-align: center;
}

/* 대출대상국가 및 비자 */
.eligibility{ position:relative; padding:60px 0; z-index:0; }
.eligibility::before{
  content:""; position:absolute; inset:0;
  left:50%; transform:translateX(-50%); width:100vw;
  background:#c1e8ff;   /* 라벤더 */
  z-index:-1;
}

/* F 비자 */
.visa-section.f-visa{ position:relative; padding:60px 0; z-index:0; }
.visa-section.f-visa::before{
  content:""; position:absolute; inset:0;
  left:50%; transform:translateX(-50%); width:100vw;
  background:#c1e8ff;   /* 라벤더 */
  z-index:-1;
}

/* FAQ */
.faq-section{ position:relative; padding:60px 0; z-index:0; }
.faq-section::before{
  content:""; position:absolute; inset:0;
  left:50%; transform:translateX(-50%); width:100vw;
  /* 스카이 */
  z-index:-1;
}

/* 대출 신청 절차 */
.steps-section{ position:relative; padding:60px 0; z-index:0; }
.steps-section::before{
  content:""; position:absolute; inset:0;
  left:50%; transform:translateX(-50%); width:100vw;
  background:#c1e8ff;   /* 라벤더 */
  z-index:-1;
}


/* 안내 카드 (이미 있으면 생략) */
.notice-card{background:#e9fbe2;border:1px solid #bde5b3;border-radius:16px;padding:16px 18px;margin:0 0 18px}
.notice-head{font-weight:800;color:#197e00;margin-bottom:8px}
.notice-list{margin:0;padding-left:18px;line-height:1.7}

/* 폼 레이아웃 (기존 lead-* 클래스를 사용) */
#loan-form{display:grid;gap:12px}
.lead-row{display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr}
.lead-row.two{grid-template-columns:1fr 1fr}
.lead-row.full{grid-template-columns:1fr}
.lead-field label{display:block;font-weight:700;margin-bottom:6px}
.lead-input,.lead-select{width:100%;border:2px solid #2753d7;border-radius:10px;padding:13px 14px;font-size:15px}
.lead-radio{display:flex;gap:16px;border:2px solid #2753d7;border-radius:10px;padding:12px 14px;background:#fff}
.lead-help{text-align:center;color:#374151;margin:8px 0 0}
.lead-submit{display:flex;justify-content:center}
.lead-btn{background:#1f48ff;color:#fff;font-weight:900;border:none;border-radius:40px;padding:14px 26px;box-shadow:0 8px 18px rgba(31,72,255,.22);cursor:pointer}
@media (max-width:900px){ .lead-row{grid-template-columns:1fr} .lead-row.two{grid-template-columns:1fr} }



/* 히어로 박스 기본 */
.hero{
  position: relative;
  max-width: 1100px;
  margin: 24px auto;
  padding: 48px 48px;
  border-radius: 24px;
  background: linear-gradient(180deg,#c1e8ff 0%, #72ccff 100%); /* 연녹 그라데이션 */
  overflow: hidden;  /* 둥근 모서리 안에 배경을 가둠 */
  min-height: 420px; /* 시안 높이감 */
}

/* 텍스트는 왼쪽 폭 제한 */
.hero-inner{
  position: relative;
  z-index: 1;        
  max-width: 640px; 
    position: relative; 
    z-index:1;
}

/* 파란 블롭이 따로 있다면 숨김(시안엔 없음) */
.hero-blob{ display: none !important; }

/* ===== 배경(우측 인물) 레이어 ===== */
.hero--art{
  --hero-art: url(/lad2/img/001.jpg);   /* ← 텍스트 없는 인물 이미지 경로로 교체 */
}
.hero--art::after{
  content:"";
  position:absolute; inset:0;
  background:
    url("/lad2/img/001-1.png") right 24px bottom -8px / 1080px auto no-repeat; /* 인물 */
  /* 필요시 위 한 줄을 ↓로 바꾸면 변수 사용 가능 */
  /* background: var(--hero-art) right 24px bottom -8px / 820px auto no-repeat; */
  z-index: 0;  /* 항상 뒤 */
}


.hero-kicker{
  margin: 4px 0 24px;
  font-size: 20px; line-height: 1.4; font-weight: 600;
  color: #1b2a28; opacity:.85;
}

.hero-title{
  margin: 0 0 20px;
  font-size: 48px; line-height: 1.18; font-weight: 800;
  letter-spacing: -0.02em; color:#13211f;
}
.hero-title strong{ font-weight: 900; }

.hero-sub{
  margin: 0 0 28px;
  font-size: 20px; line-height: 1.6; color:#6b7c72;
}
.hero-sub .accent{
  color:#2b6cff; font-weight: 800;
}

/* ---------- 버튼 ---------- */
.cta-row{ display:flex; gap:14px; align-items:center; flex-wrap:wrap }

.btn{ display:inline-flex; align-items:center; justify-content:center;
  text-decoration:none; border-radius:18px; transition:transform .06s ease, box-shadow .2s ease;
}


/* === Loan form fields: 4대보험 박스처럼 입력박스 통일 === */
#loan-form label{
  display:block; font-weight:700; font-size:14px; margin:8px 0 6px; color:#111827;
}

#loan-form input[type="text"],
#loan-form input[type="tel"],
#loan-form input[type="number"],
#loan-form input[type="date"],
#loan-form select,
#loan-form textarea{
  width:100%;
  box-sizing:border-box;
  border:2px solid #2753d7;         /* 동일한 파랑 테두리 */
  border-radius:10px;                /* 동일한 라운드 */
  padding:13px 14px;
  font-size:15px; line-height:1.2;
  background:#fff; outline:none;
}

/* 포커스 시 강조 */
#loan-form input:focus,
#loan-form select:focus,
#loan-form textarea:focus{
  border-color:#1f48ff;
  box-shadow:0 0 0 3px rgba(31,72,255,.15);
}

/* select 기본 화살표 커스텀(모바일/브라우저 공통) */
#loan-form select{
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, #2753d7 50%),
    linear-gradient(135deg, #2753d7 50%, transparent 50%),
    linear-gradient(to right, #fff, #fff);
  background-position: calc(100% - 18px) 17px, calc(100% - 13px) 17px, 0 0;
  background-size: 5px 5px, 5px 5px, 100% 100%;
  background-repeat: no-repeat;
}

/* 4대보험 라디오 박스(현재 모양 유지) */
#loan-form .lead-radio{
  display:flex; align-items:center; gap:16px;
  border:2px solid #2753d7; border-radius:10px;
  padding:12px 14px; background:#fff;
}
#loan-form .lead-radio label{ display:flex; align-items:center; gap:6px; font-weight:600; }
#loan-form .lead-radio input{ margin-right:6px; }





/* 메인(파란) 버튼 — 시안처럼 크게 */
.btn-hero{
  padding: 18px 32px;
  font-size: 24px; font-weight: 900; letter-spacing:-0.01em;
  color:#fff;
  background: linear-gradient(180deg,#3b7bff 0%, #2d5bff 100%);
  box-shadow: 0 6px 20px rgba(45,91,255,.28), 0 1px 0 rgba(255,255,255,.35) inset;
}
.btn-hero:hover{ transform: translateY(-1px); box-shadow: 0 10px 28px rgba(45,91,255,.36) }

/* 세컨더리(흰색) 버튼 */
.btn-ghost{
  padding: 10px 16px;
  font-size: 16px; font-weight: 700;
  color:#5a48e8; background:#fff; border:1px solid #e9e6ff;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.btn-ghost:hover{ background:#fafaff }

/* ---------- 반응형 ---------- */
@media (max-width: 992px){
  .hero-title{ font-size: 40px }
  .btn-hero{ font-size: 22px; padding:16px 28px }
}
@media (max-width: 768px){
  .hero-title{ font-size: 34px }
  .hero-kicker{ font-size:18px }
  .hero-sub{ font-size:18px }
  .btn-hero{ font-size:20px; padding:14px 24px }
}

/* 버튼/텍스트 여백 살짝 보정(선택) */
.cta-row{ margin-top: 18px; display: flex; gap: 12px; }

/* ===== 반응형: 화면 줄어들면 배경 축소/숨김 ===== */
@media (max-width: 1200px){
  .hero--art::after{ background-size: 680px auto; background-position: right 8px bottom -16px; }
}
@media (max-width: 992px){
  .hero--art::after{ background-size: 560px auto; background-position: right -40px bottom -24px; }
  .hero-inner{ max-width: 560px; }
}
@media (max-width: 768px){
  .hero--art::after{ display: none; }  /* 모바일에선 인물 숨기고 텍스트만 */
  .hero{ padding: 36px 20px; min-height: auto; }
  .hero-inner{ max-width: none; }
}


/* 공통 카드 기본(있다면 생략 가능) */
.kpi-grid{
  display:grid; gap:20px;
  grid-template-columns: repeat(2, minmax(0,1fr));
}
.kpi-card{
  border-radius:18px; padding:24px; background:#c1e8ff;
  border:1px solid rgba(0,0,0,.06);
}
.kpi-card .kpi-value{
  font-size:28px; font-weight:800; letter-spacing:-0.01em; color:#1c2b2a;
}

/* ★ 금리 카드만 붉은색 강조 */
.kpi-card[data-kpi="rate"]{
  background:#f7f2f2;                /* 은은한 배경(선택) */
  border:1px solid #f2d1d3;          /* 옅은 붉은 테두리(선택) */
}
.kpi-card[data-kpi="rate"] .kpi-value{
  color:#e11d48;                      /* 붉은 강조색 */
  font-size:40px;                     /* 더 크게 */
  line-height:1.15;
  text-shadow: 0 1px 0 #fff;          /* 시안 느낌 살짝 */
}

/* 공통값 */
.kpi-card .kpi-value {
  font-size: 28px;
  font-weight: 800;
  color: #1c2b2a;
}

/* 대출한도 값 빨간색 */
.kpi-card[data-kpi="limit"] .kpi-value {
  color: #e11d48;      /* 붉은색 강조 */
}

/* 대출금리 값 빨간색 (더 크게) */
.kpi-card[data-kpi="rate"] .kpi-value {
  color: #e11d48;
  font-size: 40px;
  line-height: 1.15;
}

/* 모바일 폰트 보정 */
@media (max-width: 768px){
  .kpi-card .kpi-value{ font-size:24px }
  .kpi-card[data-kpi="rate"] .kpi-value{ font-size:32px }
  .kpi-grid{ grid-template-columns: 1fr }
}


/* 섹션 타이틀 */
.eligibility{
  max-width: 1100px; margin: 32px auto;
}
.eligibility-title{
  font-size: 28px; font-weight: 900; margin-bottom: 16px; text-align: center;
}

/* 두 박스 레이아웃 */
.eligibility-grid{
  display: grid; gap: 20px;
  /*grid-template-columns: repeat(2, minmax(0,1fr));*/
}
.eligibility-card{
  background: #f3fbff;       /* 연녹 */
  border: 2px solid #2a2a2a10;
  border-radius: 18px;
  padding: 20px 20px 16px;
}
.eligibility-card h3{
  font-size: 22px; font-weight: 900; margin: 4px 0 14px;
    text-align: center;
}

/* 국가 배지 */
.country-pills{
  display: flex; flex-wrap: wrap; gap: 10px 12px; list-style: none; padding:0; margin:0; justify-content: center;
}
.pill{
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 12px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #e6e6e6;
  box-shadow: 0 1px 0 rgba(255,255,255,.6) inset;
  font-weight: 700; font-size: 14px;
}
.pill .flag{
  width: 18px; height: 14px; display: inline-block; border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.08);
}
.pill-other{
  background:#f8fafc; color:#111827;
}

/* 비자 텍스트(우측 큰 숫자 스타일) */
.visa-list{
  display:flex; flex-direction:column; gap:14px;
  font-weight:900; font-size:28px; letter-spacing:2px;
}

/* 반응형 */
@media (max-width: 900px){
  .eligibility-grid{ grid-template-columns: 1fr; }
  .visa-list{ font-size:24px }
}


/* 섹션 레이아웃 */
.visa-section{max-width:1100px;}
.sec-title{font-size:30px;font-weight:900;margin:0 0 14px}

/* 2열 카드 */
.visa-grid{
  display:grid;gap:20px;
  /*grid-template-columns:repeat(2,minmax(0,1fr));*/
}
.card{
  background:#f3fbff; /* 연녹 */
  border:2px solid rgba(0,0,0,.08);
  border-radius:18px;
  padding:22px 22px 18px;
    text-align: center;
}
.card-title{font-size:22px;font-weight:900;margin:0 0 12px; text-align: center;}

/* 비자 배지 */
.visa-badges{list-style:none;margin:10px 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:10px; justify-content: center;}
.badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:64px;height:40px;padding:0 14px;border-radius:12px;
  background:#e8f3ff;border:1px solid #b6d3ff;
  font-weight:900;font-size:20px;letter-spacing:1px;color:#0f1a2b;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset;
}

/* 조건 리스트 */
.req-list{list-style:none;margin:6px 0 8px;padding:0;display:flex;flex-direction:column;gap:10px;font-size:18px;font-weight:800}
.accent-red{color:#e11d48} /* 붉은 강조 */

/* 제출서류 */
.doc-lead{font-size:18px;font-weight:800;margin:8px 0 10px}
.doc-list{counter-reset:doc;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:18px;font-weight:800}
.doc-list li{display:flex;gap:10px;align-items:flex-start}
.doc-list .num{
  color:#e11d48;font-weight:900;min-width:20px;line-height:1
}
.doc-sub{display:block;font-size:14px;font-weight:600;color:#1d2a2a;margin-left:30px;opacity:.8}

/* 붉은 안내문 */
.visa-note{
  margin-top:14px;font-size:16px;font-weight:900;
}

/* 반응형 */
@media (max-width:900px){
  .visa-grid{grid-template-columns:1fr; padding: 0 20px;}
  .badge{min-width:56px;height:36px;font-size:18px}
}


.accent-red{ color:#e11d48; }

/* 조건 리스트 */
.req-list{
  list-style:none; margin:6px 0 8px; padding:0;
  display:flex; flex-direction:column; gap:10px;
  font-size:18px; font-weight:800; line-height:1.5;
}
.req-list li{ white-space:normal; word-break:keep-all; }

.sec-title {
  font-size: 28px;
  font-weight: 900;
  margin: 0 0 20px 0;
  text-align: left;
  color: #1e293b; /* 진한 남색 */
}

/* 제출서류 – 긴 문구 줄임 없이 모두 보이게 */
.doc-list{
  counter-reset:doc; list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:12px;
  font-size:18px; font-weight:800; line-height:1.55;
}
.doc-list li{
  display:flex; gap:10px; align-items:flex-start;
  white-space:normal; word-break:keep-all;
}
.doc-list .num{
  color:#e11d48; font-weight:900; min-width:20px; line-height:1.2;
}
.doc-sub{
  display:block; margin-top:4px; font-size:14px; font-weight:600;
  color:#1d2a2a; opacity:.9; white-space:normal; word-break:keep-all; margin-left: 0;
}



.footer-logo {
  display: block;
  max-height: 40px; /* 버튼 높이에 맞춰 조정 */
  width: auto;
}


/* 반응형 */
@media (max-width:900px){
  .req-list, .doc-list{ font-size:16px }
}


/* ---- FAQ Section ---- */
/* 컨테이너 */
.faq-section{
 
  max-width: 1100px;
}

/* 2열 × 3행 그리드 */
.faq-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;        /* 카드 높이 자동 맞춤 */
    padding: 0px 20px;
}

/* 카드 공통 */
.faq-card{
  background: #f3fbff;
  border: 2px solid #9de2b2;
  border-radius: 18px;
  padding: 24px 26px;

  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 170px;           /* 카드 동일 높이 확보 */
}

/* 제목/본문 */
.faq-q{ font-size: 24px; font-weight: 900; margin: 0 0 10px; }
.faq-a{ font-size: 16px; line-height: 1.7; font-weight: 700; margin: 0; }

/* 경고 카드 – span 해제(중요) */
.faq-card.warn{
  grid-column: auto !important; /* 혹시 기존에 1 / -1 같은 span이 있으면 덮어쓰기 */
}

/* 모바일: 1열 스택 */
@media (max-width: 900px){
  .faq-grid{ grid-template-columns: 1fr; }
  .faq-card{ min-height: 150px; }
  .faq-q{ font-size: 20px; }
}

.faq-head{
  display:flex; align-items:center; gap:14px;
  margin-bottom:18px; justify-content: center;
}
.faq-logo{ height:38px; }
.faq-title{
  font-size:42px; font-weight:900; letter-spacing:.2px; 
}



/* 경고 카드 */
.faq-card.warn{
  background:#d7f6cf;
  border-color:#9de2b2;
}
.faq-card.warn .red{ color:#e11d48; font-weight:900; }
.faq-warn{
  list-style:none; margin:10px 0 0; padding:0;
  font-size:16px; font-weight:800; line-height:1.7;
}
.faq-warn .num{ color:#e11d48; font-weight:900; margin-right:4px; }

/* 반응형 */
@media (max-width: 900px){
  .faq-grid{ grid-template-columns: 1fr; }
  .faq-title{ font-size:32px; }
  .faq-q{ font-size:20px; }
  .faq-card{ padding:20px; }
}



/* 섹션 컨테이너 */
.steps-section{
  max-width: 1100px;
  margin: 64px auto;
}

/* 상단 타이틀 */
.steps-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
    justify-content: center;
}
.steps-brand{ height:34px; }
.sec-title{
  font-size: 34px;
  font-weight: 900;
  margin: 0; 
  padding-bottom: 20px;
    text-align: center;
    
}

/* 2×2 카드 그리드 */
.steps-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

/* 카드 */
.step-card{
  position: relative;
  background: #f3fbff;             /* 연두 배경 */
  border: 3px solid #9de2b2;        /* 연두 테두리 */
  border-radius: 18px;
  padding: 28px 26px 26px 26px;
  min-height: 175px;
  display:flex;
  flex-direction: column;
  justify-content: center;
  
}

/* 빨간 아웃라인 숫자 */
.step-card .num{
  position: absolute;
  top: 24px; left: 36px;
  font-size: 64px;
  font-weight: 900;
  color: #fff;                      /* 속 채움(흰) */
  -webkit-text-stroke: 4px #ff3b30; /* 빨간 외곽선 */
  text-stroke: 4px #ff3b30;
  line-height: 0.9;
}

/* 숫자 영역만큼 텍스트를 오른쪽으로 밀어줌 */
.step-card .step-title,
.step-card .step-body{
  margin-left: 88px;         /* ← 숫자 폭 + 여유 */
}

/* 카드 상단 패딩 약간 늘려서 여유 */
.step-card{
  padding-top: 34px;         /* 기존 28px -> 34px 정도 */
}


/* 타이틀/본문 */
.step-title{
  margin: 0 0 10px 0;
  font-size: 28px;
  font-weight: 900;
}
.step-body{
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
}
.step-body a{
  color:#0b66c3;
  text-decoration: underline;
  word-break: break-all;
}

/* 반응형 */
@media (max-width: 900px){
  .steps-grid{ grid-template-columns: 1fr; padding: 0 20px; }
  .step-card{ min-height: 160px; padding-top: 30px;}
  .step-title{ font-size: 22px; }
  .step-body{ font-size: 16px; }
   .step-card .num{
    top: 10px; left: 14px;
    font-size: 56px;
    -webkit-text-stroke: 3px #ff3b30;
    text-stroke: 3px #ff3b30;
  }
  .step-card .step-title,
  .step-card .step-body{
    margin-left: 74px;  
}
}

/* 공통 래퍼 */
.apply-wrap{
  background:#e9fff1;        /* 첫 번째 폼 섹션과 같은 톤이면 그대로 사용 */
  padding:32px 16px;
}
.apply-inner{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns: 1.2fr 1.8fr;
  gap:24px;
  align-items:start;
}

/* 좌측 비주얼 */
.apply-visual{
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  background:#d7ecff;
}
.apply-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* 우측 카드 (첫 번째 폼 카드와 동일한 결) */
.apply-box{
  background:#fff;
  border-radius:20px;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  padding:28px;
}
.apply-header{ margin-bottom:16px; }
.apply-title{
  font-size:32px; font-weight:800; letter-spacing:-.02em;
  margin:0 0 6px;
}
.apply-sub{ color:#667085; margin:0; }

/* 주의사항 카드 */
.notice-card{
  background:#e9fbe2;
  border:1px solid #bde5b3;
  border-radius:16px;
  padding:16px 18px;
  margin-top:16px;
}
.notice-head{
  font-weight:800; color:#197e00; margin-bottom:8px;
}
.notice-list{ margin:0; padding-left:18px; }
.notice-list li{ line-height:1.7; }

/* 단계 리스트 카드 */
.steps-card{
  background:#f2fbff;
  border:1px solid #cfefff;
  border-radius:16px;
  padding:14px 16px;
  margin-top:14px;
}
.steps{ list-style:none; margin:0; padding:0; display:grid; row-gap:10px; }
.steps li{ display:flex; align-items:flex-start; gap:10px; }
.steps .n{
  min-width:28px; height:28px; border-radius:50%;
  display:inline-grid; place-items:center;
  background:#21a4ff; color:#fff; font-weight:800;
}
.steps .t{ line-height:1.6; }
    
    
.country-pills .pill {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  width: 140px;        /* 모든 국가 박스 동일한 너비 */
  height: 40px;
  padding: 0 10px;
  border: 1px solid #ddd;
  border-radius: 20px;
  background: #f5f9ff;
  font-weight: 600;
  white-space: nowrap;
}

.country-pills .pill .flag {
  width: 18px;
  height: 18px;
  border-radius: 2px;
}

    
    .visa-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.visa-pills .pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;          /* 모든 비자 칩 동일 너비 */
  height: 40px;
  border: 1px solid #ddd;
  border-radius: 20px;
  background: #eef6ff;
  font-weight: 600;
}


/* CTA */
.cta-row{
  display:flex; gap:12px; flex-wrap:wrap;
  margin-top:18px;
}
.cta-kakao{
  display:flex; align-items:center; gap:8px;
  background:#FEE500; color:#111; border-radius:12px;
  padding:12px 16px; font-weight:700; text-decoration:none;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
  transition:transform .12s ease;
}
.cta-kakao:hover{ transform:translateY(-2px); }
.cta-kakao img{ width:28px; height:28px; }

.cta-agent{
  background:#111dff; color:#fff; text-decoration:none;
  font-weight:800; border-radius:12px;
  padding:12px 16px; box-shadow:0 6px 16px rgba(17,29,255,.2);
  transition:transform .12s ease, opacity .12s;
}
.cta-agent:hover{ transform:translateY(-2px); opacity:.95; }

/* 푸터 */
.apply-foot{
  margin-top:12px; color:#667085; font-size:14px;
}

/* 반응형 */
@media (max-width: 960px){
  .apply-inner{ grid-template-columns: 1fr; }
}

    
   
  body footer.foote {
  background-color: #4B7BFF; /* 파란색 배경 */
  color: white;
  text-align: center;
  padding: 30px 15px;
}

.footer-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}

.agency-btn {
  display: inline-block;
  background-color: #FFD600; /* 노란색 버튼 */
  color: black;
  font-weight: bold;
  font-size: 18px;
  padding: 12px 24px;
  border-radius: 6px;
  text-decoration: none;
  transition: 0.3s;
}

.agency-btn:hover {
  background-color: #ffea61;
}

.footer-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 15px;
  line-height: 1.6;
}

.bank-logo {
  width: 40px;
  margin-bottom: 8px;
}


.hero-art{height:220px;border-radius:24px;background:linear-gradient(135deg,var(--brand),var(--brand-2));opacity:.15}
.hero .btn{margin-right:8px}

.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:16px; text-align: center;}
.kpi-main{font-weight:700;font-size:18px}
.kpi-sub{font-size:12px;color:var(--muted)}

.countries{background:#e7ffe9;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.chips-wrap{margin-top:8px}
.chips-title{font-weight:700;margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:8px 12px;background:#fff;border:1px solid var(--border);border-radius:999px}

.eligibility{grid-template-columns:1fr 1fr;gap:16px}
.eligibility .col{background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px}
.bullets{padding-left:18px;margin:10px 0}
.bullets li{margin:6px 0}

.faq{background:#eefbf3;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px}
.warn{grid-column:1/-1;color:var(--danger)}

.steps ol{margin:8px 0 0 18px}
.steps li{margin:6px 0}

.apply .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.apply label{display:flex;flex-direction:column;gap:6px}
.apply input,.apply select,.apply textarea{padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff}
.apply label.full{grid-column:1/-1}
.consent{display:flex;align-items:center;gap:8px;margin:10px 0}
.btn{display:inline-block;padding:10px 14px;border-radius:12px;border:1px solid transparent;cursor:pointer;text-decoration:none}
.btn.primary{color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-2))}
.btn.ghost{background:#fff;border:1px solid var(--border)}
.form-status{margin-top:8px;font-size:14px}



    /* ===== 구획(섹션) 공통 레이아웃 ===== */
.section {
  padding: 68px 0;                 /* 섹션 위아래 여백 */
}
.section .inner {                  /* 섹션 내부 컨테이너 */
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px;
}

/* 섹션을 카드처럼 보이게 하고 싶으면 .card-wrap 사용 */
.section .card-wrap {
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(16,24,40,.08);
  padding: 24px;
}

/* ===== 부드러운 파스텔 팔레트 ===== */
:root{
  --bg-mint-1: #E9FFE9;       /* 연한 민트 */
  --bg-mint-2: #D8F8E5;       /* (현재 사이트 톤과 잘 맞음) */
  --bg-ivory:  #FFF7E5;       /* 아이보리 */
  --bg-laven:  #F2EDFF;       /* 라벤더 */
  --bg-sky:    #E9F4FF;       /* 스카이 */
  --bg-banana: #FFF9D9;       /* 바나나 */
  --bg-white:  #FFFFFF;
}

/* 구획 상단/하단이 부드럽게 섞이도록(선택사항) */
.section.is-soft {
  position: relative;
  background-clip: padding-box;
}
.section.is-soft::before,
.section.is-soft::after {
  content: "";
  position: absolute; left:0; right:0; height:18px;
  pointer-events: none;
}
.section.is-soft::before { top: -18px; 
  background: linear-gradient(to bottom, rgba(0,0,0,0.04), rgba(0,0,0,0));
}
.section.is-soft::after { bottom: -18px; 
  background: linear-gradient(to top, rgba(0,0,0,0.04), rgba(0,0,0,0));
}

  
    
    /* ① 대출대상국가 및 비자 */
#eligibility,
#country-visa,               /* 혹시 id가 다르면 예비 */
.kpi-grid + .eligibility,    /* 일부 마크업에서 사용 */
.section-cnvis {
  background: var(--bg-mint-2);   /* 은은한 민트 */
}

/* ② E비자 조건 & 서류 (이미 존재: .visa-section.e-visa) */
.viza,                        /* (예비) */
.vz-e,
.vz-ev,
.vz-e .section,
.vz-e.section,
.vz-evisa,
.vz-e-visa,
.vz-e-req,
.vz-e-docs,
.vz-e-box,
.vz-e .wrap,
.vz-e-outer,
.vz-e-merge,
.vz-e-container,
.vz-e-grid,
.vz-e-card,
.vz-e-hero,
.vz-e-head,
.vz-e-body,
.vz-e-foot,
.vz-e-foo,
/* 실제 사이트 */
.visa-section.e-visa {
 /* background: var(--bg-ivory);*/
}

/* ③ F비자 조건 & 서류 (이미 존재: .visa-section.f-visa) */
.visa-section.f-visa {
  background: var(--bg-laven);
}

/* ④ FAQ (이미지 참고: .faq 섹션) */
.faq, .faq-section, #faq {
  background: var(--bg-sky);
}

/* ⑤ 대출신청절차(플로우) */
.flow, .flow-section, #flow, .apply-steps, .process {
  background: var(--bg-banana);
}

/* ⑥ 상담 신청폼(컨택트 폼) */
#consult, #apply, .apply-form, .contact-form, .form-section {
  background: var(--bg-white);
}

    
/* 반응형 */
@media (max-width:960px){
  .hero{grid-template-columns:1fr}
  .kpi{grid-template-columns:repeat(2,1fr)}
  .eligibility{grid-template-columns:1fr}
}
    
    
    /* ✅ 폼 안에서만 네모칸 스타일 적용 */
.lead-wrap select,
.lead-wrap input[type="text"],
.lead-wrap input[type="tel"],
.lead-wrap input[type="number"],
.lead-wrap input[type="date"],
.lead-wrap textarea {
  width: 100%;
  box-sizing: border-box;
  border: 2px solid #2753d7;
  border-radius: 10px;
  padding: 13px 14px;
  font-size: 15px;
  line-height: 1.2;
  background: #fff;
  color: #111;
}

/* (선택) 커스텀 화살표를 쓰고 싶으면 클래스 지정해서만 사용 */
.lead-wrap .lead-select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #2753d7 50%),
    linear-gradient(135deg, #2753d7 50%, transparent 50%),
    linear-gradient(to right, #fff, #fff);
  background-position:
    calc(100% - 18px) 17px,
    calc(100% - 13px) 17px,
    0 0;
  background-size: 5px 5px, 5px 5px, 100% 100%;
  background-repeat: no-repeat;
}

/* ✅ 헤더 언어 메뉴는 항상 보이게 보정 (전역 UL 스타일의 간섭 방지) */
.lang-wrap #lang-menu[hidden] { display: none !important; }
.lang-wrap #lang-menu {
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 6px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  list-style: none;
  padding: 6px 0;
  z-index: 9999;
  max-height: 320px;
  overflow: auto;
}
.lang-wrap #lang-menu .lang-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1.3;
  color: #111;
  cursor: pointer;
}
.lang-wrap #lang-menu .lang-item:hover {
  background: #f3f4f6;
}

/* ✅ 혹시 전역으로 select/option 색을 투명하게 만든 경우 리셋 */
select { color: #111; background: #fff; }
select option { color: #111; }


/* === Header: brand는 1100px 그리드에, 언어버튼은 화면 우측 끝 === */
:root { --container:1100px; --gutter:16px; }

/* 1) 헤더 내부 래퍼를 화면 전체 폭으로 늘림 */
.site-header > .header-inner{
  max-width: none !important;
  display: flex !important;
  align-items: center;
  justify-content: space-between;   /* 좌: 로고 / 우: 언어 */
  gap: 12px;
  margin: 0;                 /* 가운데 고정 해제 */
  padding: 10px 0;           /* 좌우 패딩은 아래에서 개별로 줌 */
}


/* 4) 드롭다운 위치/레이어 유지 */
.lang-wrap, .lang-btn, .lang-menu { position: relative; z-index: 10002; }
.lang-menu{ position:absolute; top:calc(100% + 6px); right:0; }


/* ===== HEADER FIX: header-inner를 1100px 컨테이너로 고정 ===== */
header.site-header > div.header-inner{
  width: 1100px !important;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 10px 16px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* 보조: 좌측 로고는 내용폭대로, 언어버튼은 오른쪽 정렬 */
header.site-header .brand{ flex:0 0 auto; }
header.site-header .lang-wrap{ margin-left:auto; }


/* 0) 중첩된 header-inner을 ‘평탄화’해서 바깥 flex가 바로 먹게 */
header.site-header > .header-inner > .header-inner{
  display: contents !important;
}

/* 1) 헤더 1100px 센터 + 좌/우 끝 정렬 */
header.site-header > .header-inner{
  width:1100px !important;
  max-width:1100px !important;
  margin:0 auto !important;
  padding:10px 16px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}

/* 2) 언어 영역을 오른쪽으로 쭉 밀기 */
header.site-header .lang-wrap{
  margin-left:auto !important;
}


/* ===== 신청완료 모달 ===== */
.modal{
  position:fixed; inset:0; display:none;
  align-items:center; justify-content:center;
  background:rgba(0,0,0,.45);
  z-index:20000;
}
.modal[aria-hidden="false"]{ display:flex; }

.modal__dialog{
  width:min(92vw, 420px);
  background:#fff; border:2px solid #2753d7;
  border-radius:16px; padding:22px 20px;
  box-shadow:0 20px 40px rgba(0,0,0,.18);
  text-align:center;
}
.modal__title{ font-size:20px; font-weight:900; margin:0 0 8px; }
.modal__desc{ color:#475569; margin:0 0 16px; }
.modal__actions{ display:flex; justify-content:center; }
.modal__btn{
  background:#1f48ff; color:#fff; font-weight:900;
  border:0; border-radius:12px; padding:10px 18px; cursor:pointer;
  box-shadow:0 6px 16px rgba(31,72,255,.22);
}
.modal__btn:hover{ transform:translateY(-1px); }
.modal--error .modal__dialog{ border-color:#b42318; }
.modal--error .modal__title{ color:#b42318; }

body.has-modal{ overflow:hidden; } /* 모달 열릴 때 스크롤 잠금 */
