/* ============================================
   K-Trust · Readability Boost
   ────────────────────────────────────────────
   자산가 어르신(60대+) 강의장 가독성 최적화
   
   원칙:
   1. 본문 텍스트 → 최소 15px · 굵기 500
   2. 라벨·카테고리 → 12px 이상 유지
   3. 다크 배경 회색 텍스트 → 대비 강화
   4. 얇은 400 굵기 → 상황에 맞게 강화
   
   이 파일은 index.html·diagnose.html에 마지막으로 로드
   ============================================ */

/* ═══════════════════════════════════════════════
   0. 전역 · 얇은 회색 텍스트 강화
   ═══════════════════════════════════════════════ */

/* --ink-3(약한 회색)을 사용하는 본문 텍스트가 있다면 --ink-2로 대체하는 건 어렵고
   대신 색상 자체를 살짝 진하게 조정 */
:root {
  --ink-3: #5a6470;         /* 원래 #6b7885 → 진하게 */
  --ink-4: #8a939e;         /* 원래 #9aa4ae → 진하게 */
}

/* ═══════════════════════════════════════════════
   1. Hero 섹션 · 상단 리포트 미리보기 카드
   ═══════════════════════════════════════════════ */
.hero-card-caption,
.hero-report-line,
.hero-item-tag,
.hero-item-label {
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* Hero 좌측 리드 텍스트 (큰 문장) */
.hero-lead,
.hero-desc {
  font-size: 19px !important;
  line-height: 1.75 !important;
  color: var(--ink) !important;
  font-weight: 450 !important;
}

/* ═══════════════════════════════════════════════
   2. Trust 섹션
   ═══════════════════════════════════════════════ */
.trust-desc,
.trust-body,
.trust-quote-body {
  font-size: 17px !important;
  line-height: 1.8 !important;
  color: var(--ink) !important;
  font-weight: 450 !important;
}
.trust-tag,
.trust-eyebrow {
  font-size: 13px !important;
  font-weight: 700 !important;
}

/* ═══════════════════════════════════════════════
   3. Why 섹션 · 통계 카드
   ═══════════════════════════════════════════════ */
.why-desc,
.why-item-body,
.wc-body {
  font-size: 17px !important;
  line-height: 1.8 !important;
  color: var(--ink) !important;
  font-weight: 450 !important;
}
.was-detail {
  font-size: 13.5px !important;
  color: var(--ink-2) !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
}
/* ⭐ 통계 카드 부제 · 숫자 아래 설명 라벨 */
/* "상속세 신고자 · 5년간 증가율" / "총 상속재산 · 5년간 증가율" 등 */
/* 숫자(+130.9%)의 취지를 담는 핵심 라벨 · 강의장 뒤에서도 읽혀야 함 */
.was-label {
  font-family: var(--serif) !important;
  font-size: 18px !important;
  color: var(--navy-deep) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.5 !important;
  word-break: keep-all !important;
}
.was-lbl {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
}

/* ⭐ 통계 카드 하단 · 출처 표시 (국세청 국세통계 2025 등) */
/* 이전: 10px · --ink-3(흐릿함) · 강의장에서 안 보임 */
.was-source {
  font-family: var(--mono) !important;
  font-size: 12px !important;
  color: var(--gold-soft) !important;
  letter-spacing: 0.08em !important;
  font-weight: 700 !important;
  padding: 6px 10px !important;
  background: rgba(212, 175, 55, 0.08) !important;
  border-radius: 2px !important;
  display: inline-block !important;
  border: 1px solid rgba(212, 175, 55, 0.25) !important;
}

/* ⭐ 언론 인용 섹션 라벨 "Press Coverage · 시장이 움직이고 있습니다" */
.wap-lbl {
  font-size: 13px !important;
  color: var(--gold-soft) !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
}

/* ⭐ 언론 인용 본문 · 헤드라인·바디·출처 */
.wapi-headline {
  font-size: 18px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  color: var(--navy) !important;
}
.wapi-body {
  font-size: 15px !important;
  color: var(--ink) !important;
  font-weight: 450 !important;
  line-height: 1.8 !important;
}

/* ⭐ 언론 인용 출처 "— 이데일리 · 2025.08" · 강의장에서 잘 보이도록 */
/* 이전: 10px · --ink-3(흐릿함) · 안 보임 */
.wapi-source {
  font-family: var(--mono) !important;
  font-size: 13px !important;
  color: var(--navy) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  padding-top: 12px !important;
  border-top: 1px dashed var(--gold) !important;
  margin-top: auto !important;
  display: block !important;
}

/* ═══════════════════════════════════════════════
   4. Structure 섹션 · 자산 구조 다이어그램
   ═══════════════════════════════════════════════ */
.structure-desc,
.st-desc,
.st-note,
.st-body {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: var(--ink-2) !important;
  font-weight: 450 !important;
}
.st-label,
.st-eyebrow,
.st-tag {
  font-size: 12.5px !important;
  font-weight: 700 !important;
}

/* ═══════════════════════════════════════════════
   5. Tax 섹션 · 세금 압박
   ═══════════════════════════════════════════════ */
.tax-desc,
.tax-body,
.tax-item-body {
  font-size: 16.5px !important;
  line-height: 1.8 !important;
  color: var(--ink) !important;
  font-weight: 450 !important;
}
.tax-caption,
.tax-note {
  font-size: 14px !important;
  color: var(--ink-2) !important;
  font-weight: 500 !important;
}

/* ⭐ Tax 섹션 부제 · 한 줄 처리 (2줄 wrap 방지) */
/* tax-head가 max-width:760으로 제한되어 있어서 부제만 넓히기 */
.tax-section .tax-head {
  max-width: 100% !important;  /* 부제가 넉넉히 들어갈 폭 확보 */
}
.tax-section .section-desc,
.tax-lead {
  max-width: none !important;
  white-space: nowrap !important;
  overflow: visible !important;
  font-size: 17px !important;
  color: #dfe5eb !important;
  font-weight: 450 !important;
}

/* ⭐ "현금 유동성이 부족한 경우" 강조 · 아래 카드 "현금 유동성 부족"과 시각적 브릿지 */
.tax-lead-hi {
  font-style: normal !important;
  color: var(--gold-light) !important;
  font-weight: 700 !important;
  padding: 2px 8px !important;
  background: rgba(212, 175, 55, 0.14) !important;
  border-bottom: 2px solid var(--gold) !important;
  border-radius: 2px 2px 0 0 !important;
  white-space: nowrap !important;
  letter-spacing: 0.01em !important;
}

/* 모바일에선 자연스럽게 다시 줄바꿈 허용 */
@media (max-width: 1100px) {
  .tax-section .section-desc,
  .tax-lead {
    white-space: normal !important;
    font-size: 16px !important;
  }
  .tax-lead-hi {
    white-space: normal !important;
    padding: 1px 6px !important;
  }
}

/* ═══════════════════════════════════════════════
   ⭐ 사례 섹션 · reveal 요소 항상 표시 (opacity 0 이슈 해결)
   시나리오 A/B/C 전환 시 IntersectionObserver가 새 요소를 
   등록하지 못해 opacity: 0 상태로 남는 버그 방어
   ═══════════════════════════════════════════════ */
.case-section .reveal,
.case-section .reveal.reveal-delay-1,
.case-section .reveal.reveal-delay-2,
.case-section .reveal.reveal-delay-3,
.case-section .reveal.reveal-delay-4 {
  opacity: 1 !important;
  transform: none !important;
}

/* ═══════════════════════════════════════════════
   ⭐ 자산 규모 스텝퍼 · A안 세그먼트 박스 (프리미엄)
   하나의 통합 프레임 · 골드 테두리 · Apple 스타일
   슬라이더 = 큰 이동 · +/- 버튼 = 1억씩 정밀
   ═══════════════════════════════════════════════ */
.asset-stepper {
  display: grid;
  grid-template-columns: 72px 1fr 72px;
  align-items: stretch;
  margin: 32px auto 0;
  max-width: 520px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
  border: 1.5px solid rgba(212, 175, 55, 0.45);
  border-radius: 4px;
  overflow: hidden;
  box-shadow:
    0 12px 28px -12px rgba(15, 38, 55, 0.15),
    0 2px 4px rgba(15, 38, 55, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
  position: relative;
}

/* 상단 골드 얇은 라인 · 프리미엄 시그니처 */
.asset-stepper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 20%;
  right: 20%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold) 50%, transparent);
}

/* - / + 버튼 · 세그먼트 형태 */
.asset-stepper-btn {
  background: transparent;
  color: var(--navy-deep);
  border: none;
  font-family: var(--sans);
  font-size: 32px;
  font-weight: 300;
  cursor: pointer;
  transition: all 200ms cubic-bezier(0.2, 0.7, 0.2, 1);
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 0;
  position: relative;
}

/* 세로 구분선 · 얇은 골드 (아주 은은) */
.asset-stepper-btn:first-child::after,
.asset-stepper-btn:last-child::before {
  content: '';
  position: absolute;
  top: 20%;
  bottom: 20%;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(212, 175, 55, 0.35) 30%, rgba(212, 175, 55, 0.35) 70%, transparent);
}
.asset-stepper-btn:first-child::after { right: 0; }
.asset-stepper-btn:last-child::before { left: 0; }

.asset-stepper-btn:hover:not(:disabled) {
  background: linear-gradient(180deg, rgba(212, 175, 55, 0.12) 0%, rgba(212, 175, 55, 0.06) 100%);
  color: var(--gold-soft);
}
.asset-stepper-btn:active:not(:disabled) {
  background: rgba(212, 175, 55, 0.2);
  transform: scale(0.96);
}
.asset-stepper-btn:disabled {
  opacity: 0.25;
  cursor: not-allowed;
}

/* 중앙 값 영역 · 럭셔리 카드 감각 */
.asset-stepper-val {
  padding: 18px 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  background: transparent;
}
.asv-value {
  font-family: var(--serif);
  font-size: 28px;
  color: var(--navy-deep);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.asv-hint {
  font-family: var(--mono);
  font-size: 10px;
  color: var(--gold-soft);
  letter-spacing: 0.24em;
  font-weight: 600;
  text-transform: uppercase;
}

/* 모바일 · 세그먼트 유지하되 크기 조정 */
@media (max-width: 640px) {
  .asset-stepper {
    grid-template-columns: 60px 1fr 60px;
    max-width: 100%;
    margin-top: 24px;
  }
  .asset-stepper-btn {
    font-size: 26px;
  }
  .asset-stepper-val {
    padding: 14px 12px;
  }
  .asv-value {
    font-size: 22px;
  }
  .asv-hint {
    font-size: 9px;
    letter-spacing: 0.18em;
  }
}

/* ═══════════════════════════════════════════════
   ⭐ STEP 1 · 홈 라이브 시뮬레이터 · 모바일 최적화 (2026-08-18)
   PVFV Mini Simulator · iPhone/Android 대응
   원칙: 자산가 어르신 손가락 조작 · 스마트폰 강의 시연
   ═══════════════════════════════════════════════ */

/* ── 태블릿 (900px 이하) ── */
@media (max-width: 900px) {
  /* 시뮬레이터 컨테이너 · 여백 축소 */
  .pvfv-sim {
    padding: 32px 20px !important;
    margin: 0 -8px !important;
    border-radius: 6px !important;
  }
  
  /* 헤더 · 크기 조정 */
  .pvfv-sim-head {
    margin-bottom: 24px !important;
    padding-bottom: 20px !important;
  }
  .psh-eyebrow {
    font-size: 10px !important;
    letter-spacing: 0.2em !important;
    margin-bottom: 12px !important;
  }
  .psh-title {
    font-size: 22px !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
  }
  .psh-desc {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }
  
  /* 바디 · 이미 1열이지만 gap 조정 */
  .pvfv-sim-body {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  
  /* 패널 · 프리미엄 유지하며 축소 */
  .pvfv-panel {
    padding: 22px 18px !important;
    border-radius: 4px !important;
  }
  
  /* 패널 헤더 · 태그·이름·오퍼 세로 정돈 */
  .pp-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin-bottom: 18px !important;
  }
  .pp-tag {
    font-size: 11px !important;
    padding: 4px 10px !important;
  }
  .pp-name {
    font-size: 22px !important;
  }
  .pp-op {
    font-size: 13px !important;
  }
  
  /* 흐름 카드 · 지금-화살표-미래 3구역 · 세로 스택 */
  .pp-flow {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 16px 14px !important;
  }
  .pp-side {
    width: 100% !important;
    text-align: center !important;
  }
  .pp-side-lbl {
    font-size: 11px !important;
    margin-bottom: 6px !important;
  }
  .pp-side-val {
    font-size: 30px !important;
    line-height: 1.2 !important;
  }
  .pp-side-delta {
    font-size: 12px !important;
    margin-top: 6px !important;
  }
  
  /* 중앙 웨이브 · 화살표 · 모바일에선 세로 화살표로 회전 */
  .pp-wave {
    width: 100% !important;
    height: 40px !important;
    transform: rotate(90deg) !important;
    margin: 4px 0 !important;
  }
  .pp-wave-mark {
    font-size: 11px !important;
    padding: 3px 8px !important;
    transform: rotate(-90deg) !important;
  }
  
  /* 컨트롤 영역 · 슬라이더·스텝퍼 여백 */
  .pp-controls {
    margin-top: 18px !important;
    gap: 16px !important;
  }
  .pp-ctrl-row {
    gap: 12px !important;
  }
  .pp-ctrl-lbl {
    font-size: 12px !important;
    min-width: 68px !important;
  }
  .pp-slider {
    height: 8px !important;
  }
  /* 슬라이더 썸 크기 · 손가락 조작 편의 */
  .pp-slider::-webkit-slider-thumb {
    width: 26px !important;
    height: 26px !important;
  }
  .pp-slider::-moz-range-thumb {
    width: 26px !important;
    height: 26px !important;
  }
  
  /* 스텝퍼 버튼 · 터치 크기 44px 이상 (Apple HIG) */
  .pp-stepper {
    gap: 6px !important;
  }
  .pp-stepper button {
    min-width: 44px !important;
    min-height: 44px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
  }
  .pp-stepper-val {
    font-size: 15px !important;
    min-width: 64px !important;
    padding: 0 10px !important;
  }
  
  /* 공식 · 인라인 표시 · 크기 조정 */
  .pp-formula-inline {
    padding: 12px 14px !important;
    margin-top: 16px !important;
  }
  .ppfi-lbl {
    font-size: 10px !important;
    margin-bottom: 6px !important;
  }
  .ppfi-body {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
  
  /* 하단 노트 */
  .pvfv-sim-note {
    font-size: 13px !important;
    padding: 14px 16px !important;
    margin-top: 20px !important;
  }
}

/* ── 스마트폰 (640px 이하) · 밀도 최대 압축 ── */
@media (max-width: 640px) {
  .pvfv-sim {
    padding: 24px 14px !important;
    margin: 0 -12px !important;
  }
  
  .psh-title {
    font-size: 20px !important;
  }
  .psh-desc {
    font-size: 13.5px !important;
  }
  
  .pvfv-panel {
    padding: 18px 14px !important;
  }
  .pp-name {
    font-size: 20px !important;
  }
  .pp-side-val {
    font-size: 26px !important;
  }
  
  .pp-flow {
    padding: 14px 12px !important;
    gap: 10px !important;
  }
  
  .pp-wave {
    height: 36px !important;
  }
  
  .pp-ctrl-row {
    flex-wrap: wrap !important;
  }
  .pp-ctrl-lbl {
    flex: 0 0 100% !important;
    margin-bottom: 4px !important;
  }
  
  /* 스텝퍼 · 세로 정돈 */
  .pp-controls {
    gap: 14px !important;
  }
  .pp-stepper {
    justify-content: center !important;
  }
  .pp-stepper button {
    min-width: 48px !important;
    min-height: 48px !important;
    font-size: 20px !important;
  }
  
  /* 공식 · 매우 작은 화면에서 스크롤 가능 */
  .pp-formula-inline {
    padding: 10px 12px !important;
  }
  .ppfi-body {
    font-size: 13px !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
  }
}

/* ── 극단적 소형 (400px 이하 · iPhone SE 등) ── */
@media (max-width: 400px) {
  .pvfv-sim {
    padding: 20px 12px !important;
  }
  .pvfv-panel {
    padding: 16px 12px !important;
  }
  .psh-title {
    font-size: 18px !important;
  }
  .pp-name {
    font-size: 18px !important;
  }
  .pp-side-val {
    font-size: 22px !important;
  }
  .pp-stepper button {
    min-width: 42px !important;
    min-height: 42px !important;
    font-size: 18px !important;
  }
}

/* ── PVFV 상단 차트 · 모바일 대응 ── */
@media (max-width: 900px) {
  .pvfv-chart {
    padding: 20px 12px !important;
    margin: 0 -8px !important;
  }
  .pvfv-chart svg {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* ═══════════════════════════════════════════════
   ⭐ STEP 2 · 진단 결과 10블록 리포트 · 모바일 최적화 (2026-08-18)
   자산가님이 진단 완료 후 · 스마트폰에서 리포트 확인
   원칙: 손가락 조작 · 가독성 · 여백 압축
   ═══════════════════════════════════════════════ */

/* ── 태블릿 (900px 이하) · 부분 조정 ── */
@media (max-width: 900px) {
  /* 리포트 블록 · 여백 축소 */
  .report-block {
    margin-top: 40px !important;
    padding-top: 40px !important;
  }
  .rb-title {
    font-size: 24px !important;
    line-height: 1.35 !important;
  }
  .rb-desc {
    font-size: 14.5px !important;
    line-height: 1.7 !important;
  }
}

/* ── 스마트폰 (640px 이하) · 밀도 최적화 ── */
@media (max-width: 640px) {
  /* 리포트 블록 · 자산가 어르신 가독성 */
  .report-block {
    margin-top: 32px !important;
    padding-top: 32px !important;
  }
  .rb-head {
    margin-bottom: 22px !important;
  }
  .rb-num {
    font-size: 10px !important;
    letter-spacing: 0.16em !important;
    margin-bottom: 8px !important;
  }
  .rb-title {
    font-size: 22px !important;
    line-height: 1.35 !important;
    margin-bottom: 10px !important;
  }
  .rb-desc {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }
  
  /* 시나리오 카드 · 세로 스택 + 여백 축소 */
  .scenario-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
  }
  .scenario-card {
    padding: 22px 18px !important;
  }
  
  /* ⭐ 캘린더 · 손가락 조작 크기로 확대 (교수님 요청 · 예약 편의) */
  .calendar-view,
  .cal-grid,
  [class*="calendar-view"] .cal-grid,
  .calendar-wrap {
    max-width: 100% !important;
    width: 100% !important;
  }
  /* 날짜 셀 · 최소 44px (Apple HIG) */
  .cal-day,
  .calendar-day,
  [class*="cal-day"] {
    min-height: 44px !important;
    min-width: 44px !important;
    font-size: 13px !important;
  }
  
  /* 유동성 카드 · 여백 축소 */
  .liquidity-card,
  .lc-block {
    padding: 22px 18px !important;
    margin-bottom: 16px !important;
  }
  
  /* 표 · 가로 스크롤 방지 */
  .rb-table,
  table.report-table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    font-size: 13px !important;
  }
  
  /* 진단 리포트 컨테이너 · 좌우 여백 축소 */
  .report-container,
  .diagnose-report,
  [class*="report-wrap"] {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ── 극단적 소형 (400px 이하 · iPhone SE 등) ── */
@media (max-width: 400px) {
  .rb-title {
    font-size: 20px !important;
  }
  .rb-desc {
    font-size: 13.5px !important;
  }
  .scenario-card {
    padding: 18px 14px !important;
  }
  .liquidity-card,
  .lc-block {
    padding: 18px 14px !important;
  }
  .cal-day,
  .calendar-day {
    min-height: 42px !important;
    min-width: 42px !important;
    font-size: 12px !important;
  }
}

/* ═══════════════════════════════════════════════
   6. Family 섹션
   ═══════════════════════════════════════════════ */
.family-desc,
.fam-body,
.fam-quote-body {
  font-size: 17px !important;
  line-height: 1.8 !important;
  color: var(--ink) !important;
  font-weight: 450 !important;
}

/* ═══════════════════════════════════════════════
   7. K-Trust 섹션 · 4가지 이유
   ═══════════════════════════════════════════════ */
.ktrust-desc,
.kt-card-body,
.kt-reason-body,
.kt-body {
  font-size: 16.5px !important;
  line-height: 1.8 !important;
  color: var(--ink) !important;
  font-weight: 450 !important;
}

/* ═══════════════════════════════════════════════
   8. Insurance 섹션
   ═══════════════════════════════════════════════ */
.insurance-desc,
.ins-body,
.ins-note,
.ins-caption {
  font-size: 16.5px !important;
  line-height: 1.8 !important;
  color: var(--ink) !important;
  font-weight: 450 !important;
}

/* ═══════════════════════════════════════════════
   9. Report 섹션 · 진단 리포트 소개
   ═══════════════════════════════════════════════ */
.report-desc,
.rp-body,
.rp-item-body {
  font-size: 17px !important;
  line-height: 1.8 !important;
  color: var(--ink) !important;
  font-weight: 450 !important;
}

/* ═══════════════════════════════════════════════
   10. Finale 섹션 · 마무리
   ═══════════════════════════════════════════════ */
.finale-desc,
.finale-body,
.finale-cta-sub {
  font-size: 17px !important;
  line-height: 1.8 !important;
  color: var(--ink) !important;
  font-weight: 450 !important;
}

/* ═══════════════════════════════════════════════
   11. 사례 섹션 · 추가 정밀 조정
   ═══════════════════════════════════════════════ */
/* 프로필 자산 카드의 세부 텍스트 */
.asset-detail {
  font-size: 13.5px !important;
  font-weight: 500 !important;
}
/* 시나리오 서브타이틀 */
.panel-subtitle {
  font-size: 15px !important;
  color: var(--ink-2) !important;
  font-weight: 500 !important;
}
/* 스토리 노트 (시나리오 내부) */
.story-note {
  font-size: 14px !important;
  color: var(--ink-2) !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
}
/* 결과 카드 라벨 */
.outcome-label {
  font-size: 12px !important;
  font-weight: 700 !important;
}
/* 실무 팁 카드 설명 */
.practice-desc {
  font-size: 15.5px !important;
  color: var(--ink) !important;
  font-weight: 450 !important;
  line-height: 1.8 !important;
}
/* 3층 다이어그램 설명 */
.layer-desc {
  font-size: 16.5px !important;
  color: var(--ink) !important;
  font-weight: 450 !important;
  line-height: 1.85 !important;
}
/* CTA 노트 */
.cta-note {
  font-size: 13px !important;
  font-weight: 500 !important;
}
/* 시나리오 인용 body */
.sq-body {
  font-size: 16.5px !important;
  color: var(--ink) !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
}

/* ⭐ PV/FV 시뮬레이터 · 증가/감소 표시 강화 */
/* 두 배지가 동일한 시각 구조 · 색상만으로 대비 부각 */

/* PV → FV (증가) · 금색으로 상승감 */
.pp-side-delta {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--gold-soft) !important;
  padding: 3px 8px !important;
  background: rgba(212, 175, 55, 0.08) !important;
  border: 1px solid rgba(212, 175, 55, 0.35) !important;
  border-radius: 2px !important;
  display: inline-block !important;
  margin-top: 6px !important;
  letter-spacing: 0.02em !important;
}
/* FV → PV (할인) · 빨간색으로 손실감·압축감 강조 */
.pp-side-delta-minus,
.pp-side-delta.pp-side-delta-minus {
  color: #c92a2a !important;
  background: rgba(201, 42, 42, 0.06) !important;
  border: 1px solid rgba(201, 42, 42, 0.28) !important;
  font-weight: 700 !important;
}
/* 법적 근거 라벨 */
.legal-body {
  font-size: 13px !important;
  color: var(--ink-2) !important;
  font-weight: 500 !important;
}
.legal-tag {
  font-size: 11px !important;
  font-weight: 700 !important;
}

/* ═══════════════════════════════════════════════
   12. 다크 배경 · 대비 강화
   ═══════════════════════════════════════════════ */
section.dark p,
section.dark .section-desc,
section.dark .st-desc,
section.dark .tax-desc,
.hero .hero-lead {
  color: #e5ebf1 !important;
}
section.dark .eyebrow,
section.dark .st-eyebrow,
section.dark .tax-eyebrow {
  color: #e8cc7a !important;   /* 골드 라이트 · 다크 배경에서 강함 */
}

/* ═══════════════════════════════════════════════
   13. 인용부호(quotation) 강조
   ═══════════════════════════════════════════════ */
blockquote,
.quote-body {
  font-weight: 500 !important;
}

/* ═══════════════════════════════════════════════
   14. 링크 · 클릭 유도 요소
   ═══════════════════════════════════════════════ */
a.nav-cta,
.btn,
.diag-btn,
.cta-btn {
  font-weight: 600 !important;
}

/* ═══════════════════════════════════════════════
   15. Nav 메뉴 · 강의자가 클릭할 링크
   ═══════════════════════════════════════════════ */
.nav-links a {
  font-size: 15px !important;
  font-weight: 500 !important;
}

/* ═══════════════════════════════════════════════
   반응형 조정 · 모바일에선 조금 더 큰 크기
   ═══════════════════════════════════════════════ */
@media (max-width: 640px) {
  .worry-desc { font-size: 15px !important; }
  .practice-desc { font-size: 14.5px !important; }
  .layer-desc { font-size: 15.5px !important; }
  .story-note { font-size: 13px !important; }
  .was-detail { font-size: 13px !important; }
}


/* ═══════════════════════════════════════════════
   ⭐ 시나리오 비교 카드 · 가독성 대폭 강화 (교수님 지시 2026-08-22)
   진단 리포트 · "세 가지 시점의 시나리오 비교" 슬라이드 전용
   자산가 어르신 (60대+) 관점 · 크게·진하게·명확하게
   ═══════════════════════════════════════════════ */

/* 카드 자체 · 여백·그림자 강화 */
.scenario-card {
  padding: 32px 28px !important;
  box-shadow: 0 12px 28px -12px rgba(15, 38, 55, 0.12), 0 2px 4px rgba(15, 38, 55, 0.04) !important;
  border-width: 1.5px !important;
}

/* 상단 골드 라인 · 두껍게 */
.scenario-card::before {
  height: 3px !important;
  width: 48px !important;
}

/* "가장 낮은 세액" 배지 · 크게 */
.scenario-best {
  font-size: 12px !important;
  padding: 6px 14px !important;
  letter-spacing: 0.16em !important;
  top: -14px !important;
  right: 20px !important;
  box-shadow: 0 6px 14px -4px rgba(212, 175, 55, 0.5) !important;
}

/* "SCENARIO 01" 라벨 · 두 배 이상 */
.scenario-lbl {
  font-size: 12px !important;
  letter-spacing: 0.24em !important;
  color: var(--gold-soft) !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}

/* "지금 상속" · 시나리오 제목 · 크게 */
.scenario-title {
  font-size: 24px !important;
  color: var(--navy-deep) !important;
  font-weight: 700 !important;
  margin-bottom: 6px !important;
  letter-spacing: -0.02em !important;
}

/* "현재 시점" · 부제 · 크게·진하게 */
.scenario-period {
  font-size: 14px !important;
  color: var(--navy) !important;
  font-weight: 600 !important;
  margin-bottom: 24px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px dashed var(--line) !important;
  letter-spacing: -0.005em !important;
}

/* 프로그레스 바 · 두껍게 */
.scenario-bar {
  height: 10px !important;
  margin-bottom: 20px !important;
  border-radius: 2px !important;
}

/* "예상 상속세" · 라벨 · 크게·진하게 */
.st-lbl {
  font-size: 14px !important;
  color: var(--navy) !important;
  font-weight: 700 !important;
  letter-spacing: -0.005em !important;
}

/* "약 305.9억" · 큰 숫자 · 더 크게 */
.st-val {
  font-size: 34px !important;
  color: var(--navy-deep) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
}
.scenario-card.is-best .st-val {
  color: var(--gold-soft) !important;
}
.st-val em {
  font-size: 15px !important;
  color: var(--ink-2) !important;
  font-weight: 500 !important;
}

/* "과세 대상 : 약 656.0억" · 크게·진하게 */
.scenario-base {
  font-size: 13px !important;
  color: var(--navy) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  margin-bottom: 18px !important;
  padding: 8px 12px !important;
  background: var(--paper-2) !important;
  border-left: 2px solid var(--gold-soft) !important;
  border-radius: 0 2px 2px 0 !important;
}

/* "현재 자산 구조..." · 설명 · 크게·진하게 */
.scenario-note {
  font-size: 14px !important;
  color: var(--ink) !important;
  line-height: 1.75 !important;
  font-weight: 500 !important;
  padding-top: 16px !important;
  border-top: 1.5px solid var(--line) !important;
  letter-spacing: -0.005em !important;
}

/* is-best (사전 증여 병행) · 골드 강조 더 명확하게 */
.scenario-card.is-best {
  border-color: var(--gold) !important;
  border-width: 2px !important;
  box-shadow: 
    0 0 0 1px var(--gold) inset,
    0 16px 36px -12px rgba(212, 175, 55, 0.4),
    0 4px 8px rgba(212, 175, 55, 0.15) !important;
  background: linear-gradient(180deg, rgba(212, 175, 55, 0.06) 0%, rgba(212, 175, 55, 0.02) 100%) !important;
}

/* 하단 인사이트 박스 · 강화 */
.scenario-insight {
  padding: 28px 32px !important;
  border-left-width: 4px !important;
}
.si-mark {
  font-size: 24px !important;
}
.si-body {
  font-size: 15.5px !important;
  line-height: 1.85 !important;
  color: #e0e6ec !important;
  font-weight: 500 !important;
}
.si-body strong {
  color: white !important;
  font-weight: 700 !important;
}
.si-body em {
  color: var(--gold-light) !important;
  font-weight: 700 !important;
  border-bottom: 1px solid var(--gold) !important;
  padding-bottom: 1px !important;
}

/* 모바일 · 시나리오 카드 · 추가 조정 */
@media (max-width: 640px) {
  .scenario-card {
    padding: 24px 20px !important;
  }
  .scenario-title { font-size: 20px !important; }
  .st-val { font-size: 28px !important; }
  .scenario-note { font-size: 13px !important; }
  .scenario-insight { padding: 20px 22px !important; }
  .si-body { font-size: 14px !important; }
}


/* ═══════════════════════════════════════════════
   ⭐ 시나리오 카드 · 라벨·값 배열 정돈 (교수님 지시 2026-08-22)
   "예상 상속세 · 약 305.9억" · 한 줄로 · 럭셔리 배치
   ═══════════════════════════════════════════════ */

/* 라벨·값 컨테이너 · 세로 배치로 · 럭셔리 프리미엄 감각 */
.scenario-tax {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
  padding-bottom: 12px !important;
  margin-bottom: 12px !important;
}

/* 라벨 · 상단 · 모노 감각 (프리미엄 카드 표준) */
.st-lbl {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  color: var(--gold-soft) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
/* "예상 상속세" 텍스트 · 대문자화되지 않도록 · 한글이라 자연 표시 */

/* 값 · 큰 서리프 · 한 줄 · 우아하게 */
.st-val {
  font-family: var(--serif) !important;
  font-size: 34px !important;
  color: var(--navy-deep) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 2px !important;
}
.scenario-card.is-best .st-val {
  color: var(--gold-soft) !important;
}
/* 단위 "억" · 값 옆에 자연 배치 */
.st-val em {
  font-family: var(--sans) !important;
  font-style: normal !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--ink-2) !important;
  margin-left: 4px !important;
}

/* 모바일 · 카드 폭 좁을 때 · 값 크기 미세 조정 */
@media (max-width: 640px) {
  .st-lbl { font-size: 10px !important; letter-spacing: 0.16em !important; }
  .st-val { font-size: 28px !important; }
  .st-val em { font-size: 14px !important; }
}


/* ═══════════════════════════════════════════════
   ⭐ 시나리오 카드 · 컬러 심리 완성 (교수님 지시 2026-08-22)
   
   컬러 룰:
   🔴 예상 상속세 (라벨) · 다크 레드 · 경고·부담
   🟦 약 305.9억 (숫자) · 진한 네이비 · 안정·정보
   🟨 과세 대상 · 골드 · K-Trust 시그니처
   ✨ 사전 증여 병행 카드 · 골드 강조 · 최적 = 이익
   
   자산가 심리 · 정확히 3색으로 안내
   ═══════════════════════════════════════════════ */

/* 🔴 "예상 상속세" 라벨 · 다크 레드 (경고 컬러) */
.scenario-card .st-lbl {
  color: #a13030 !important;
  font-weight: 700 !important;
}

/* 🟦 값 · 진한 네이비 유지 (안정 · 정보) */
.scenario-card .st-val {
  color: var(--navy-deep) !important;
}

/* ✨ 사전 증여 병행 카드 (is-best) · 값만 골드 · 이익 시그널 */
.scenario-card.is-best .st-val {
  color: var(--gold-soft) !important;
}

/* is-best · 라벨은 · 여전히 다크 레드 유지 (여전히 상속세는 부담) */
.scenario-card.is-best .st-lbl {
  color: #a13030 !important;
}


/* ═══════════════════════════════════════════════
   ⭐ 정기금평가 & 시점별 자산 가치 카드 · 가독성 강화 (교수님 지시 2026-08-22)
   진단 리포트 · "정기금평가와 PV/FV 시뮬레이션" 슬라이드 전용
   자산가 어르신 관점 · 작은 글씨 · 크게·진하게
   ═══════════════════════════════════════════════ */

/* ─── 카드 컨테이너 · 여백·그림자 강화 ─── */
.annuity-sim, .pvfv-sim {
  padding: 36px 32px !important;
  box-shadow: 0 12px 28px -12px rgba(15, 38, 55, 0.1), 0 2px 4px rgba(15, 38, 55, 0.04) !important;
  border-width: 1.5px !important;
  margin-bottom: 24px !important;
}
.annuity-sim::before, .pvfv-sim::before {
  height: 3px !important;
  width: 60px !important;
}

/* ─── 상단 라벨 · "SIMULATION · Fixed-term Annuity §65" ─── */
.as-lbl, .ps-lbl {
  font-size: 12px !important;
  letter-spacing: 0.24em !important;
  color: var(--gold-soft) !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}

/* ─── 카드 제목 · "계약 잔여기간 기준 유기정기금 평가" ─── */
.as-title, .ps-title {
  font-size: 24px !important;
  color: var(--navy-deep) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 12px !important;
  line-height: 1.35 !important;
}

/* ─── 카드 설명 · "임대차 계약 잔여기간 15년을 기준으로..." ─── */
.as-note, .ps-note {
  font-size: 14.5px !important;
  color: var(--ink) !important;
  line-height: 1.85 !important;
  font-weight: 500 !important;
  padding-bottom: 22px !important;
  margin-bottom: 24px !important;
}
.as-note strong, .ps-note strong {
  color: var(--navy-deep) !important;
  font-weight: 700 !important;
}

/* ─── Step 카드 (Step 01 · 명목 합계) ─── */
.asf-node {
  padding: 24px 22px !important;
  border-width: 1.5px !important;
}
.asf-lbl {
  font-size: 12px !important;
  letter-spacing: 0.22em !important;
  color: var(--gold-soft) !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}
.asf-node-highlight .asf-lbl {
  color: var(--gold-light) !important;
}
.asf-val {
  font-size: 34px !important;
  color: var(--navy-deep) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 10px !important;
  white-space: nowrap !important;
}
.asf-val em {
  font-size: 16px !important;
  color: var(--ink-2) !important;
  font-weight: 500 !important;
  margin-left: 4px !important;
}
.asf-node-gold .asf-val {
  color: var(--gold-soft) !important;
}
.asf-node-highlight .asf-val {
  color: var(--gold-light) !important;
}
.asf-node-highlight .asf-val em {
  color: #d0dbe6 !important;
}

/* ─── Step 부제 · "연 1.20억 × 15년" · "할인율 3% 적용" · "평가액 20% 절감" ─── */
.asf-sub {
  font-size: 13px !important;
  color: var(--ink) !important;
  line-height: 1.7 !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
}
.asf-sub strong {
  color: var(--gold-soft) !important;
  font-weight: 700 !important;
}
.asf-node-highlight .asf-sub {
  color: #d0dbe6 !important;
}
.asf-node-highlight .asf-sub strong {
  color: var(--gold-light) !important;
}

/* ─── Step 간 화살표 (→ · =) ─── */
.asf-arrow {
  font-size: 22px !important;
  color: var(--gold-soft) !important;
  font-weight: 400 !important;
}

/* ─── 하단 인사이트 박스 · "계약 기간이 15년으로 정해져 있어..." ─── */
.annuity-sim .lightbulb-tip,
.annuity-sim .as-tip,
.annuity-sim [class*="tip"] {
  padding: 20px 26px !important;
  border-radius: 3px !important;
}

/* ═══════════════════════════════════════════════
   ⭐ 시점별 자산 가치 · 예상 상속세 카드 (pvfv3-*) 강화
   ═══════════════════════════════════════════════ */

/* 3장 카드 컨테이너 */
.pvfv3-grid {
  gap: 20px !important;
}

/* 각 카드 (현재 시점 · 5년 뒤 · 10년 뒤) */
.pvfv3-card {
  padding: 28px 24px !important;
  border-width: 1.5px !important;
  box-shadow: 0 10px 24px -12px rgba(15, 38, 55, 0.1), 0 2px 4px rgba(15, 38, 55, 0.04) !important;
}

/* 상단 태그 · "PV · 지금 상속" · "+ 5년 후 상속" · "FV · +10년 후 상속" */
.pvfv3-tag {
  font-size: 12px !important;
  letter-spacing: 0.22em !important;
  color: var(--gold-soft) !important;
  font-weight: 700 !important;
  margin-bottom: 14px !important;
}

/* 시점 제목 · "현재 시점" · "5년 뒤" · "10년 뒤" */
.pvfv3-time,
.pvfv3-card h4 {
  font-size: 20px !important;
  color: var(--navy-deep) !important;
  font-weight: 700 !important;
  margin-bottom: 18px !important;
  letter-spacing: -0.01em !important;
}

/* 자산 규모 라벨 · "자산 규모 · +9.4억 증가" */
.pvfv3-a-lbl {
  font-size: 13px !important;
  color: var(--ink) !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
}

/* 자산 규모 값 · "50.0억" · "59.4억" · "70.5억" */
.pvfv3-asset,
.pvfv3-a-val {
  font-family: var(--serif) !important;
  font-size: 28px !important;
  color: var(--navy-deep) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
  margin-bottom: 20px !important;
  white-space: nowrap !important;
}
.pvfv3-asset em,
.pvfv3-a-val em {
  font-size: 14px !important;
  color: var(--ink-2) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  margin-left: 3px !important;
}

/* 🔴 예상 상속세 라벨 · 다크 레드 (컬러 심리 · 부담 시그널) */
.pvfv3-tax-lbl {
  font-size: 13px !important;
  color: #a13030 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}

/* 예상 상속세 값 · "약 7.8억" · "약 11.9억" · "약 17.5억" */
.pvfv3-tax,
.pvfv3-tax-val {
  font-family: var(--serif) !important;
  font-size: 32px !important;
  color: var(--navy-deep) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
  margin-bottom: 18px !important;
  white-space: nowrap !important;
}
.pvfv3-tax em,
.pvfv3-tax-val em {
  font-size: 15px !important;
  color: var(--ink-2) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  margin-left: 3px !important;
}

/* 하단 배지 · "기준 시점" · "지금 대비 +4.0억 추가" */
.pvfv3-badge {
  font-size: 13px !important;
  padding: 10px 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  border-radius: 2px !important;
}
.pvfv3-badge strong {
  font-weight: 800 !important;
  color: #a13030 !important;
}
/* 10년 뒤 카드 (dark 강조) · 배지는 골드 반전 */
.pvfv3-badge-dark {
  background: var(--navy-deep) !important;
  color: var(--gold-light) !important;
}
.pvfv3-badge-dark strong {
  color: var(--gold) !important;
}

/* ─── 모바일 · 시나리오·PV/FV 카드 · 최적 크기 ─── */
@media (max-width: 640px) {
  .annuity-sim, .pvfv-sim {
    padding: 24px 20px !important;
  }
  .as-title, .ps-title { font-size: 20px !important; }
  .as-note, .ps-note { font-size: 13.5px !important; }
  .asf-node { padding: 18px 16px !important; }
  .asf-val { font-size: 26px !important; }
  .asf-sub { font-size: 12px !important; }
  .asf-arrow { font-size: 18px !important; }
  
  .pvfv3-card { padding: 22px 18px !important; }
  .pvfv3-time,
  .pvfv3-card h4 { font-size: 18px !important; }
  .pvfv3-asset,
  .pvfv3-a-val { font-size: 24px !important; }
  .pvfv3-tax,
  .pvfv3-tax-val { font-size: 26px !important; }
}

/* ═══════════════════════════════════════════════
   ⭐ PV/FV 카드 · 딱 두 곳만 · 다크 레드 (교수님 지시 2026-08-22)
   
   1. "예상 상속세" 라벨 · 다크 레드
   2. 배지 안 "+169.4억" 숫자 (strong) · 다크 레드
   
   기본 내용·배치 · 완전 보존
   ═══════════════════════════════════════════════ */

/* 🔴 1. 예상 상속세 라벨 · 다크 레드 (모든 카드 통일) */
.pvfv3-t-lbl {
  color: #a13030 !important;
}

/* 배지 배경 · 검정 → 밝은 골드 톤 (교수님 이전 지시 유지) */
.pvfv3-badge-alert {
  background: rgba(212, 175, 55, 0.15) !important;
  color: var(--ink) !important;
  border: 1px solid rgba(212, 175, 55, 0.5) !important;
}

/* 🔴 2. 배지 안 · "+169.4억" 숫자 (strong 태그) · 다크 레드 */
.pvfv3-badge-alert strong {
  color: #a13030 !important;
  font-weight: 800 !important;
}


/* ═══════════════════════════════════════════════
   ⭐ Live Simulator · 강의장 뒷자리 가독성 (교수님 지시 2026-08-22)
   
   원칙:
   · 딱 · 글자 크기·진하기만 조정
   · 배치·색상·레이아웃 · 절대 안 건드림
   
   대상:
   · 연간 임대료 · 평가 기간 · 할인율 (라벨)
   · 0억·5억·10억 (스케일)
   · 1~20년 · §62 무기정기금 상한 (노트)
   · §62 · 매년 개정 (2025년 기준 3%) (노트)
   · Step 01 · 명목 합계 (라벨)
   · 연 1.50억 × 15년 (부제)
   · 평가액 20% 절감 (부제)
   ═══════════════════════════════════════════════ */

/* 컨트롤 라벨 · "연간 임대료" · "평가 기간" · "할인율" */
.lso-controls .ctrl-hdr label {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--navy-deep) !important;
}

/* 컨트롤 값 · "1.50 억" · "15 년" · "3.0 %" */
.lso-controls .ctrl-val strong {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--navy-deep) !important;
}
.lso-controls .ctrl-val .unit {
  font-size: 15px !important;
  color: var(--ink) !important;
  font-weight: 600 !important;
}

/* 슬라이더 스케일 · "0억 · 5억 · 10억" */
.lso-controls .ctrl-scale span {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
}

/* 스텝퍼 값 · "15년" · "3.0%" (중앙 표시) */
.lso-controls .stepper-val {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--navy-deep) !important;
}

/* 컨트롤 노트 · "1~20년 · §62 무기정기금 상한" · "§62 · 매년 개정" */
.lso-controls .ctrl-note {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
}

/* Step 결과 카드 · 라벨 · "Step 01 · 명목 합계" */
.lso-result .lrn-lbl {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  color: var(--gold-soft) !important;
}
/* Dark 카드 · "할인 효과" 라벨 · 밝게 */
.lso-res-node-dark .lrn-lbl {
  color: var(--gold-light) !important;
}

/* Step 결과 값 · "22.5 억" · "17.9 억" · "-4.6 억" */
.lso-result .lrn-val {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: var(--navy-deep) !important;
  letter-spacing: -0.02em !important;
}
.lso-result .lrn-val span {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--ink-2) !important;
}
/* 골드 카드 · 값 */
.lso-res-node-gold .lrn-val {
  color: var(--gold-soft) !important;
}
/* Dark 카드 · 값 · 골드 */
.lso-res-node-dark .lrn-val {
  color: var(--gold-light) !important;
}
.lso-res-node-dark .lrn-val span {
  color: #d0dbe6 !important;
}

/* Step 결과 부제 · "연 1.50억 × 15년" · "할인율 3.0% 적용" · "평가액 20% 절감" */
.lso-result .lrn-sub {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  letter-spacing: -0.005em !important;
}
/* Dark 카드 · 부제 · 밝게 */
.lso-res-node-dark .lrn-sub {
  color: #d0dbe6 !important;
}

/* 화살표 (→ · =) · 크게 */
.lso-result .lso-res-arrow {
  font-size: 22px !important;
  font-weight: 500 !important;
  color: var(--gold-soft) !important;
}

/* 하단 코멘트 · "연 임대료 1.50억 × 15년 (명목 22.5억)을..." */
.lso-comment {
  font-size: 14px !important;
  line-height: 1.75 !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
}
.lso-comment strong {
  font-weight: 700 !important;
  color: var(--navy-deep) !important;
}

/* ═══════════════════════════════════════════════════════════════
   ⭐ THE MOMENT OF TRUTH · SIMULATOR B · PV/FV 3장 카드 임팩트 강화
   ───────────────────────────────────────────────────────────────
   교수님 지시: 이 화면이 세미나의 결정적 순간.
   390.4억 → 559.8억 · "야~~ 이거 큰일이다" 감정 스위치.
   상담 신청 → 종신보험 헷지 유도의 마지막 관문.
   
   원칙: 배치 원상 유지 · 크기·색상·간격·강조만
   ═══════════════════════════════════════════════════════════════ */

/* ─── 3장 카드 그리드 · 숨통 트이게 ─── */
.lso-pvfv-grid {
  gap: 20px !important;
  margin-top: 8px !important;
}

/* ─── 카드 자체 · 여유·격조 ─── */
.pvfv-card {
  padding: 26px 22px !important;
  border-radius: 14px !important;
  position: relative !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
}

/* 10년 뒤 카드 · 살짝 스포트라이트 (제일 무서운 카드) */
.pvfv-card-dark {
  box-shadow:
    0 12px 40px -12px rgba(161, 48, 48, 0.25),
    0 2px 8px rgba(0, 0, 0, 0.06) !important;
  border: 1.5px solid rgba(161, 48, 48, 0.15) !important;
}

/* ─── 카드 상단 태그 (PV·현재 / FV·+5년 / FV·+10년) ─── */
.pvfv-card .pvfv-eyebrow {
  font-size: 12px !important;
  letter-spacing: 0.14em !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}

/* ─── "지금" / "5년 뒤" / "10년 뒤" 시점 ─── */
.pvfv-card .pvfv-year {
  font-size: 26px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 20px !important;
}

/* ─── 자산 규모 영역 ─── */
.pvfv-card .pvfv-asset {
  margin-bottom: 16px !important;
}
.pvfv-card .pvfv-asset .pv-lbl {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ink-dim, #6b7280) !important;
  letter-spacing: 0.02em !important;
  display: block !important;
  margin-bottom: 4px !important;
}
.pvfv-card .pvfv-asset .pv-val {
  font-size: 30px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--navy-deep, #0f2340) !important;
}
.pvfv-card .pvfv-asset .pv-val span {
  font-size: 18px !important;
  font-weight: 600 !important;
  margin-left: 2px !important;
  color: var(--navy, #1e3a5f) !important;
}

/* ═══════════════════════════════════════════════
   🔴 예상 상속세 라벨 · 다크 레드 · 크고 진하게
   ═══════════════════════════════════════════════ */
.pvfv-card .pvfv-tax .pv-lbl {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #a13030 !important;
  letter-spacing: 0.03em !important;
  display: block !important;
  margin-bottom: 6px !important;
  text-transform: none !important;
}

/* ═══════════════════════════════════════════════
   💰 상속세 금액 · 골드 → 딥 크림슨 (부담·경고)
   인라인 스타일 오버라이드 (!important 필수)
   ═══════════════════════════════════════════════ */
.pvfv-card .pvfv-tax .pv-val {
  font-size: 34px !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.1 !important;
  text-shadow: 0 1px 0 rgba(0,0,0,0.02) !important;
}

/* 지금 (현재) · 진한 네이비 (기준값 · 아직 부담 안 큼) */
.pvfv-card:not(.pvfv-card-gold):not(.pvfv-card-dark) .pvfv-tax .pv-val {
  color: #1a3a5c !important;
}
.pvfv-card:not(.pvfv-card-gold):not(.pvfv-card-dark) .pvfv-tax .pv-val span {
  color: #1a3a5c !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  margin-left: 2px !important;
}

/* 5년 뒤 (Gold 카드) · 미들 크림슨 (경고 시작) */
.pvfv-card-gold .pvfv-tax .pv-val {
  color: #b83838 !important;
}
.pvfv-card-gold .pvfv-tax .pv-val span {
  color: #b83838 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  margin-left: 2px !important;
}

/* 10년 뒤 (Dark 카드) · 딥 크림슨 + 살짝 큼 (최고 경고) */
.pvfv-card-dark .pvfv-tax .pv-val {
  color: #8b1e1e !important;
  font-size: 38px !important;
}
.pvfv-card-dark .pvfv-tax .pv-val span {
  color: #8b1e1e !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  margin-left: 2px !important;
}

/* ─── "약" 글자만 살짝 작게 (금액 강조를 위해) ─── */
.pvfv-card .pvfv-tax .pv-val::first-letter {
  font-size: 0.68em !important;
  font-weight: 600 !important;
  opacity: 0.7 !important;
  margin-right: 2px !important;
}

/* ═══════════════════════════════════════════════
   🎯 하단 배지 · "지금 대비 +XX억" · 임팩트 강화
   ═══════════════════════════════════════════════ */
.pvfv-card .pvfv-badge {
  margin-top: 18px !important;
  padding: 12px 16px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  text-align: center !important;
}

/* 기준 시점 배지 · 중립 */
.pvfv-card .pvfv-badge-base {
  background: rgba(30, 58, 95, 0.06) !important;
  color: #4a5568 !important;
  font-weight: 600 !important;
}

/* 5년 뒤 배지 · 다크 레드 톤 (경고) */
.pvfv-card-gold .pvfv-badge {
  background: rgba(184, 56, 56, 0.08) !important;
  color: #b83838 !important;
  border: 1px solid rgba(184, 56, 56, 0.2) !important;
  font-size: 15px !important;
}

/* 10년 뒤 배지 · 딥 다크 레드 (최고 경고 · "야 큰일이다") */
.pvfv-card-dark .pvfv-badge,
.pvfv-card .pvfv-badge-dark {
  background: linear-gradient(135deg, #8b1e1e 0%, #a13030 100%) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  box-shadow:
    0 4px 14px -2px rgba(139, 30, 30, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
  padding: 14px 18px !important;
}

/* ═══════════════════════════════════════════════
   📢 하단 요약 문장 · 강의장 뒷자리에서도 읽히게
   "현재 825억 시점 상속세는 약 390.4억이며..."
   ═══════════════════════════════════════════════ */
.lso-comment.lso-comment-dark {
  margin-top: 24px !important;
  padding: 22px 26px !important;
  background: linear-gradient(135deg, #0f1f38 0%, #172a44 100%) !important;
  border-radius: 12px !important;
  border-left: 4px solid #a13030 !important;
  box-shadow: 0 8px 24px -8px rgba(15, 31, 56, 0.25) !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
}

.lso-comment.lso-comment-dark .lc-mark {
  font-size: 22px !important;
  line-height: 1.2 !important;
  flex-shrink: 0 !important;
  filter: drop-shadow(0 0 6px rgba(212, 175, 55, 0.3)) !important;
}

.lso-comment.lso-comment-dark .lc-body {
  font-size: 16px !important;
  line-height: 1.75 !important;
  font-weight: 500 !important;
  color: #f4f0e6 !important;
  letter-spacing: -0.005em !important;
}

/* 요약 문장 안에서 자동으로 숫자 강조는 안 함 (원상 유지 원칙),
   대신 전체를 크림 화이트로 대비 극대화 */

/* ═══════════════════════════════════════════════
   📱 모바일 대응 · 임팩트 유지하되 스케일 다운
   ═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  .lso-pvfv-grid {
    gap: 14px !important;
  }
  .pvfv-card {
    padding: 20px 18px !important;
  }
  .pvfv-card .pvfv-year {
    font-size: 22px !important;
    margin-bottom: 14px !important;
  }
  .pvfv-card .pvfv-asset .pv-val {
    font-size: 24px !important;
  }
  .pvfv-card .pvfv-asset .pv-val span {
    font-size: 15px !important;
  }
  .pvfv-card .pvfv-tax .pv-lbl {
    font-size: 13px !important;
  }
  .pvfv-card .pvfv-tax .pv-val {
    font-size: 28px !important;
  }
  .pvfv-card:not(.pvfv-card-gold):not(.pvfv-card-dark) .pvfv-tax .pv-val span,
  .pvfv-card-gold .pvfv-tax .pv-val span {
    font-size: 18px !important;
  }
  .pvfv-card-dark .pvfv-tax .pv-val {
    font-size: 30px !important;
  }
  .pvfv-card-dark .pvfv-tax .pv-val span {
    font-size: 19px !important;
  }
  .pvfv-card .pvfv-badge {
    font-size: 13px !important;
    padding: 10px 14px !important;
  }
  .pvfv-card-dark .pvfv-badge,
  .pvfv-card .pvfv-badge-dark {
    font-size: 14px !important;
    padding: 12px 14px !important;
  }
  .lso-comment.lso-comment-dark {
    padding: 18px 20px !important;
    gap: 10px !important;
  }
  .lso-comment.lso-comment-dark .lc-body {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   ⭐ 무상사용이익 증여 vs 정기금평가 비교 (§37 vs §65) 강화
   ───────────────────────────────────────────────────────────────
   교수님 지시: 뒷자리에서 안 읽힘 · 글자 작고 흐림.
   중요 부분 진하게 · 크기 보강.
   원칙: 배치·색상 톤 원상 유지 · 크기·굵기·대비만
   ═══════════════════════════════════════════════════════════════ */

/* ─── 상단 안내 문구 (as-note) ─── */
.annuity-sim .as-note {
  font-size: 15px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  color: #2a3548 !important;
  margin-bottom: 8px !important;
}
.annuity-sim .as-note strong {
  font-weight: 700 !important;
  color: var(--navy-deep, #0f2340) !important;
}

/* ─── Case A / B 카드 · 여유 확보 ─── */
.gratuit-compare .gc-card {
  padding: 26px 24px !important;
  border-radius: 12px !important;
}

/* ─── 카드 상단 태그 (Case A · 상증법 §37) ─── */
.gratuit-compare .gc-tag {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  margin-bottom: 10px !important;
}

/* ─── 카드 제목 (그냥 무상 사용하게 함 / 수익권만 정식 증여) ─── */
.gratuit-compare .gc-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.3 !important;
  margin-bottom: 8px !important;
  color: var(--navy-deep, #0f2340) !important;
}

/* ─── 카드 부제 (→ 매년 임대료가 증여로 간주) ─── */
.gratuit-compare .gc-sub {
  font-size: 15px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
  color: #3a4a63 !important;
  margin-bottom: 20px !important;
}
.gratuit-compare .gc-sub strong {
  font-weight: 800 !important;
  color: var(--navy-deep, #0f2340) !important;
}

/* ─── 지표 영역 · 각 행 (연 임대료 / 누적 증여액) ─── */
.gratuit-compare .gc-metric {
  margin: 10px 0 16px 0 !important;
}
.gratuit-compare .gcm-row {
  padding: 10px 0 !important;
  align-items: baseline !important;
}
.gratuit-compare .gcm-row .gcm-k {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #4a5568 !important;
  letter-spacing: 0.005em !important;
}
.gratuit-compare .gcm-row .gcm-v {
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  color: var(--navy-deep, #0f2340) !important;
}

/* ═══════════════════════════════════════════════
   🎯 핵심 하이라이트 행 (예상 증여세) · gcm-hi
   ⭐ 세로 스택 전환 · 줄바꿈 방지 · 계산식 추가
   Case A는 다크 레드 (부담) · Case B는 골드 (이익)
   ═══════════════════════════════════════════════ */
.gratuit-compare .gcm-row.gcm-hi {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
  padding: 16px 0 8px 0 !important;
  border-top: 1.5px dashed rgba(15, 35, 64, 0.15) !important;
  margin-top: 10px !important;
}
.gratuit-compare .gcm-row.gcm-hi .gcm-k {
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.005em !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
}
.gratuit-compare .gcm-row.gcm-hi .gcm-v {
  font-size: 34px !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  align-self: flex-end !important;
  margin-top: 2px !important;
}

/* Case A (warn) · 예상 증여세 · 다크 레드 (부담) */
.gratuit-compare .gc-card-warn .gcm-row.gcm-hi .gcm-k {
  color: #a13030 !important;
}
.gratuit-compare .gc-card-warn .gcm-row.gcm-hi .gcm-v {
  color: #a13030 !important;
}

/* Case B (good) · 예상 증여세 · 골드 강화 (이익 · 유지) */
.gratuit-compare .gc-card-good .gcm-row.gcm-hi .gcm-k {
  color: #2a3548 !important;
}
.gratuit-compare .gc-card-good .gcm-row.gcm-hi .gcm-v {
  color: var(--gold, #b8935a) !important;
  text-shadow: 0 1px 0 rgba(0,0,0,0.02) !important;
}

/* ═══════════════════════════════════════════════
   📐 계산식 삽입 (A안 · CSS ::after)
   ⭐ Case A: 3.6억 × 20년 × 30% = 21.6억
   ⭐ Case B: 53.6억 × 20% = 10.7억
   그리고 세율 가정 설명
   ═══════════════════════════════════════════════ */

/* Case A · 계산식 & 세율 근거 */
.gratuit-compare .gc-card-warn .gcm-row.gcm-hi::after {
  content: "🧮  연 임대료 상당액 × 20년 × 30%  =  예상 증여세\A\A📘  왜 30%?  매년 임대료 상당액이 별건의 증여로 누적되어\A     상속·증여세 누진세율표(5~10억 30% · 10~30억 40% · 30억 초과 50%)의\A     상위 구간이 반복 적용됨. 평균 실효세율 30% 로 보수적 가정.";
  display: block !important;
  white-space: pre-wrap !important;
  width: 100% !important;
  margin-top: 14px !important;
  padding: 14px 16px !important;
  font-family: 'D2Coding', 'IBM Plex Mono', 'Menlo', ui-monospace, monospace !important;
  font-size: 12.5px !important;
  line-height: 1.75 !important;
  font-weight: 500 !important;
  color: #4a2020 !important;
  background: rgba(161, 48, 48, 0.05) !important;
  border-left: 3px solid rgba(161, 48, 48, 0.35) !important;
  border-radius: 6px !important;
  letter-spacing: -0.005em !important;
}

/* Case B · 계산식 & 세율 근거 */
.gratuit-compare .gc-card-good .gcm-row.gcm-hi::after {
  content: "🧮  정기금평가 PV × 20%  =  예상 증여세\A     (PV = 연 임대료 × [1 −(1.03)⁻²⁰] ÷ 0.03  · 할인율 3%)\A\A📘  왜 20%?  한 번에 정식 증여하되 자녀 여러 명에 분산 · 배우자 공제 활용 시\A     상속·증여세 누진세율표 적용 후 평균 실효세율 20% 로 보수적 가정.\A     · 소급 과세 리스크 없음 · 사전 확정으로 안전";
  display: block !important;
  white-space: pre-wrap !important;
  width: 100% !important;
  margin-top: 14px !important;
  padding: 14px 16px !important;
  font-family: 'D2Coding', 'IBM Plex Mono', 'Menlo', ui-monospace, monospace !important;
  font-size: 12.5px !important;
  line-height: 1.75 !important;
  font-weight: 500 !important;
  color: #4a3820 !important;
  background: rgba(184, 147, 90, 0.07) !important;
  border-left: 3px solid rgba(184, 147, 90, 0.4) !important;
  border-radius: 6px !important;
  letter-spacing: -0.005em !important;
}

/* ─── 하단 경고 / 배지 · 줄바꿈 방지 ─── */
.gratuit-compare .gc-warn {
  margin-top: 18px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  background: rgba(161, 48, 48, 0.06) !important;
  color: #a13030 !important;
  border-radius: 8px !important;
  border: 1px solid rgba(161, 48, 48, 0.18) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-align: center !important;
}
.gratuit-compare .gc-warn strong {
  font-weight: 800 !important;
  color: #8b1e1e !important;
}

.gratuit-compare .gc-badge {
  margin-top: 18px !important;
  padding: 13px 16px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-align: center !important;
}

/* ─── vs 구분자 · 살짝 강화 ─── */
.gratuit-compare .gc-vs {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #a1a8b3 !important;
  letter-spacing: 0.02em !important;
}

/* ═══════════════════════════════════════════════
   📢 하단 결론 (Comparison Result) · 강의장 명확
   ═══════════════════════════════════════════════ */
.annuity-sim .gc-conclusion {
  margin-top: 22px !important;
  padding: 22px 26px !important;
  border-radius: 12px !important;
  border-left: 4px solid var(--gold, #b8935a) !important;
}
.annuity-sim .gc-conclusion .gcc-lbl {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  margin-bottom: 8px !important;
}
.annuity-sim .gc-conclusion .gcc-body {
  font-size: 16px !important;
  line-height: 1.8 !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
}
.annuity-sim .gc-conclusion .gcc-body strong {
  font-weight: 800 !important;
}
/* 결론 안에서 "약 XX억" 절감액만 골드 하이라이트 (기존 gcc-hi 유지·강화) */
.annuity-sim .gc-conclusion .gcc-body .gcc-hi {
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
  color: var(--gold, #b8935a) !important;
  text-shadow: 0 1px 0 rgba(0,0,0,0.02) !important;
}

/* ═══════════════════════════════════════════════
   📱 모바일 대응
   ═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  .gratuit-compare .gc-card {
    padding: 20px 18px !important;
  }
  .gratuit-compare .gc-title {
    font-size: 20px !important;
  }
  .gratuit-compare .gc-sub {
    font-size: 14px !important;
    margin-bottom: 14px !important;
  }
  .gratuit-compare .gcm-row .gcm-k {
    font-size: 13px !important;
  }
  .gratuit-compare .gcm-row .gcm-v {
    font-size: 18px !important;
  }
  .gratuit-compare .gcm-row.gcm-hi .gcm-k {
    font-size: 13px !important;
  }
  .gratuit-compare .gcm-row.gcm-hi .gcm-v {
    font-size: 28px !important;
  }
  .gratuit-compare .gc-card-warn .gcm-row.gcm-hi::after,
  .gratuit-compare .gc-card-good .gcm-row.gcm-hi::after {
    font-size: 11.5px !important;
    line-height: 1.7 !important;
    padding: 12px 13px !important;
    margin-top: 12px !important;
  }
  .gratuit-compare .gc-warn,
  .gratuit-compare .gc-badge {
    font-size: 12px !important;
    padding: 10px 12px !important;
    white-space: normal !important;
    line-height: 1.4 !important;
  }
  .gratuit-compare .gc-vs {
    font-size: 18px !important;
  }
  .annuity-sim .gc-conclusion {
    padding: 18px 20px !important;
  }
  .annuity-sim .gc-conclusion .gcc-body {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }
  .annuity-sim .gc-conclusion .gcc-body .gcc-hi {
    font-size: 17px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   ⭐⭐⭐  THE MASTERPIECE · v2 (2026-08-23)  ⭐⭐⭐
   진단 완료 페이지 · 클릭 카드 그리드 + 모달 시스템
   ───────────────────────────────────────────────────────────────────────
   ⚠️ v1 실패 · 잘못된 셀렉터 (.result-content) 사용
   ✅ v2 정확 · 실제 컨테이너 = .diag-result
   
   교수님 지시 (2026-08-23):
   ① 보험 구조 삭제 · ② 상담 신청 달력 삭제
   ③ 안내 배너 (상담시 · 시뮬레이션 강조)
   ④ 리포트 블록 · 2×3 그리드 · 클릭 카드 · 5~6개
   ⑤ 클릭 시 모달 · 시뮬레이터 반드시 살아있음
   
   실제 DOM 구조 (.diag-result 안):
     .result-hero        (진단 완료 안내 · 3장 카드 · Personal Contact 등)
     .result-grid        (01·02·03 요약 카드 3장)
     .result-legal       (04 · 법정상속분과 유류분 · 조건부)
     .result-summary     (K-Trust Direction 요약)
     .report-block       × 5~6개 (Scenario·Property·Family·Visual·Annuity·Insurance)
     .result-cta-row     (숨김)
     .consult-block      (숨김)
     .result-restart     (희미)
     .result-note        (그대로)
     .legal-ref-block    (조문 아코디언 · 그대로)
   ═══════════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   [1/6] 삭제 · 보험 구조 & 상담 신청 & CTA 버튼
   ───────────────────────────────────────────── */

/* 보험 구조 블록 (10 · INSURANCE STRUCTURE) · 삭제 · 
   :has() 로 · rb-num 텍스트 매칭 대신 · 
   InsuranceStructureBlock 는 · 마지막에서 두 번째 report-block · 
   nth-of-type로 정확히 잡기 어려우니 · 
   대신 · rb-num 안 "INSURANCE" 포함하는 것만 숨김 */
.diag-result > .report-block:has(.rb-num:where([data-num])) {
  /* placeholder · 실제 매칭은 아래 */
}

/* rb-num 콘텐츠는 텍스트라서 · CSS로는 정확 매칭 어려움 → 
   InsuranceStructureBlock는 · report-block 중 · 6번째 (또는 마지막) · 
   실제로 · 조건부 렌더링 무관하게 · 마지막에서 두 번째 */

/* 방식: JS에서 · rb-num 텍스트로 확인 후 · 
   보험 블록에 · data-ktrust-hide="1" 부여 → CSS로 숨김 */
.diag-result > .report-block[data-ktrust-hide="1"] {
  display: none !important;
}

/* 상담 신청 (달력) · 삭제 */
.diag-result .consult-block {
  display: none !important;
}

/* CTA 버튼 2개 (리포트 상태 · 상담 이어가기) · 삭제 */
.diag-result .result-cta-row {
  display: none !important;
}

/* "새로 진단하기" · 희미하게 (강의 실수 방지) */
.diag-result .result-restart {
  opacity: 0.35 !important;
  font-size: 12px !important;
  margin-top: 30px !important;
}
.diag-result .result-restart:hover {
  opacity: 0.85 !important;
}

/* ═══════════════════════════════════════════════
   [2/6] ⭐ 안내 배너 · 첫 report-block 위에 삽입
   "상담 시 · 구체적으로 시뮬레이션해드립니다" 강조
   ═══════════════════════════════════════════════ */

.diag-result .report-block:first-of-type {
  margin-top: 30px !important;
}

.diag-result .report-block:first-of-type::before {
  content: "" !important;
  display: block !important;
  height: 1px !important;
  margin: 0 auto 32px auto !important;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(184, 147, 90, 0.25) 20%,
    rgba(184, 147, 90, 0.55) 50%,
    rgba(184, 147, 90, 0.25) 80%,
    transparent 100%) !important;
  max-width: 90% !important;
}

/* 배너 본문 · 정보 아이덴티티는 · JS로 삽입 
   (CSS pseudo만으로는 · 다중 스타일 라인 처리에 · 한계) 
   → JS 어댑터에서 · .ktrust-preview-banner 요소를 · 
   첫 report-block 앞에 · insertBefore */
.ktrust-preview-banner {
  grid-column: 1 / -1 !important;
  margin: 20px 0 30px 0 !important;
  padding: 40px 44px 42px 44px !important;
  text-align: center !important;
  font-family: 'Noto Serif KR', serif !important;
  background:
    radial-gradient(ellipse at center top, rgba(184, 147, 90, 0.12) 0%, transparent 60%),
    linear-gradient(135deg, #0f1f38 0%, #172a44 50%, #1e3454 100%) !important;
  border: 1px solid rgba(184, 147, 90, 0.35) !important;
  border-radius: 8px !important;
  box-shadow:
    0 10px 30px -8px rgba(15, 31, 56, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  position: relative !important;
}
.ktrust-preview-banner .kpb-eyebrow {
  display: inline-block !important;
  font-family: 'IBM Plex Mono', 'Menlo', monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  color: var(--gold, #d4af37) !important;
  padding: 6px 18px !important;
  border: 1px solid rgba(212, 175, 55, 0.55) !important;
  border-radius: 20px !important;
  background: rgba(212, 175, 55, 0.06) !important;
  margin-bottom: 24px !important;
}
.ktrust-preview-banner .kpb-line1 {
  font-size: 19px !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  color: #cbd3e0 !important;
  letter-spacing: -0.005em !important;
  margin-bottom: 12px !important;
}
.ktrust-preview-banner .kpb-line2 {
  font-size: 26px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  color: #f4f0e6 !important;
  letter-spacing: -0.015em !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25) !important;
}
.ktrust-preview-banner .kpb-line2 em {
  font-style: normal !important;
  color: #e8c97a !important;
  font-weight: 800 !important;
  text-shadow: 0 0 12px rgba(212, 175, 55, 0.35) !important;
}

/* ═══════════════════════════════════════════════
   [3/6] ⭐⭐ 리포트 블록 · 2×3 그리드 · 클릭 카드
   
   .diag-result 를 · flex column 유지하되 · 
   report-block 들을 · 별도 그리드 컨테이너로 wrap 하지 않고 · 
   report-block 5~6개를 · CSS grid 대신 · flex row wrap 으로 · 2열 
   → 근본 방식: .diag-result 를 · display:grid 로 · 전면 재편
   ═══════════════════════════════════════════════ */

/* .diag-result · grid 컨테이너 화 · 
   모든 자식은 기본 · 전폭 · report-block 만 · 2열 span */
.diag-result {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 22px !important;
  align-items: start !important;
}

/* 전폭 자식 (진단 완료 안내 · 요약 · 노트 · 조문 아코디언 · 배너 등) */
.diag-result > .result-hero,
.diag-result > .result-summary,
.diag-result > .result-note,
.diag-result > .result-restart,
.diag-result > .legal-ref-block,
.diag-result > .ktrust-preview-banner,
.diag-result > .result-cta-row,
.diag-result > .consult-block {
  grid-column: 1 / -1 !important;
}

/* ⭐ 01·02·03 요약 3장 · 삭제 (교수님 지시 · 08 시각화 카드로 통합) */
.diag-result > .result-grid {
  display: none !important;
}

/* ⭐ 04 법정상속분과 유류분 · 카드로 변환 · 그리드 참여
   · order: 8 · 08 VISUAL SUMMARY 바로 옆 (오른쪽 빈 자리)
   · 자연 순서: 05(1) 06(2) 07(3) 08(4) → 04는 order 8로 · 08 다음 슬롯 */
.diag-result > .result-legal {
  grid-column: span 1 !important;
  order: 8 !important;
}
/* 09번 · 전폭 · 시뮬레이터 · 그리드 · 하단 (참고자료 위) */
.diag-result > .report-block[data-ktrust-featured="1"] {
  order: 90 !important;
}
/* 참고자료 아코디언 (LegalRef · .legal-ref-block) · 시뮬레이터 바로 아래 */
.diag-result > .legal-ref-block {
  order: 95 !important;
  margin-top: 30px !important;
}
/* 노트 (본 진단 결과는 일반적 관점...) · 참고자료 아래 */
.diag-result > .result-note {
  order: 97 !important;
}
/* 새로 진단하기 · 맨 마지막 */
.diag-result > .result-restart {
  order: 99 !important;
}

/* ⭐ 리포트 블록 · 2열 · 클릭 카드 */
.diag-result > .report-block {
  grid-column: span 1 !important;
  cursor: pointer !important;
  background: linear-gradient(180deg, #ffffff 0%, #fafaf7 100%) !important;
  border: 1.5px solid rgba(184, 147, 90, 0.22) !important;
  border-radius: 14px !important;
  padding: 34px 32px 60px 32px !important;
  margin: 0 !important;
  min-height: 240px !important;
  position: relative !important;
  overflow: hidden !important;
  transition:
    transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    border-color 0.35s ease !important;
  box-shadow:
    0 2px 8px rgba(15, 31, 56, 0.04),
    0 1px 2px rgba(15, 31, 56, 0.02) !important;
  display: flex !important;
  flex-direction: column !important;
}

/* 카드 홀수 개일 때 · 마지막 카드가 홀로 될 경우 · 자연스럽게 정렬 (좌측 정렬 · grid 기본 동작) */

/* 호버 */
.diag-result > .report-block:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(184, 147, 90, 0.55) !important;
  box-shadow:
    0 14px 34px -10px rgba(184, 147, 90, 0.22),
    0 4px 12px rgba(15, 31, 56, 0.06) !important;
}

/* 카드 좌상단 · 골드 코너 */
.diag-result > .report-block::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 72px !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--gold, #b8935a) 0%, transparent 100%) !important;
  z-index: 1 !important;
}

/* 카드 우하단 · "자세히 보기 →" 힌트 */
.diag-result > .report-block::after {
  content: "자세히 보기  →" !important;
  position: absolute !important;
  bottom: 24px !important;
  right: 28px !important;
  font-family: 'IBM Plex Mono', 'Menlo', monospace !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  color: var(--gold, #b8935a) !important;
  opacity: 0.75 !important;
  transition: opacity 0.3s, transform 0.3s !important;
  z-index: 2 !important;
}
.diag-result > .report-block:hover::after {
  opacity: 1 !important;
  transform: translateX(4px) !important;
}

/* 카드 · rb-head 만 크게 · 나머지는 숨김 */
.diag-result > .report-block .rb-head {
  padding-bottom: 20px !important;
  border-bottom: none !important;
  margin: 0 !important;
}
.diag-result > .report-block .rb-num {
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  font-weight: 700 !important;
  color: var(--gold, #b8935a) !important;
  margin-bottom: 14px !important;
}
.diag-result > .report-block .rb-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.35 !important;
  color: var(--navy-deep, #0f2340) !important;
  margin: 0 !important;
}

/* 카드 · 미리보기 문구 (rb-desc 있으면 · 3줄 clamp · 
   rb-desc 클래스 없이 <p> 로 있을 수도) */
.diag-result > .report-block .rb-head .rb-desc,
.diag-result > .report-block .rb-head p,
.diag-result > .report-block .rb-desc {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  color: #6b7280 !important;
  margin-top: 12px !important;
  letter-spacing: -0.005em !important;
}

/* 카드 표지 상태에서 · rb-head 이외 모든 것 · 숨김 */
.diag-result > .report-block > *:not(.rb-head) {
  display: none !important;
}

/* ═══════════════════════════════════════════════
   [3.5/6] ⭐ result-legal · 카드 스타일 이식
   .report-block 과 · 완전 동일 카드로 렌더링
   ═══════════════════════════════════════════════ */

.diag-result > .result-legal {
  cursor: pointer !important;
  background: linear-gradient(180deg, #ffffff 0%, #fafaf7 100%) !important;
  border: 1.5px solid rgba(184, 147, 90, 0.22) !important;
  border-radius: 14px !important;
  padding: 34px 32px 60px 32px !important;
  margin: 0 !important;
  min-height: 240px !important;
  position: relative !important;
  overflow: hidden !important;
  transition:
    transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    border-color 0.35s ease !important;
  box-shadow:
    0 2px 8px rgba(15, 31, 56, 0.04),
    0 1px 2px rgba(15, 31, 56, 0.02) !important;
  display: flex !important;
  flex-direction: column !important;
}

.diag-result > .result-legal:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(184, 147, 90, 0.55) !important;
  box-shadow:
    0 14px 34px -10px rgba(184, 147, 90, 0.22),
    0 4px 12px rgba(15, 31, 56, 0.06) !important;
}

.diag-result > .result-legal::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 72px !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--gold, #b8935a) 0%, transparent 100%) !important;
  z-index: 1 !important;
}

.diag-result > .result-legal::after {
  content: "자세히 보기  →" !important;
  position: absolute !important;
  bottom: 24px !important;
  right: 28px !important;
  font-family: 'IBM Plex Mono', 'Menlo', monospace !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  color: var(--gold, #b8935a) !important;
  opacity: 0.75 !important;
  transition: opacity 0.3s, transform 0.3s !important;
  z-index: 2 !important;
}
.diag-result > .result-legal:hover::after {
  opacity: 1 !important;
  transform: translateX(4px) !important;
}

/* result-legal · 표지 상태 · rb-num / rb-title 스타일 재적용 
   실제 DOM: .result-legal-head > div > .rc-num + .rc-k(제목)  */
.diag-result > .result-legal .result-legal-head {
  display: block !important;
  padding-bottom: 20px !important;
  margin: 0 !important;
  border: none !important;
}
.diag-result > .result-legal .result-legal-head .rc-num {
  display: block !important;
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  font-weight: 700 !important;
  color: var(--gold, #b8935a) !important;
  margin-bottom: 14px !important;
  font-family: 'IBM Plex Mono', 'Menlo', monospace !important;
}
.diag-result > .result-legal .result-legal-head .rc-k {
  display: block !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.35 !important;
  color: var(--navy-deep, #0f2340) !important;
  margin: 0 !important;
  font-family: 'Noto Serif KR', serif !important;
}

/* 미리보기 문구 · JS로 삽입 (result-legal-note 는 · 우측 조문 표기 · 다른 성격) */
.diag-result > .result-legal .kl-preview {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  color: #6b7280 !important;
  margin-top: 12px !important;
  letter-spacing: -0.005em !important;
}

/* 표지 상태 · 나머지 내부 (지분 행·조문 표기·해설) · 숨김 */
.diag-result > .result-legal .result-legal-note,
.diag-result > .result-legal .result-legal-grid,
.diag-result > .result-legal .result-legal-foot {
  display: none !important;
}

/* ═══════════════════════════════════════════════
   [3.7/6] ⭐⭐⭐ 09번 · 시뮬레이터 카드 · 전폭 강조
   교수님 지시: 강의 클라이맥스 · 계약 성사율 무기
   ═══════════════════════════════════════════════ */
.diag-result > .report-block[data-ktrust-featured="1"] {
  grid-column: 1 / -1 !important;  /* 전폭 */
  min-height: 280px !important;
  background:
    radial-gradient(ellipse at top right, rgba(212, 175, 55, 0.14) 0%, transparent 55%),
    radial-gradient(ellipse at bottom left, rgba(184, 147, 90, 0.08) 0%, transparent 50%),
    linear-gradient(135deg, #0f1f38 0%, #172a44 50%, #1e3454 100%) !important;
  border: 1.5px solid rgba(184, 147, 90, 0.55) !important;
  box-shadow:
    0 10px 30px -8px rgba(15, 31, 56, 0.35),
    0 2px 6px rgba(15, 31, 56, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

.diag-result > .report-block[data-ktrust-featured="1"]:hover {
  border-color: rgba(212, 175, 55, 0.75) !important;
  box-shadow:
    0 20px 50px -10px rgba(15, 31, 56, 0.55),
    0 6px 16px rgba(184, 147, 90, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

/* 전폭 카드 · 골드 코너 · 더 길게 · 광채 */
.diag-result > .report-block[data-ktrust-featured="1"]::before {
  width: 160px !important;
  height: 3px !important;
  background: linear-gradient(90deg,
    #d4af37 0%,
    rgba(212, 175, 55, 0.5) 60%,
    transparent 100%) !important;
  box-shadow: 0 0 12px rgba(212, 175, 55, 0.4) !important;
}

/* 전폭 카드 · rb-num · 골드 강조 */
.diag-result > .report-block[data-ktrust-featured="1"] .rb-num {
  color: #d4af37 !important;
  text-shadow: 0 0 8px rgba(212, 175, 55, 0.25) !important;
}

/* 전폭 카드 · rb-title · 크림 화이트 · 크게 */
.diag-result > .report-block[data-ktrust-featured="1"] .rb-title {
  font-size: 26px !important;
  color: #f4f0e6 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25) !important;
}

/* 전폭 카드 · 설명 문구 (rb-desc) · 크림 그레이 */
.diag-result > .report-block[data-ktrust-featured="1"] .rb-head .rb-desc,
.diag-result > .report-block[data-ktrust-featured="1"] .rb-head p,
.diag-result > .report-block[data-ktrust-featured="1"] .rb-desc {
  color: #cbd3e0 !important;
}
.diag-result > .report-block[data-ktrust-featured="1"] .rb-head strong,
.diag-result > .report-block[data-ktrust-featured="1"] .rb-desc strong {
  color: #e8c97a !important;
  font-weight: 700 !important;
}

/* ⭐ "상속세" 단어 · 다크 레드 강조 · 광채 · 다크 네이비 배경 위 */
.diag-result > .report-block[data-ktrust-featured="1"] .kpb-tax-hi,
.kpb-tax-hi {
  font-style: normal !important;
  color: #ff7373 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  padding: 0 2px !important;
  text-shadow:
    0 0 12px rgba(255, 90, 90, 0.4),
    0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* 전폭 카드 · 우하단 힌트 · 골드 배지 · 광채 */
.diag-result > .report-block[data-ktrust-featured="1"]::after {
  content: "⭐  시뮬레이터 · 자세히 열기  →" !important;
  padding: 11px 20px !important;
  bottom: 22px !important;
  right: 24px !important;
  background: rgba(212, 175, 55, 0.14) !important;
  border: 1px solid rgba(212, 175, 55, 0.5) !important;
  border-radius: 22px !important;
  color: #e8c97a !important;
  opacity: 0.95 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  box-shadow: 0 0 16px rgba(212, 175, 55, 0.18) !important;
}
.diag-result > .report-block[data-ktrust-featured="1"]:hover::after {
  background: rgba(212, 175, 55, 0.22) !important;
  border-color: rgba(212, 175, 55, 0.75) !important;
  opacity: 1 !important;
  box-shadow: 0 0 24px rgba(212, 175, 55, 0.3) !important;
}

/* ═══════════════════════════════════════════════
   [4/6] ⭐⭐⭐ 클릭 → 모달 확장
   ═══════════════════════════════════════════════ */

body.ktrust-modal-open {
  overflow: hidden !important;
}

body.ktrust-modal-open .diag-result > .report-block.is-modal-open,
body.ktrust-modal-open .diag-result > .result-legal.is-modal-open {
  cursor: default !important;
  position: fixed !important;
  top: 5vh !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(1180px, 92vw) !important;
  height: 90vh !important;
  max-height: 90vh !important;
  z-index: 10000 !important;
  overflow-y: auto !important;
  padding: 50px 56px 60px 56px !important;
  border-radius: 18px !important;
  box-shadow:
    0 40px 100px -20px rgba(15, 31, 56, 0.5),
    0 20px 40px rgba(0, 0, 0, 0.15) !important;
  border: 1.5px solid rgba(184, 147, 90, 0.4) !important;
  animation: ktrustModalIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: block !important;
  min-height: 0 !important;
}

/* 모달 · result-legal · 내부 · 지분 행 · 조문 · 해설 · 다시 보이기 */
body.ktrust-modal-open .diag-result > .result-legal.is-modal-open .result-legal-note,
body.ktrust-modal-open .diag-result > .result-legal.is-modal-open .result-legal-grid,
body.ktrust-modal-open .diag-result > .result-legal.is-modal-open .result-legal-foot {
  display: revert !important;
}
/* 모달 · result-legal · rb-title 스타일 큰 제목 */
body.ktrust-modal-open .diag-result > .result-legal.is-modal-open .result-legal-head {
  padding-bottom: 30px !important;
  margin-bottom: 30px !important;
  border-bottom: 1px solid rgba(184, 147, 90, 0.2) !important;
}
body.ktrust-modal-open .diag-result > .result-legal.is-modal-open .result-legal-head .rc-k {
  font-size: 32px !important;
  line-height: 1.3 !important;
}
body.ktrust-modal-open .diag-result > .result-legal.is-modal-open .result-legal-head .rc-num {
  font-size: 12px !important;
  margin-bottom: 16px !important;
}
/* 모달 안 · 미리보기 문구 (kl-preview) · 다시 숨김 (원래 내용이 다 보이므로) */
body.ktrust-modal-open .diag-result > .result-legal.is-modal-open .kl-preview {
  display: none !important;
}
/* 모달 안 · result-legal · 힌트/코너 처리 */
body.ktrust-modal-open .diag-result > .result-legal.is-modal-open::after {
  display: none !important;
}
body.ktrust-modal-open .diag-result > .result-legal.is-modal-open::before {
  height: 4px !important;
  width: 100% !important;
  background: linear-gradient(90deg,
    var(--gold, #b8935a) 0%,
    rgba(184, 147, 90, 0.3) 50%,
    var(--gold, #b8935a) 100%) !important;
}

@keyframes ktrustModalIn {
  from { opacity: 0; transform: translateX(-50%) translateY(20px) scale(0.96); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
}

/* 모달 · 내부 · 모든 콘텐츠 · 다시 보이기 */
body.ktrust-modal-open .diag-result > .report-block.is-modal-open > * {
  display: revert !important;
}

/* 모달 시 · hover 힌트 감춤 · 상단 라인 강조 */
body.ktrust-modal-open .diag-result > .report-block.is-modal-open::after {
  display: none !important;
}
body.ktrust-modal-open .diag-result > .report-block.is-modal-open::before {
  height: 4px !important;
  width: 100% !important;
  background: linear-gradient(90deg,
    var(--gold, #b8935a) 0%,
    rgba(184, 147, 90, 0.3) 50%,
    var(--gold, #b8935a) 100%) !important;
}

/* 모달 · 큰 제목 */
body.ktrust-modal-open .diag-result > .report-block.is-modal-open .rb-head {
  padding-bottom: 30px !important;
  margin-bottom: 30px !important;
  border-bottom: 1px solid rgba(184, 147, 90, 0.2) !important;
}
body.ktrust-modal-open .diag-result > .report-block.is-modal-open .rb-title {
  font-size: 32px !important;
  line-height: 1.3 !important;
}
body.ktrust-modal-open .diag-result > .report-block.is-modal-open .rb-num {
  font-size: 12px !important;
  margin-bottom: 16px !important;
}

/* 모달 · rb-head 안 · 문단은 · line-clamp 해제 */
body.ktrust-modal-open .diag-result > .report-block.is-modal-open .rb-head p,
body.ktrust-modal-open .diag-result > .report-block.is-modal-open .rb-head .rb-desc,
body.ktrust-modal-open .diag-result > .report-block.is-modal-open .rb-desc {
  display: block !important;
  -webkit-line-clamp: unset !important;
  overflow: visible !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: #4a5568 !important;
  margin-top: 12px !important;
}

/* 백드롭 */
.ktrust-modal-backdrop {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(15, 31, 56, 0.6) !important;
  backdrop-filter: blur(4px) !important;
  z-index: 9999 !important;
  display: none !important;
  animation: ktrustBackdropIn 0.3s ease !important;
}
body.ktrust-modal-open .ktrust-modal-backdrop {
  display: block !important;
}
@keyframes ktrustBackdropIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* 닫기 버튼 */
.ktrust-modal-close {
  position: fixed !important;
  top: calc(5vh + 16px) !important;
  right: max(4vw, 40px) !important;
  z-index: 10001 !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 1.5px solid rgba(15, 31, 56, 0.15) !important;
  cursor: pointer !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #2a3548 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
  transition: transform 0.2s, background 0.2s !important;
  font-family: system-ui, sans-serif !important;
  line-height: 1 !important;
  padding: 0 !important;
}
body.ktrust-modal-open .ktrust-modal-close {
  display: flex !important;
}
.ktrust-modal-close:hover {
  transform: scale(1.08) rotate(90deg) !important;
  background: #f5f5f0 !important;
}

/* ═══════════════════════════════════════════════
   [5/6] 📱 모바일 대응
   ═══════════════════════════════════════════════ */
@media (max-width: 900px) {
  .diag-result {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .diag-result > .report-block {
    padding: 28px 24px 56px 24px !important;
    min-height: 200px !important;
  }
  .diag-result > .report-block .rb-title {
    font-size: 19px !important;
  }
  .ktrust-preview-banner {
    padding: 28px 22px 30px 22px !important;
    margin: 12px 0 24px 0 !important;
  }
  .ktrust-preview-banner .kpb-line1 {
    font-size: 16px !important;
  }
  .ktrust-preview-banner .kpb-line2 {
    font-size: 20px !important;
  }
  body.ktrust-modal-open .diag-result > .report-block.is-modal-open {
    top: 2vh !important;
    height: 96vh !important;
    max-height: 96vh !important;
    width: 96vw !important;
    padding: 32px 22px 40px 22px !important;
  }
  body.ktrust-modal-open .diag-result > .report-block.is-modal-open .rb-title {
    font-size: 24px !important;
  }
  .ktrust-modal-close {
    top: calc(2vh + 10px) !important;
    right: 18px !important;
    width: 40px !important;
    height: 40px !important;
  }
}

/* ═══════════════════════════════════════════════
   [6/6] 🔒 세이프가드
   
   기존 · 자산가 가독성 강화 CSS 들 (Live Simulator · PVFV 카드 등) 은 
   · 모달 안에서 · 그대로 렌더링 됨. 
   
   .lso-sim · .pvfv-card · .gc-card · 등은 · 
   원래 스타일 유지 · 모달 안에서도 · 완전 인터랙티브 ✓
   ═══════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   ⭐⭐⭐ 웰컴홈 · 상단 네비 · "설계 포인트" 드롭다운 (2026-08-23)
   ───────────────────────────────────────────────────────────────
   교수님 지시: 신한라이프 스타일 · 드롭다운 · 4개 항목
   · 상속세 시뮬레이션 · 시간이 자산을 어떻게 바꾸는지 (⭐ Featured)
   · 정기금평가 (§65) · PV/FV 원리
   · 상속·증여 설계 방향
   · K-Trust 신탁 구조
   
   방식 A · auth-guard.js 가 · 로그인 벽 자동 처리
   ═══════════════════════════════════════════════════════════════ */

/* 드롭다운 컨테이너 (li) · 상대 위치 */
.site-nav .nav-links .nav-dd {
  position: relative !important;
}

/* 드롭다운 트리거 (버튼) · 다른 nav-links a와 동일 톤 */
.site-nav .nav-links .nav-dd-trigger {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font: inherit !important;
  color: inherit !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-family: inherit !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
  transition: color 0.2s ease !important;
}
.site-nav .nav-links .nav-dd-trigger:hover {
  color: var(--gold, #b8935a) !important;
}
.site-nav .nav-links .nav-dd.is-open .nav-dd-trigger {
  color: var(--gold, #b8935a) !important;
}
.site-nav .nav-links .nav-dd-caret {
  font-size: 10px !important;
  transition: transform 0.25s ease !important;
  opacity: 0.7 !important;
}
.site-nav .nav-links .nav-dd.is-open .nav-dd-caret {
  transform: rotate(180deg) !important;
  opacity: 1 !important;
}

/* 드롭다운 패널 (신한라이프 · 정갈한 큰 카드) */
.site-nav .nav-links .nav-dd-panel {
  position: absolute !important;
  top: calc(100% + 18px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  min-width: 380px !important;
  padding: 12px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fafaf7 100%) !important;
  border: 1px solid rgba(184, 147, 90, 0.28) !important;
  border-radius: 12px !important;
  box-shadow:
    0 24px 60px -12px rgba(15, 31, 56, 0.22),
    0 6px 20px rgba(15, 31, 56, 0.08) !important;
  z-index: 200 !important;
  animation: ktrustDdIn 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* 드롭다운 · 화살표 (트리거 위) */
.site-nav .nav-links .nav-dd-panel::before {
  content: "" !important;
  position: absolute !important;
  top: -7px !important;
  left: 50% !important;
  transform: translateX(-50%) rotate(45deg) !important;
  width: 14px !important;
  height: 14px !important;
  background: #ffffff !important;
  border-left: 1px solid rgba(184, 147, 90, 0.28) !important;
  border-top: 1px solid rgba(184, 147, 90, 0.28) !important;
}

@keyframes ktrustDdIn {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

/* 드롭다운 · 각 항목 · 큰 카드 스타일 */
.site-nav .nav-links .nav-dd-item {
  display: block !important;
  padding: 14px 16px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  color: var(--navy-deep, #0f2340) !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
  border: 1px solid transparent !important;
}
.site-nav .nav-links .nav-dd-item + .nav-dd-item {
  margin-top: 2px !important;
}
.site-nav .nav-links .nav-dd-item:hover {
  background: rgba(184, 147, 90, 0.06) !important;
  transform: translateX(2px) !important;
}
.site-nav .nav-links .nav-dd-label {
  font-family: 'Noto Serif KR', serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.35 !important;
  margin-bottom: 4px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.site-nav .nav-links .nav-dd-sub {
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  color: #6b7280 !important;
  letter-spacing: -0.005em !important;
}

/* ⭐ Featured 항목 (상속세 시뮬레이션) · 골드 강조 */
.site-nav .nav-links .nav-dd-item.is-featured {
  background:
    radial-gradient(ellipse at top right, rgba(212, 175, 55, 0.12) 0%, transparent 60%),
    linear-gradient(135deg, #fdf9ee 0%, #f7f0dc 100%) !important;
  border: 1px solid rgba(184, 147, 90, 0.35) !important;
  margin-bottom: 8px !important;
  position: relative !important;
}
.site-nav .nav-links .nav-dd-item.is-featured:hover {
  background:
    radial-gradient(ellipse at top right, rgba(212, 175, 55, 0.18) 0%, transparent 60%),
    linear-gradient(135deg, #fbf5e2 0%, #f4ead0 100%) !important;
  border-color: rgba(184, 147, 90, 0.55) !important;
  box-shadow: 0 4px 14px -4px rgba(184, 147, 90, 0.25) !important;
}
.site-nav .nav-links .nav-dd-item.is-featured .nav-dd-label {
  color: #0f2340 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}
.site-nav .nav-links .nav-dd-item.is-featured .nav-dd-sub {
  color: #8b1e1e !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}
.site-nav .nav-links .nav-dd-star {
  font-size: 14px !important;
  filter: drop-shadow(0 0 6px rgba(212, 175, 55, 0.4)) !important;
}

/* 📱 모바일 · 드롭다운 패널 조정 */
@media (max-width: 768px) {
  .site-nav .nav-links .nav-dd-panel {
    min-width: 300px !important;
    left: auto !important;
    right: 0 !important;
    transform: none !important;
  }
  .site-nav .nav-links .nav-dd-panel::before {
    left: auto !important;
    right: 40px !important;
    transform: rotate(45deg) !important;
  }
  @keyframes ktrustDdIn {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
  }
}

/* ⭐ 네비바 · 전체 · 한 줄 유지 · 각 링크 · 줄바꿈 금지 */
.site-nav .nav-links {
  flex-wrap: nowrap !important;
}
.site-nav .nav-links > li,
.site-nav .nav-links > li > a,
.site-nav .nav-links > li > .nav-dd-trigger {
  white-space: nowrap !important;
}
.site-nav .brand,
.site-nav .brand-name,
.site-nav .brand-sub,
.site-nav .nav-cta {
  white-space: nowrap !important;
}

/* ⭐ 문의하기 · 홈페이지 URL 안내 · 진하고 · 명확하게 */
.site-nav .nav-links .nav-ext-site {
  font-family: 'IBM Plex Mono', 'Menlo', monospace !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  color: #8b6a1f !important;
  opacity: 1 !important;
  margin-left: 4px !important;
  white-space: nowrap !important;
}
.site-nav .nav-links .nav-ext:hover .nav-ext-site {
  color: #6b5015 !important;
}
.site-nav.is-scrolled .nav-links .nav-ext-site {
  color: #6b5015 !important;
}

/* 📱 좁은 화면 · 홈페이지 URL · 숨김 (공간 절약)
   1280px 미만 · 자동 숨김 → 네비바 한 줄 유지 */
@media (max-width: 1280px) {
  .site-nav .nav-links .nav-ext-site {
    display: none !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   ⭐ AnnuityPlus · 시뮬레이터 · 강의장 가독성 강화 (2026-08-23)
   ───────────────────────────────────────────────────────────────
   교수님 지시: 뒷자리에서 안 읽힘 · 크고 진하게
   원칙: readability-boost.css 오버레이만 · 배치 원상 유지 · 크기·굵기만
   ═══════════════════════════════════════════════════════════════ */

/* ─── 상단 라벨 · SIMULATOR / 직접 계산해보시죠 ─── */
.ap-sim .ap-sim-lbl {
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.2em !important;
}
.ap-sim .ap-sim-title {
  font-size: 26px !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
}

/* ─── 슬라이더 라벨 (건물 시가 / 신탁 기간 / 할인율) ─── */
.ap-sim .ap-ctl-lbl {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #1a3a5c !important;
  letter-spacing: -0.005em !important;
}

/* ─── 슬라이더 값 · 크게 · 진하게 ─── */
.ap-sim .ap-ctl-val {
  font-size: 32px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: #0f2340 !important;
}
.ap-sim .ap-ctl-val span {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #2a3548 !important;
}

/* ─── 스케일 표기 (100억 ─── 5,000억 등) ─── */
.ap-sim .ap-ctl-scale {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: #5a6478 !important;
}

/* ─── 결과 3장 카드 · 라벨 (A · 일반 일시 증여 등) ─── */
.ap-sim .ap-res-lbl {
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
}

/* ─── 카드 부제 (시가 100% 과세 / 현재가치 할인 평가 / B-A 절감) ─── */
.ap-sim .ap-res-desc {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #3a4a63 !important;
  letter-spacing: -0.005em !important;
}
.ap-sim .ap-res-trust .ap-res-desc {
  color: #6b5220 !important;
}
.ap-sim .ap-res-saved .ap-res-desc {
  color: #8b1e1e !important;
}

/* ─── 결과 · 큰 금액 값 (1,600억 / 1,027억 / -573억) ─── */
.ap-sim .ap-res-val {
  font-size: 44px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
}
.ap-sim .ap-res-val em {
  font-size: 24px !important;
  font-weight: 700 !important;
}

/* ─── 결과 · 하단 노트 (할인 없음 / 계산식 / 절감 % ) ─── */
.ap-sim .ap-res-note {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #4a5568 !important;
  letter-spacing: -0.005em !important;
  line-height: 1.55 !important;
}
.ap-sim .ap-res-note-red {
  color: #a13030 !important;
}
.ap-sim .ap-res-note-red strong {
  font-size: 16px !important;
  font-weight: 800 !important;
}

/* ─── 화살표 → · = · 진하게 ─── */
.ap-sim .ap-res-arrow {
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #8a6a2f !important;
}

/* ─── 시뮬레이터 · 하단 인사이트 문구 ─── */
.ap-sim .ap-insight .api-body {
  font-size: 16.5px !important;
  line-height: 1.8 !important;
  font-weight: 500 !important;
}
.ap-sim .ap-insight .api-body strong {
  font-weight: 800 !important;
}

/* ═══════════════════════════════════════════════
   📱 모바일 대응
   ═══════════════════════════════════════════════ */
@media (max-width: 900px) {
  .ap-sim .ap-sim-title { font-size: 20px !important; }
  .ap-sim .ap-ctl-lbl { font-size: 15px !important; }
  .ap-sim .ap-ctl-val { font-size: 24px !important; }
  .ap-sim .ap-ctl-val span { font-size: 14px !important; }
  .ap-sim .ap-ctl-scale { font-size: 12px !important; }
  .ap-sim .ap-res-lbl { font-size: 12px !important; }
  .ap-sim .ap-res-desc { font-size: 13.5px !important; }
  .ap-sim .ap-res-val { font-size: 32px !important; }
  .ap-sim .ap-res-val em { font-size: 18px !important; }
  .ap-sim .ap-res-note { font-size: 12.5px !important; }
  .ap-sim .ap-res-arrow { font-size: 22px !important; }
  .ap-sim .ap-insight .api-body { font-size: 14px !important; line-height: 1.75 !important; }
}


/* ================================================================
   Netlify · "Powered by Netlify" 배지 · 강제 숨김
   ================================================================
   · Netlify 무료 요금제 · UI 옵션 없음 → CSS 강제 숨김
   · 원본 파일 안 건드리고 · 오버레이 방식
   · 세미나 발표 시 · 화면 깔끔하게
   ================================================================ */

[class*="netlify-badge"],
[id*="netlify-badge"],
a[href*="netlify.com"][target="_blank"],
a[href*="app.netlify.com"],
iframe[src*="netlify.com"],
iframe[src*="netlify.app"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Netlify 앱 배지 · 컨테이너 · 화면 우측 하단 고정 요소 · 추가 방어 */
[style*="position: fixed"][style*="bottom"][style*="right"] a[href*="netlify"],
[style*="position:fixed"][style*="bottom"][style*="right"] a[href*="netlify"] {
  display: none !important;
}
