:root {
  --professional-sans: "Noto Sans KR", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --professional-serif: "Noto Serif KR", "Noto Sans KR", Pretendard, sans-serif;
}

body {
  font-family: var(--professional-sans);
}

.hero h1,
.section-heading h2,
.voucher-intro h2,
.branch-header h2,
.story-copy h2,
.final-cta h2,
.process-heading h2 {
  font-family: var(--professional-serif);
  font-weight: 600;
  letter-spacing: -0.075em;
}

.section-kicker,
.program-no,
.branch-label,
.hero-note-label,
.brand-copy span {
  font-family: var(--professional-sans);
  letter-spacing: 0.08em;
}

.program-card strong,
.program-card small,
.voucher-item summary,
.branch-card h3,
.process-card h3,
.quick-link strong {
  font-family: var(--professional-sans);
}

.program-card strong,
.branch-card h3,
.process-card h3,
.quick-link strong {
  font-weight: 700;
}

.program-card small {
  font-weight: 500;
}

.emoji-badge {
  display: grid; place-items: center;
  overflow: visible;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(244, 251, 249, 0.88));
  border: 1px solid rgba(255, 255, 255, 0.95);
}

.emoji-glyph {
  display: block;
  transform: translateY(1px);
  filter: saturate(1.06) drop-shadow(0 2px 3px rgba(36, 66, 62, 0.12));
}

.emoji-spark {
  position: absolute;
  top: -4px;
  right: -3px;
  display: grid;
  place-items: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  color: #e7a538;
  background: #fff8e9;
  font-size: 9px;
  line-height: 1;
  box-shadow: 0 3px 8px rgba(170, 114, 31, 0.16);
}

@media (max-width: 720px) {
  .hero h1,
  .section-heading h2,
  .voucher-intro h2,
  .branch-header h2,
  .story-copy h2,
  .final-cta h2,
  .process-heading h2 {
    letter-spacing: -0.065em;
  }
}
