:root {
  --ce2-shd-label-size: 14px;
  --ce2-shd-label-weight: 600;
  --ce2-shd-label-lh: 1.7;
  --ce2-shd-label-ls: 0.02em;
  --ce2-shd-label-color: #2f6496;
  --ce2-shd-label-gap: 12px;

  --ce2-shd-title-size: 30px;
  --ce2-shd-title-weight: 700;
  --ce2-shd-title-lh: 1.4;
  --ce2-shd-title-ls: -0.01em;
  --ce2-shd-title-color: #0a1e30;
  --ce2-shd-title-gap: 18px;

  --ce2-shd-sub-size: 16px;
  --ce2-shd-sub-weight: 400;
  --ce2-shd-sub-lh: 1.75;
  --ce2-shd-sub-color: #4a6680;
  --ce2-shd-sub-gap: 0px;

  --ce2-shd-title-color-invert: #ffffff;
  --ce2-shd-sub-color-invert: rgba(255, 255, 255, 0.78);
}

@media (max-width: 768px) {
  :root {
    --ce2-shd-title-size: 28px;
    --ce2-shd-title-lh: 1.38;
    --ce2-shd-sub-lh: 1.7;
  }
}

.ce-sec .ce-sec__inner > .ce-sec__eyebrow,
.ce-phil2-wrap .ce-phil2 .ce-phil2__eyebrow,
.ce-intro .ce-intro__head .ce-intro__eyebrow {
  display: block;
  font-family: var(--dn-font);
  font-size: var(--ce2-shd-label-size) !important;
  font-weight: var(--ce2-shd-label-weight) !important;
  line-height: var(--ce2-shd-label-lh) !important;
  letter-spacing: var(--ce2-shd-label-ls) !important;
  color: var(--ce2-shd-label-color) !important;
  text-transform: none !important;
  text-align: left !important;
  margin: 0 0 var(--ce2-shd-label-gap) !important;
}

.ce-sec .ce-sec__inner > .ce-sec__h2,
.ce-phil2-wrap .ce-phil2 .ce-phil2__heading,
.ce-intro .ce-intro__head .ce-intro__heading,
.ce-close .ce-close__inner .ce-close__h2 {
  font-family: var(--dn-font);
  font-size: var(--ce2-shd-title-size) !important;
  font-weight: var(--ce2-shd-title-weight) !important;
  line-height: var(--ce2-shd-title-lh) !important;
  letter-spacing: var(--ce2-shd-title-ls) !important;
  color: var(--ce2-shd-title-color) !important;
  text-align: left !important;
  margin: 0 0 var(--ce2-shd-title-gap) !important;
  word-break: keep-all;
}

.ce-sec .ce-sec__inner > .ce-sec__answer,
.ce-phil2-wrap .ce-phil2 .ce-phil2__lead,
.ce-intro .ce-intro__head .ce-intro__lead,
.ce-close .ce-close__inner .ce-close__p {
  font-family: var(--dn-font);
  font-size: var(--ce2-shd-sub-size) !important;
  font-weight: var(--ce2-shd-sub-weight) !important;
  line-height: var(--ce2-shd-sub-lh) !important;
  letter-spacing: normal !important;
  color: var(--ce2-shd-sub-color) !important;
  text-align: left !important;
  margin-top: var(--ce2-shd-sub-gap) !important;
  word-break: keep-all;
}

.ce-close .ce-close__inner .ce-close__h2 {
  color: var(--ce2-shd-title-color-invert) !important;
  text-align: center !important;
}
.ce-close .ce-close__inner .ce-close__p {
  color: var(--ce2-shd-sub-color-invert) !important;
  text-align: center !important;
}

.ce-sec .ce-sec__inner > .ce-sec__answer + .ce-sec__answer,
.ce-phil2-wrap .ce-phil2 .ce-phil2__lead + .ce-phil2__lead,
.ce-close .ce-close__inner .ce-close__p + .ce-close__p {
  margin-top: var(--ce2-shd-sub-gap) !important;
}
.ce-sec .ce-sec__inner > .ce-sec__answer:has(+ .ce-sec__answer),
.ce-phil2-wrap .ce-phil2 .ce-phil2__lead:has(+ .ce-phil2__lead),
.ce-close .ce-close__inner .ce-close__p:has(+ .ce-close__p) {
  margin-bottom: var(--ce2-shd-sub-gap) !important;
}

.ce-intro .ce-intro__head {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}

.ce-intro {
  max-width: var(--ce-page, 1232px);
}

.dn-label.dn-label.dn-label,
.topic-related-posts__eyebrow.topic-related-posts__eyebrow,
.topic-bottom-links__eyebrow.topic-bottom-links__eyebrow {
  font-size: var(--ce2-shd-label-size) !important;
  font-weight: var(--ce2-shd-label-weight) !important;
  line-height: var(--ce2-shd-label-lh) !important;
  letter-spacing: var(--ce2-shd-label-ls) !important;
  color: var(--ce2-shd-label-color) !important;
  text-transform: none !important;
  margin-bottom: var(--ce2-shd-label-gap) !important;
}

.dn-heading.dn-heading.dn-heading,
.topic-related-posts__title.topic-related-posts__title,
.topic-bottom-links__title.topic-bottom-links__title {
  font-size: var(--ce2-shd-title-size) !important;
  font-weight: var(--ce2-shd-title-weight) !important;
  line-height: var(--ce2-shd-title-lh) !important;
  letter-spacing: var(--ce2-shd-title-ls) !important;
  color: var(--ce2-shd-title-color) !important;
}

/* FAQ 섹션 헤더 — 위 토큰을 따른다.
   letter-spacing 은 제외한다: 영문 대문자 라벨과 한글 라벨은 적정 자간이
   다르므로, 라벨 표기가 정해질 때 함께 정한다. */
.dn-faq__eyebrow.dn-faq__eyebrow.dn-faq__eyebrow {
  font-weight: var(--ce2-shd-label-weight) !important;
  line-height: var(--ce2-shd-label-lh) !important;
  color: var(--ce2-shd-label-color) !important;
}

.dn-faq__title.dn-faq__title.dn-faq__title {
  font-weight: var(--ce2-shd-title-weight) !important;
  line-height: var(--ce2-shd-title-lh) !important;
  letter-spacing: var(--ce2-shd-title-ls) !important;
  color: var(--ce2-shd-title-color) !important;
}

/* dn-copy-media--dark 는 배경이 흰색이므로 반전 라벨 색이 아니라
   기본 라벨 색을 쓴다. */
.dn-copy-media.dn-copy-media--dark .dn-label.dn-label.dn-label {
  color: var(--ce2-shd-label-color) !important;
}
