*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; padding: 20px; background: linear-gradient(135deg, #f7f5f9 0%, #f0ecf3 50%, #e8e3ec 100%); font-family: 'NanumSquare', -apple-system, sans-serif; color: #333333; line-height: 1.7; font-size: 1rem; }
.blog-container { max-width: 640px; margin: 0 auto; }
.highlight { background-color: #f4eef6; color: #331B3F; padding: 2px 6px; border-radius: 4px; font-weight: 700; }
.post-header { margin-bottom: 25px; padding-bottom: 15px; border-bottom: 2px solid #e1d8e6; }
.post-tag { display: none; }
.post-title { font-size: 1.6rem; color: #331B3F; margin: 0 0 10px 0; font-weight: 800; }
.post-meta { font-size: 0.85rem; color: #655d6a; }
.intro-section, .conclusion-section { margin-bottom: 24px; font-size: 1rem; color: #4a4250; }

.summary-box { background: #ffffff; border: 1px solid #e1d8e6; border-left: 4px solid #331B3F; padding: 18px 20px; border-radius: 8px; margin-bottom: 24px; box-shadow: 0 2px 8px rgba(51, 27, 63, 0.05); }
.summary-title { font-weight: 800; color: #331B3F; font-size: 1.05rem; margin-bottom: 10px; display: flex; align-items: center; gap: 6px; }
.summary-title::before { content: '📢 한마디로'; }
.summary-box p { margin: 0 0 10px 0; color: #333333; font-size: 1rem; line-height: 1.7; }
.summary-box p:last-child { margin-bottom: 0; }
.summary-box ul.custom-list { margin: 10px 0 0 0; }

.toc-box { border: 1px solid #e1d8e6; border-radius: 8px; overflow: hidden; margin: 28px 0; background: #ffffff; box-shadow: 0 2px 8px rgba(51, 27, 63, 0.04); }
.toc-header { background: #f4eef6; padding: 10px 16px; font-weight: bold; color: #331B3F; font-size: 0.9rem; display: flex; align-items: center; gap: 6px; border-bottom: 1px solid #e1d8e6; }
.toc-header::before { content: '🔖'; font-style: normal; font-weight: normal; }
.toc-list { list-style: none; padding: 14px 18px; margin: 0; background: #ffffff; }
.toc-list li { margin-bottom: 6px; font-size: 0.95rem; }
.toc-list li.toc-h3 { padding-left: 18px; font-size: 0.9rem; }
.toc-list li.toc-h4 { padding-left: 28px; font-size: 0.85rem; }
.toc-list a { color: #331B3F; text-decoration: none; transition: color 0.2s; }
.toc-list a:hover { text-decoration: underline; opacity: 0.8; }

h2, .h21, h5 { font-size: 1.35rem; color: #331B3F; border-bottom: 2px solid #e1d8e6; padding-bottom: 8px; margin-top: 40px; margin-bottom: 10px; font-weight: bold; }
h3, .h31, h4 { font-size: 1.1rem; color: #483154; font-weight: 700; margin-top: 24px; margin-bottom: 12px; }

p { margin: 0 0 16px 0; }
ul.custom-list { list-style: none; padding-left: 0; margin: 20px 0; font-size: 1rem; line-height: 1.7; }
ul.custom-list li { position: relative; padding-left: 24px; margin-bottom: 12px; line-height: 1.6; }
ul.custom-list li::before { content: ''; position: absolute; left: 6px; top: 10px; width: 6px; height: 6px; background-color: #331B3F; transform: rotate(45deg); transition: transform 0.2s ease; }
ul.custom-list li:hover::before { transform: rotate(45deg) scale(1.3); }

.table-wrapper { margin: 24px 0; border: 1px solid #e1d8e6; border-radius: 8px; overflow: hidden; background: #ffffff; box-shadow: 0 2px 8px rgba(51, 27, 63, 0.03); }
.blog-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.blog-table th, .blog-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid #f0eaef; }
.blog-table tr:last-child td { border-bottom: none; }
.blog-table th { background-color: #E3ECE5; color: #331B3F; font-weight: 700; font-size: 0.9rem; letter-spacing: -0.3px; border-bottom: 1px solid #c9dacd; }
.blog-table td { color: #4a4250; }

.faq-container { margin: 12px 0 36px 0; }
.faq-item { padding: 16px 0; border-bottom: 1px dashed #e1d8e6; }
.faq-item:last-child { border-bottom: none; }
.faq-q { font-weight: 700; color: #331B3F; margin-bottom: 4px; display: flex; align-items: center; gap: 8px; font-size: 1rem; }
.faq-q::before { content: 'Q.'; color: #331B3F; font-weight: 800; }
.faq-a { color: #4a4250; font-size: 0.95rem; padding-left: 24px; margin: 0; }

/* CTA 버튼 - 진한 네이비 바탕 + 연한 민트 글자 */
.btn-wrapper {
  text-align: center;
  margin: 32px 0;
}

.custom-btn {
  display: inline-block;
  background: #00203F;
  color: #ADEFD1;
  font-weight: 800;
  font-size: 1.15rem;
  padding: 18px 40px;
  border-radius: 10px;
  border-top: none;
  border-left: none;
  border-right: 6px solid #5EEBB5;
  border-bottom: 6px solid #5EEBB5;
  text-decoration: none;
  box-shadow: none;
  transition: all 0.25s ease;
  letter-spacing: -0.5px;
}

.custom-btn:hover {
  transform: translateY(-2px);
  background: #00203F;
  color: #ADEFD1;
  box-shadow: none;
}

.custom-btn:visited {
  color: #ADEFD1;
}

/* 하단 투자 유의사항 (Disclaimer) 스타일 - 테두리/박스 없이 왼쪽 정렬, 기울임, CSS ::before 추가 */
.disclaimer-box {
  margin-top: 50px;
  padding-top: 20px;
  border-top: 1px solid #e2e8f0;
  text-align: left;
}
.disclaimer-box::before {
  content: "특정 투자를 권유하는 글이 아니며, 투자 결정과 그 책임은 본인에게 있습니다.";
  font-style: italic;
  font-size: 0.85rem;
  color: #64748b;
  line-height: 1.65;
  display: block;
  word-break: keep-all;
}
