* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--card);
  color: var(--text-main);
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
  overflow-x: hidden;
}
.app-container.page-exit-up {
  animation: pageExitUp var(--motion-duration-base) var(--motion-ease-exit) forwards;
  pointer-events: none;
}

.vision-card {
  background: var(--card);
  border-radius: var(--rd-md);
}

/* 타이틀 내용 — 11/12 패턴과 동일 */
.vision-hero {
  position: relative;
  overflow: hidden;
  padding: var(--sp-7) var(--sp-5) var(--sp-6);
  text-align: center;
}
.hero-kicker {
  font-size: var(--ft-body);
  font-weight: 800;
  color: var(--text-muted);
  letter-spacing: -0.01em;
  margin: 0 0 var(--sp-2);
}
.hero-tagline {
  margin: 0;
  font-size: var(--ft-display-l);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.04em;
  color: var(--text-main);
  word-break: keep-all;
}
.hero-tagline .accent-jm { color: var(--jelttok-deep); }
.hero-tagline .accent-jt { color: var(--jelttok-deep); }

/* 챕터 내용 */
.vision-chapter {
  padding: var(--sp-6) var(--sp-5);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
/* 영역 마스코트 — 각 챕터 상단 시각 휴식 */
.chapter-mascot {
  width: 168px;
  height: 168px;
  object-fit: contain;
  margin: 0 auto;
  display: block;
}
/* 학자 리스트 — 점 기호 + 2단 그리드.
   .chapter-body ul(flex column) 보다 specificity 높여서 grid override.
   항목 내(한글↔영문) line-height 1.2 / 항목 사이 gap var(--sp-3). */
.chapter-body ul.researcher-list {
  list-style: none;
  padding: var(--sp-4);
  margin: 0;
  background: var(--neutral-a);
  border-radius: var(--rd-md);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-3);
  font-size: var(--ft-body-s);
  font-weight: 700;
  color: var(--text-main);
}
.researcher-disclosure {
  margin: 0;
}
.researcher-disclosure summary {
  cursor: pointer;
  list-style: none;
  font-size: var(--ft-body);
  font-weight: 800;
  color: var(--text-main);
}
.researcher-disclosure summary::-webkit-details-marker {
  display: none;
}
.researcher-disclosure summary::after {
  content: "⌄";
  float: right;
  color: var(--text-muted);
  font-weight: 900;
}
.researcher-disclosure[open] summary::after {
  content: "⌃";
}
.researcher-disclosure .researcher-list {
  margin-top: var(--sp-3);
  text-align: left;
}
.researcher-list li {
  position: relative;
  padding-left: var(--sp-3);
  line-height: 1.2;
}
.researcher-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5lh;
  width: var(--dot-sm);
  height: var(--dot-sm);
  border-radius: var(--rd-pill);
  background: var(--text-muted);
  transform: translateY(-50%);
}
/* 긴 항목(보고서·기타 묶음)은 한 행 다 차지 */
.researcher-list li.full-row { grid-column: 1 / -1; }
/* 영문 병기 — 한글 다음 줄, 약한 톤.
   li line-height 1.2와 통일 (항목 내 좁게).
   굵기 700 → 500 (한글보다 한 단계 가볍게, 위계 분리). */
.researcher-list .en {
  display: block;
  font-size: var(--ft-caption);
  font-weight: 400;
  color: var(--text-muted);
  letter-spacing: 0;
  line-height: 1.2;
}
.chapter-num {
  font-size: var(--ft-h3);
  font-weight: 800;
  color: var(--jelttok-deep);
  letter-spacing: -0.02em;
  margin: 0;
}
.chapter-title {
  margin: 0;
  font-size: var(--ft-display-s);
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: var(--text-main);
  word-break: keep-all;
}
.chapter-body {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  font-size: var(--ft-body);
  line-height: 1.7;
  color: var(--text-main);
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.chapter-body p { margin: 0; }
.chapter-body strong {
  font-weight: 800;
  color: var(--jelttok-deep);
}
/* 비전 본문 강조는 젤똑 딥으로 통일 (대괄호 강조 포함) */
.chapter-body .accent-jm { color: var(--jelttok-deep); }
.chapter-body .accent-jt { color: var(--jelttok-deep); }
/* 카드 본문 마지막 자식의 여분 margin 제거 — 챕터 카드 padding과 중첩 방지 */
.chapter-body .content-box:last-child {
  margin-bottom: 0;
}
/* 본문 보조 박스 — 질문/강조/어원 공통 표면 */
.chapter-body .content-box {
  background: var(--neutral-a);
  border-radius: var(--rd-md);
  padding: var(--sp-4);
  margin: 0;
  text-align: center;
  line-height: 1.55;
}

.chapter-body .question-box {
  display: flex;
  flex-direction: column;
  gap: 0;
  font-size: var(--ft-body-l);
  font-weight: 700;
}
.chapter-body .question-box.is-spaced {
  gap: var(--sp-3);
}
.chapter-body ul {
  margin: 0;
  padding-left: var(--sp-5);
  display: flex;
  flex-direction: column;
  gap: 0;
}
.chapter-body li { line-height: 1.7; }
.chapter-body .example-flow {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* 인용 강조 박스 (사용자 [대괄호] 강조용) */
.highlight {
  padding: var(--sp-3) var(--sp-4);
  font-weight: 800;
  color: var(--text-main);
}

/* 브랜드 카드 — 12 미션 페이지와 동일한 하단 서명 */
.vision-brand {
  padding: var(--sp-7) var(--sp-5);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-3);
}
.brand-big {
  font-size: var(--ft-stat-xl);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: 0;
}
.brand-big .accent-jm { color: var(--jelmmung-deep); }
.brand-big .accent-jt { color: var(--jelttok-deep); }
.brand-body {
  margin: 0;
  font-size: var(--ft-body-l);
  font-weight: 700;
  line-height: 1.4;
  color: var(--text-main);
  letter-spacing: -0.01em;
}

/* CTA */
.cta-section {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  margin-top: var(--sp-2);
}
.cta-section .btn-cta { width: 100%; }

/* ── 젤리 글래스 (구 redesign.css 화면42 흡수 · !important 제거) ──
   .is-vision X(0,2,0)가 인라인 원본을 특정도로 이김. researcher-list만
   원본 .chapter-body ul.researcher-list(0,2,1) 때문에 .chapter-body 끼워 올림. */
.is-vision .vision-card,
.is-vision .cta-section { position: relative; z-index: 1; }
.is-vision .vision-hero,
.is-vision .vision-brand {
  background: var(--cg-card-bg);
  backdrop-filter: blur(var(--cg-blur)); -webkit-backdrop-filter: blur(var(--cg-blur));
  border: var(--cg-card-border);
  border-radius: var(--cg-radius);
  box-shadow: var(--cg-shadow);
}
.is-vision .vision-chapter {
  background: var(--cg-surface-70);
  backdrop-filter: blur(26px) saturate(1.25); -webkit-backdrop-filter: blur(26px) saturate(1.25);
  border: var(--cg-card-border);
  border-radius: var(--cg-radius);
  box-shadow:
    0 6px 16px rgba(217, 64, 64, 0.10),
    0 22px 48px rgba(217, 64, 64, 0.18),
    inset 0 1px 2px rgba(255, 255, 255, 0.85);
}
.is-vision .content-box,
.is-vision .chapter-body .researcher-list {
  background: var(--cg-surface-50);
  border: 1px solid rgba(255, 255, 255, 0.95);
  box-shadow:
    0 5px 13px rgba(43, 33, 66, 0.16),
    inset 0 1px 1px rgba(255, 255, 255, 0.6);
}
