/* ==========================================================
   _common.css — 세담 회생센터 공통 스타일
   ========================================================== */


/* ── 폰트 (Paperozi) ─────────────────────────────────────── */
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-1Thin.woff2') format('woff2'); font-weight:100; font-display:swap; }
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-2ExtraLight.woff2') format('woff2'); font-weight:200; font-display:swap; }
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-3Light.woff2') format('woff2'); font-weight:300; font-display:swap; }
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-4Regular.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-5Medium.woff2') format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-6SemiBold.woff2') format('woff2'); font-weight:600; font-display:swap; }
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-7Bold.woff2') format('woff2'); font-weight:700; font-display:swap; }
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-8ExtraBold.woff2') format('woff2'); font-weight:800; font-display:swap; }
@font-face { font-family:'Paperozi'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-9Black.woff2') format('woff2'); font-weight:900; font-display:swap; }


/* ── CSS 변수 ─────────────────────────────────────────────── */
:root {
  --bg: #F4F4F2;
  --bg2: #EAEAE7;
  --bg-dark: #1C1C1E;
  --navy: #1A2744;
  --navy-mid: #243352;
  --gold: #B8913A;
  --gold-light: #D4AA58;
  --gold-pale: #F0E4C4;
  --text: #111111;
  --text-mid: #444444;
  --text-light: #888888;
  --text-pale: #BBBBBB;
  --white: #FFFFFF;
  --border: #DCDCDA;
  --content: 1280px;
}


/* ── 기본 초기화 ──────────────────────────────────────────── */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Paperozi',sans-serif; background:var(--bg); color:var(--text); overflow-x:hidden; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; }


/* ── Reveal 스크롤 애니메이션 ────────────────────────────── */
.reveal { opacity:0; transform:translateY(30px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in { opacity:1; transform:none; }


/* ─────────────────────────────────────────────────────────
   GNB (글로벌 네비게이션)
───────────────────────────────────────────────────────── */
#gnb {
  position:fixed; top:0; left:0; right:0; z-index:900;
  background:rgba(255,255,255,.97); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
}
.gnb-inner {
  max-width:var(--content); margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 32px; height:68px;
}
.gnb-logo { display:flex; flex-direction:row; align-items:center; gap:10px; flex-shrink:0; }
.gnb-logo img { height:40px; width:auto; flex-shrink:0; }
.gnb-logo .logo-sub { font-size:18px; font-weight:700; color:var(--gold); letter-spacing:1px; white-space:nowrap; flex-shrink:0; }

.gnb-nav { display:flex; align-items:center; gap:36px; }
.gnb-nav a { font-size:16px; font-weight:500; color:var(--text-mid); letter-spacing:.5px; transition:color .2s; position:relative; }
.gnb-nav a::after { content:''; position:absolute; bottom:-4px; left:0; right:0; height:1px; background:var(--gold); transform:scaleX(0); transition:transform .2s; }
.gnb-nav a:hover { color:var(--navy); }
.gnb-nav a:hover::after { transform:scaleX(1); }
.gnb-nav a.active { color:var(--navy); }

.gnb-cta { background:var(--navy); color:var(--white); padding:10px 24px; font-size:13px; font-weight:500; letter-spacing:.5px; transition:background .2s; }
.gnb-cta:hover { background:var(--gold); }


/* ─────────────────────────────────────────────────────────
   서브페이지 Hero (case3 스타일 기준 통일)
   — 모든 서브페이지(about, corporate, personal, column 등)에 사용
───────────────────────────────────────────────────────── */
.page-hero {
  padding: 130px 0 60px;
  background: var(--navy);
  position: relative;
  overflow: hidden;
}
/* 우상단 금빛 방사형 그라디언트 오버레이 */
.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 80% 50%, rgba(184,145,58,.07) 0%, transparent 70%);
  pointer-events: none;
}
.page-hero-inner {
  max-width: var(--content);
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
  z-index: 1;
}
/* 영문 라벨 (예: "Introduction", "Column") */
.page-hero-label {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: .1em;
  color: #e8ddcb;
  text-transform: uppercase;
  margin-bottom: 18px;
}
/* 페이지 메인 타이틀 */
.page-hero-title {
  font-family: 'Paperozi', sans-serif;
  font-size: clamp(26px, 4vw, 48px);
  font-weight: 700;
  color: #fff;
  line-height: 1.25;
  margin-bottom: 20px;
}
/* 서브 설명 텍스트 */
.page-hero-sub {
  font-size: 16px;
  color: rgba(255,255,255,.75);
  line-height: 1.7;
}
/* 우측 SEDAM SVG 데코 이미지 */
.page-hero-deco-img {
  position: absolute;
  top: 45px;
  right: 20px;
  height: 180px;
  opacity: .8;
  pointer-events: none;
}


/* ─────────────────────────────────────────────────────────
   Breadcrumb (서브페이지 공통)
───────────────────────────────────────────────────────── */
.breadcrumb { display:flex; align-items:center; gap:8px; margin-bottom:20px; }
.breadcrumb span { font-size:12px; color:rgba(255,255,255,.35); letter-spacing:.5px; }
.breadcrumb span.cur { color:var(--gold); }
.breadcrumb .sep { color:rgba(255,255,255,.2); font-size:10px; }


/* ─────────────────────────────────────────────────────────
   Page Body & Content Layout
───────────────────────────────────────────────────────── */
.page-body { max-width:var(--content); margin:0 auto; padding:80px 32px; }
.content-wrap { display:grid; grid-template-columns:1fr 320px; gap:48px; align-items:start; }
.content-main {}
.content-side { position:sticky; top:88px; }


/* ─────────────────────────────────────────────────────────
   사이드 카드 (상담신청 / 관련사례 등)
───────────────────────────────────────────────────────── */
.side-card { background:var(--white); border:1px solid var(--border); padding:32px; }
.side-card + .side-card { margin-top:16px; }
.side-card-title { font-size:12px; letter-spacing:2px; color:var(--gold); text-transform:uppercase; margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid var(--border); }
.side-contact-row { display:flex; flex-direction:column; gap:12px; }
.side-contact-item { display:flex; align-items:center; gap:10px; }
.side-contact-item svg { width:14px; height:14px; stroke:var(--gold); fill:none; stroke-width:2; flex-shrink:0; }
.side-contact-item span { font-size:13px; color:var(--text-mid); }

/* 버튼 */
.btn-navy-full { display:block; background:var(--navy); color:var(--white); text-align:center; padding:14px; font-size:13px; font-weight:500; letter-spacing:.5px; margin-top:20px; transition:background .2s; border:none; cursor:pointer; width:100%; font-family:'Paperozi',sans-serif; }
.btn-navy-full:hover { background:var(--gold); }
.btn-gold-full { display:block; background:var(--gold); color:var(--white); text-align:center; padding:14px; font-size:13px; font-weight:500; letter-spacing:.5px; margin-top:8px; transition:background .2s; }
.btn-gold-full:hover { background:var(--gold-light); }


/* ─────────────────────────────────────────────────────────
   업무사례 Hero (case1~4 공통)
───────────────────────────────────────────────────────── */
.case-hero {
  background: var(--navy);
  padding: 130px 0 60px;
  position: relative;
  overflow: hidden;
}
.case-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 80% 50%, rgba(184,145,58,.07) 0%, transparent 70%);
  pointer-events: none;
}
.case-hero-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
}
.case-hero-en {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: .1em;
  color: #e8ddcb;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.case-hero-title {
  font-size: clamp(26px, 4vw, 38px);
  font-weight: 700;
  color: #fff;
  line-height: 1.25;
  margin-bottom: 20px;
}
.case-hero-desc {
  font-size: 16px;
  color: rgba(255,255,255,.8);
  line-height: 1.7;
}


/* ─────────────────────────────────────────────────────────
   업무사례 Body & Card (case1~4 공통)
───────────────────────────────────────────────────────── */
.case-body { background: #f2f4f7; padding: 56px 0 80px; }
.case-body-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr 240px;
  gap: 28px;
  align-items: start;
}

/* 메인 카드 */
.case-main { background:#fff; border-radius:4px; box-shadow:0 2px 16px rgba(0,0,0,.07); overflow:hidden; }
.case-main-header { padding:36px 44px 28px; border-bottom:1px solid #e8eaee; }
.case-main-label {
  display:inline-block; font-size:11px; font-weight:700; letter-spacing:.12em;
  color:var(--gold); border:1px solid var(--gold); padding:3px 10px;
  border-radius:2px; margin-bottom:14px; text-transform:uppercase;
}
.case-main-title { font-family:'Noto Sans KR',sans-serif; font-size:22px; font-weight:700; color:var(--navy); line-height:1.4; }

/* 결과 수치 스트립 */
.case-result-strip { display:flex; border-bottom:1px solid #e8eaee; }
.case-result-strip-item { flex:1; padding:20px 16px; text-align:center; border-right:1px solid #e8eaee; }
.case-result-strip-item:last-child { border-right:none; }
.case-result-strip-num { font-family:'Playfair Display',serif; font-size:28px; font-weight:700; color:var(--navy); line-height:1; margin-bottom:5px; }
.case-result-strip-num sup { font-size:13px; font-family:'Noto Sans KR',sans-serif; font-weight:500; }
.case-result-strip-label { font-size:11px; color:#888; letter-spacing:.04em; }

/* 본문 섹션 */
.case-content { padding:36px 44px 44px; }
.case-section { margin-bottom:36px; }
.case-section:last-child { margin-bottom:0; }
.case-section-title {
  font-size:18px; font-weight:700; color:var(--navy);
  margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid #e8eaee;
  display:flex; align-items:center; gap:8px;
}
.case-section-body { font-size:16px; color:#444; line-height:1.85; word-break:keep-all; }
.case-section-body p + p { margin-top:12px; }

/* 핵심 포인트 카드 */
.case-points { margin-top:15px; display:flex; flex-direction:column; gap:10px; }
.case-point { background:#f8f9fb; border-left:3px solid var(--gold); padding:12px 16px; font-size:15px; color:#333; line-height:1.7; }
.case-point strong { display:block; font-size:16px; font-weight:700; color:var(--navy); margin-bottom:4px; }

/* 결과 박스 (네이비 배경) */
.case-result-box {
  margin-top:16px; background:var(--navy); border-radius:4px; padding:20px 24px;
  display:grid; grid-template-columns:1fr 1fr; gap:8px 20px;
}
.case-result-box-item { font-size:14px; color:rgba(255,255,255,.6); display:flex; align-items:center; gap:7px; line-height:1.5; }
.case-result-box-item::before { content:'✓'; color:var(--gold); font-size:11px; flex-shrink:0; }

/* 담당 변호사 사이드 카드 */
.case-side { display:flex; flex-direction:column; gap:16px; }
.lawyer-side-card { background:#fff; border-radius:4px; box-shadow:0 2px 16px rgba(0,0,0,.07); overflow:hidden; }
.lawyer-side-header { background:#e8ddcb; padding:14px 20px; }
.lawyer-side-header-text { font-size:17px; font-weight:600; color:#000; }
.lawyer-side-body { padding:20px; display:flex; align-items:center; gap:14px; }
.lawyer-side-avatar { width:52px; height:52px; border-radius:50%; background:#e8eaee; overflow:hidden; flex-shrink:0; }
.lawyer-side-avatar img { width:100%; height:100%; object-fit:cover; }
.lawyer-side-name { font-size:16px; font-weight:700; color:var(--navy); }
.lawyer-side-link { display:block; margin-top:4px; font-size:12px; color:var(--gold); text-decoration:none; }
.lawyer-side-link:hover { text-decoration:underline; }


/* ─────────────────────────────────────────────────────────
   변호사 소개 페이지 (expert1~3 공통)
───────────────────────────────────────────────────────── */

/* 변호사 탭 네비 */
.lawyer-tabs {
  background: #fff;
  border-bottom: 1px solid #e0e0e0;
  position: sticky;
  top: 68px;
  z-index: 100;
}
.lawyer-tabs-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
}
.lawyer-tab {
  padding: 18px 32px;
  font-size: 17px;
  font-weight: 500;
  color: #999;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;
  text-decoration: none;
  display: inline-block;
  white-space: nowrap;
}
.lawyer-tab:hover { color: #333; }
.lawyer-tab.active { color: #111; border-bottom-color: #111; font-weight: 700; }

/* 변호사 사진 배너 */
.expert-photo-wrap {
  background: #63666d;
  display: flex;
  justify-content: center;
  position: relative;
}
.expert-photo-wrap img { height:520px; width:auto; display:block; }
.expert-photo-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.35) 28%, transparent 60%);
}
.expert-photo-text { position:absolute; bottom:36px; left:40px; }
.expert-photo-en { font-size:11px; letter-spacing:3px; color:rgba(255,255,255,.75); text-transform:uppercase; margin-bottom:10px; }
.expert-photo-name {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 700;
  color: #fff;
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 14px;
}
.expert-photo-name span { font-size:0.42em; font-weight:400; color:rgba(255,255,255,.85); letter-spacing:1px; }

/* 변호사 정보 본문 */
.expert-content {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 40px 100px;
}
/* 1280px 이상: 좌측 45% 여백 (사진과 텍스트 분리 효과) */
@media (min-width: 1280px) {
  .expert-content { max-width:100%; padding:0 40px 100px calc(45% + 40px); }
}

/* 연락처 영역 */
.expert-contact { padding:48px 0 44px; border-bottom:1px solid #e8e8e8; margin-bottom:52px; }
.expert-contact-row { font-size:15px; color:#333; line-height:2; }
.expert-contact-row strong { color:#111; margin-right:12px; }

/* 섹션 (학력/주요업무) */
.expert-section { margin-bottom:52px; }
.expert-section-title { font-size:17px; font-weight:700; color:#111; margin-bottom:20px; }
.expert-list { list-style:none; display:flex; flex-direction:column; gap:6px; }
.expert-list li { font-size:15px; color:#444; line-height:1.8; }

/* 담당 사례 카드 */
.expert-cases { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:8px; }
.expert-case-card {
  background:#f8f9fb; border:1px solid #e8eaee; padding:24px;
  display:block; text-decoration:none; transition:border-color .2s, background .2s;
}
.expert-case-card:hover { border-color:var(--gold); background:#fff; }
.expert-case-num { font-size:11px; letter-spacing:1px; color:var(--gold); margin-bottom:8px; }
.expert-case-title { font-size:15px; font-weight:600; color:#0d1b3e; line-height:1.5; margin-bottom:8px; }
.expert-case-rate { font-size:13px; color:#888; }

/* 상담 CTA 버튼 */
.expert-cta { margin-top:60px; text-align:center; }
.expert-cta-btn {
  display:inline-block; background:#0d1b3e; color:#fff;
  padding:16px 56px; font-size:14px; font-weight:500; letter-spacing:.5px;
  text-decoration:none; transition:background .2s;
}
.expert-cta-btn:hover { background:var(--gold); }


/* ─────────────────────────────────────────────────────────
   칼럼 상세 (column1~3 공통)
───────────────────────────────────────────────────────── */
.column-header { margin-bottom:40px; padding-bottom:10px; border-bottom:1px solid var(--border); }
.column-label { font-size:11px; letter-spacing:3px; color:var(--gold); text-transform:uppercase; margin-bottom:12px; }
.column-title-lg { font-family:'Paperozi',sans-serif; font-size:clamp(22px,2.5vw,34px); font-weight:600; color:var(--navy); line-height:1.4; margin-bottom:16px; }
.column-body { font-size:16px; color:var(--text-mid); line-height: 1.7; word-break: keep-all; }
.column-body p+p { margin-top:20px; }
.column-lawyer-card { display:grid; grid-template-columns:140px 1fr; gap:0; margin-top:48px; background:var(--navy); overflow:hidden; }
.column-lawyer-img { background:linear-gradient(135deg,#1A2744,#243352); display:flex; align-items:center; justify-content:center; min-height:160px; }
.column-lawyer-img svg { width:48px; height:48px; stroke:rgba(255,255,255,.2); fill:none; stroke-width:1; }
.column-lawyer-body { padding:32px; }
.column-lawyer-label { font-size:10px; color:var(--gold); letter-spacing:2px; margin-bottom:6px; }
.column-lawyer-name { font-family:'Paperozi',sans-serif; font-size:20px; font-weight:600; color:var(--white); margin-bottom:8px; }
.column-lawyer-desc { font-size:14px; color:rgba(255,255,255,.4); line-height:1.6; }


/* ─────────────────────────────────────────────────────────
   Content Section (corporate, personal 공통)
───────────────────────────────────────────────────────── */
.content-section { margin-bottom:48px; }
.content-section-title { font-family:'Paperozi',sans-serif; font-size:18px; font-weight:600; color:var(--navy); padding-left:16px; border-left:3px solid var(--gold); margin-bottom:20px; line-height:1.4; }
.content-section-body { font-size:14px; color:var(--text-mid); line-height:1.9; }
.content-section-body p+p { margin-top:12px; }
.content-section-body ul { margin-left:20px; margin-top:8px; }
.content-section-body li { margin-bottom:8px; }

/* 법인/개인 소개 섹션 */
.intro-section { margin-bottom:48px; }
.intro-section h3 { font-family:'Paperozi',sans-serif; font-size:22px; font-weight:700; color:var(--navy); margin-bottom:12px; }
.intro-section p { font-size:16px; color:var(--text-mid); line-height:1.5; margin-bottom:8px; word-break:keep-all;  }

/* 절차 스텝 */
.process-steps { display:flex; gap:0; margin:20px 0; overflow-x:auto; }
.process-step { flex:1; min-width:160px; background:var(--white); border:1px solid var(--border); border-right:none; padding:24px 16px; text-align:center; position:relative; }
.process-step:last-child { border-right:1px solid var(--border); }
.process-step-num { font-size:17px; color:var(--gold); letter-spacing:2px; margin-bottom:25px; font-weight:600; }
.process-step-title { font-size:19.5px; font-weight:700; color:var(--navy); margin-bottom:6px; }
.process-step-desc {font-size:15px; color:#000; line-height:1.5; }
.process-arrow { position:absolute; right:-12px; top:50%; transform:translateY(-50%); width:24px; height:24px; background:var(--gold); display:flex; align-items:center; justify-content:center; z-index:1; font-size:12px; color:white; }

/* 제도 목록 */
.intro-policy { display:flex; flex-direction:column; gap:12px; margin-top:16px; }
.intro-policy-item { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--text-mid); }
.intro-policy-item::before { content:'•'; color:var(--gold); }

/* 이미지 슬롯 (placeholder) */
.img-slot { background:linear-gradient(135deg,#E8E4DC,#D4CEBC); border:1px dashed var(--border); min-height:200px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px; color:var(--text-pale); font-size:12px; margin-top:24px; }
.img-slot svg { width:32px; height:32px; stroke:var(--text-pale); fill:none; stroke-width:1.5; }


/* ─────────────────────────────────────────────────────────
   상담신청 페이지 (consult)
───────────────────────────────────────────────────────── */
.form-group { margin-bottom:24px; }
.form-label { font-size:12px; letter-spacing:1px; color:var(--text-light); margin-bottom:8px; display:flex; gap:4px; }
.form-required { color:var(--gold); }
.form-input { width:100%; background:var(--bg); border:1px solid var(--border); border-radius:0; padding:14px 16px; font-size:14px; color:var(--text); outline:none; transition:border-color .2s; font-family:'Paperozi',sans-serif; }
.form-input:focus { border-color:var(--gold); }
.form-select { width:100%; background:var(--bg); border:1px solid var(--border); padding:14px 16px; font-size:14px; color:var(--text); outline:none; appearance:none; -webkit-appearance:none; cursor:pointer; font-family:'Paperozi',sans-serif; }
.form-textarea { width:100%; background:var(--bg); border:1px solid var(--border); padding:14px 16px; font-size:14px; color:var(--text); outline:none; resize:vertical; min-height:120px; font-family:'Paperozi',sans-serif; }
.form-textarea:focus, .form-select:focus { border-color:var(--gold); }
.form-check { display:flex; align-items:flex-start; gap:10px; cursor:pointer; font-size:13px; color:var(--text-mid); line-height:1.5; }
.form-check input { accent-color:var(--gold); margin-top:2px; flex-shrink:0; }
.btn-submit-full { width:100%; background:var(--navy); color:var(--white); border:none; padding:18px; font-size:15px; font-weight:600; letter-spacing:.5px; cursor:pointer; transition:background .2s; font-family:'Paperozi',sans-serif; margin-top:24px; }
.btn-submit-full:hover { background:var(--gold); }


/* ─────────────────────────────────────────────────────────
   우측 고정 사이드 네비 (퀵 메뉴)
───────────────────────────────────────────────────────── */
#side-nav {
  position: fixed;
  right: 24px;
  bottom: 95px;
  z-index: 800;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
/* pill 형태 버튼 */
.side-btn {
  display: flex;
  align-items: center;
  background: #e8e8e8;
  border-radius: 100px;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0,0,0,.25);
  transition: box-shadow .2s;
  text-decoration: none;
  width: 150px;
  height: 58px;
  border: none;
  color: inherit;
}
.side-btn:hover { box-shadow: 0 4px 12px rgba(0,0,0,.35); }
/* 왼쪽 네이비 원형 아이콘 */
.side-icon {
  width: 60px;
  height: 60px;
  background: var(--navy);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.side-icon i { font-size: 20px; color: #fff; }
/* 오른쪽 텍스트 */
.side-btn-text {
  font-size: 13px;
  font-weight: 700;
  color: #111;
  line-height: 1.35;
  padding: 0 12px;
}


/* ─────────────────────────────────────────────────────────
   모달 (전화 / 완료)
───────────────────────────────────────────────────────── */
.modal-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:2000; align-items:center; justify-content:center; backdrop-filter:blur(4px); }
.modal-overlay.open { display:flex; }
.modal-box { background:var(--white); padding:48px; text-align:center; min-width:320px; position:relative; }
.modal-close { position:absolute; top:16px; right:16px; background:none; border:none; cursor:pointer; font-size:20px; color:var(--text-light); line-height:1; }
.modal-icon { margin:0 auto 20px; width:56px; height:56px; background:var(--navy); display:flex; align-items:center; justify-content:center; }
.modal-icon svg { width:24px; height:24px; stroke:var(--gold); fill:none; stroke-width:1.5; }
.modal-icon.gold { background:var(--gold); }
.modal-title { font-size:13px; color:var(--text-light); margin-bottom:8px; letter-spacing:1px; }
.modal-num { font-family:'Playfair Display',serif; font-size:30px; font-weight:700; color:var(--navy); margin-bottom:24px; }
.modal-done-title { font-family:'Paperozi',sans-serif; font-size:20px; font-weight:600; color:var(--navy); margin-bottom:8px; }
.modal-done-sub { font-size:13px; color:var(--text-light); margin-bottom:24px; line-height:1.6; }
.modal-btn { display:block; width:100%; background:var(--navy); color:var(--white); padding:14px; font-size:14px; font-weight:500; cursor:pointer; border:none; font-family:'Paperozi',sans-serif; transition:background .2s; }
.modal-btn:hover { background:var(--gold); }


/* ─────────────────────────────────────────────────────────
   푸터
───────────────────────────────────────────────────────── */
footer { background:var(--bg-dark); padding:40px 0; border-top:1px solid rgba(255,255,255,.05); }
.footer-inner { max-width:var(--content); margin:0 auto; padding:0 32px; display:flex; align-items:center; justify-content:space-between; }
.footer-copy { font-size:15px; color:rgba(255,255,255,.25); letter-spacing:.5px; }
.footer-info { font-size:15px; color:rgba(255,255,255,.2); line-height:1.8; text-align:right; }


/* ─────────────────────────────────────────────────────────
   반응형
───────────────────────────────────────────────────────── */
@media (max-width:1024px) {
  .content-wrap { grid-template-columns:1fr; }
  .content-side { position:static; }
  .case-body-inner { grid-template-columns:1fr; padding:0 20px; }
  .column-lawyer-card { grid-template-columns:1fr; }
  .result-box { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:768px) {
  .gnb-nav { display:none; }
  .gnb-inner { padding:0 20px; }

  /* 히어로 */
  .page-hero { padding:100px 0 48px; }
  .page-hero-inner { padding:0 24px; }
  .case-hero-inner { padding:0 24px; }

  /* 페이지 바디 */
  .page-body { padding:48px 20px; }

  /* 사이드 네비 */
  #side-nav { right:12px; bottom:20px; }
  .side-btn { width:130px; height:52px; }
  .side-icon { width:44px; height:44px; }
  .side-btn-text { font-size:11px; padding:0 8px; }

  /* 업무사례 */
  .case-result-strip-num { font-size:22px; }
  .case-result-box { grid-template-columns:1fr; }
  .case-main-header, .case-content { padding:24px; }

  /* 변호사 소개 */
  .lawyer-tabs-inner { padding:0 16px; }
  .lawyer-tab { padding:16px 18px; font-size:14px; }
  .expert-photo-text { left:20px; bottom:24px; }
  .expert-content { padding:0 20px 80px !important; }
  .expert-cases { grid-template-columns:1fr; }

  /* 절차 */
  .process-steps { overflow-x:auto; }
  .result-box { grid-template-columns:1fr 1fr; }
}
