/* 서지현 변호사 · 배임횡령전문변호사 — 네이비/골드 팔레트 */
@font-face {
  font-family: 'Pretendard';
  src: url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/woff2/PretendardVariable.woff2') format('woff2-variations');
  font-weight: 45 920;
  font-display: swap;
}

:root {
  --primary: #142850;
  --accent: #B8933E;
  --ink: #10182B;
  --sub: #5B6478;
  --line: #E2E5EC;
  --bg-main: #FFFFFF;
  --bg-sub: #F4F5F8;
  --font-display: 'Pretendard', sans-serif;
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Pretendard', -apple-system, 'Malgun Gothic', 'Apple SD Gothic Neo', sans-serif;
  color: var(--ink);
  word-break: keep-all;
  overflow-wrap: break-word;
  background: var(--bg-main);
}

h1, h2, h3 { font-family: var(--font-display) !important; font-weight: 800 !important; }
h1 { line-height: 1.15 !important; letter-spacing: -0.02em !important; }

.eyebrow-mini {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
}

.prose-copy { max-width: 68ch; line-height: 1.85; color: var(--ink); }
.hairline { border-color: var(--line); }
.bg-surface { background-color: var(--bg-main); }
.bg-surface-sub { background-color: var(--bg-sub); }
.card-corner { border-radius: 10px; }
.btn-corner { border-radius: 6px; }

.site-header { background: rgba(255,255,255,.94); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }

.hero-split { overflow: hidden; }

.grid-cards {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.25rem;
}
@media (min-width: 640px) { .grid-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .grid-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } }

.grid-cards-cred {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media (min-width: 768px) { .grid-cards-cred { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; } }

.grid-cards-3 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
}
@media (min-width: 768px) { .grid-cards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } }

.grid-cards-4 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media (min-width: 768px) { .grid-cards-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; } }

.hover-lift { transition: transform .2s ease, box-shadow .2s ease; }
.hover-lift:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(16,24,43,.08); }

.faq-item[open] .faq-caret { transform: rotate(180deg); }
.faq-caret { transition: transform .2s ease; }
.faq-item summary::-webkit-details-marker { display: none; }

#mobile-menu { display: none; }
#mobile-menu.open { display: block; }

.nav-dropdown summary::-webkit-details-marker { display: none; }
.nav-dropdown > summary svg { transition: transform .2s ease; }
.nav-dropdown[open] > summary svg { transform: rotate(180deg); }
.nav-dropdown-panel { z-index: 50; }

.lightbox-trigger { cursor: zoom-in; }
#lightbox { border: 0; padding: 0; background: transparent; max-width: 92vw; max-height: 92vh; }
#lightbox::backdrop { background: rgba(16, 24, 43, .85); }
#lightbox img { display: block; max-width: 92vw; max-height: 92vh; object-fit: contain; }

.num-label { font-family: 'Pretendard', sans-serif; font-weight: 800; font-size: 1.75rem; line-height: 1; color: var(--accent); letter-spacing: -0.01em; }

.split-panel { display: grid; grid-template-columns: 1fr; }
@media (min-width: 768px) { .split-panel { grid-template-columns: minmax(0,0.9fr) minmax(0,1.6fr); } }

/* 모바일 하단 고정 CTA 바 — 컨텐츠와 겹치지 않도록 body에 여백 확보 */
body { padding-bottom: 0; }
@media (max-width: 767px) {
  body { padding-bottom: 64px; }
  .mobile-cta-bar { box-shadow: 0 -2px 10px rgba(16,24,43,.08); }
}

/* 스크롤 인/아웃 페이드 */
.fade-in { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.fade-in.is-visible { opacity: 1; transform: translateY(0); }

table { border-collapse: collapse; }
