*{ box-sizing:border-box; }
html,body{ max-width:100%; overflow-x:hidden; }

.post-wrap{ max-width:900px; margin:0 auto; padding:40px 20px; }
.post-nav{ margin-bottom:14px; }
.post-back{ text-decoration:none; color:#2563eb; font-weight:900; }
.post-back:hover{ text-decoration:underline; }

.post-card{ background:#fff; border:1px solid #e5e7eb; border-radius:18px; padding:24px; }

.post-topmeta{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:12px; }
.post-chip{ background:#f1f5f9; border:1px solid #e5e7eb; color:#334155; padding:6px 12px; border-radius:999px; font-size:12px; font-weight:900; }
.post-meta{ font-size:12px; color:#9ca3af; }

.post-title{ margin:0 0 12px; font-size:30px; line-height:1.25; color:#0f172a; letter-spacing:-0.02em; word-break:break-word; }
.post-summary{ margin:0 0 18px; font-size:15px; line-height:1.7; color:#6b7280; }

.post-thumb{ margin:18px 0; overflow:hidden; border-radius:14px; }
.post-thumb img{ width:100%; object-fit:cover; display:block; }

.post-content{ margin-top:20px; font-size:16px; line-height:1.9; color:#111827; word-break:break-word; }
.post-content img{ max-width:100%; border-radius:14px; margin:16px 0; }
.post-content a{ color:#2563eb; font-weight:800; text-decoration:underline; }

.post-content h2{
  margin: 22px 0 8px;
  font-size: 18px;
  font-weight: 900;
  letter-spacing:-0.02em;
}
.post-content p{ margin: 0 0 12px; }

.contact-cta{ margin-top:28px; padding:18px; border:1px solid #e5e7eb; border-radius:18px; background:#fff; }
.contact-cta-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.contact-cta-title{ font-size:18px; font-weight:900; color:#0f172a; }

.contact-cta-actions{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }

.cta-btn{ display:flex; align-items:center; gap:14px; padding:16px; border-radius:16px; text-decoration:none; color:#0f172a; border:1px solid #e5e7eb; background:#f8fafc; transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease; min-height:80px; }
.cta-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 24px rgba(0,0,0,.06); border-color:#d1d5db; }
.cta-btn:active{ transform:translateY(0); box-shadow:none; }

.cta-icon{ width:44px; height:44px; border-radius:999px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; border:1px solid rgba(0,0,0,.08); background:rgba(0,0,0,.03); }
.cta-icon i{ font-size:18px; color:#334155; }

.cta-subtext{
  display:block;
  font-size:24px;
  color:#475569;
  font-weight:700;

  white-space:normal;
  word-break:break-word;
  overflow-wrap:break-word;

  max-width:100%;
  line-height:1.3;
}

.cta-call{ background:#eff6ff; border-color:#dbeafe; }
.cta-call .cta-icon{ background:#dbeafe; border-color:#bfdbfe; }
.cta-call .cta-icon i{ color:#2563eb; }

/* ✅ 관련 글(내부링크) */
.related-posts{
  margin-top:28px;
  padding:18px;
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
}
.related-head{ display:flex; flex-direction:column; gap:4px; margin-bottom:12px; }
.related-title{ font-size:18px; font-weight:900; color:#0f172a; }
.related-sub{ font-size:12px; color:#64748b; }

.related-list{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px; }

.related-link{
  display:flex; gap:12px; align-items:center;
  text-decoration:none;
  color:#0f172a;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.related-thumb{
  width:72px; height:54px; flex:0 0 auto;
  border-radius:12px; overflow:hidden;
  border:1px solid rgba(0,0,0,.06);
  background:#fff;
}
.related-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

.related-text{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.related-t{
  font-weight:500;
  line-height:1.35;
  word-break:break-word;
  overflow-wrap:break-word;
}
.related-meta{
  display:flex; gap:10px; flex-wrap:wrap;
  font-size:12px; color:#94a3b8;
}

@media (max-width:640px){
  .post-wrap{ padding:26px 14px; }
  .post-card{ padding:18px; }
  .post-title{ font-size:22px; }
  .contact-cta-actions{ grid-template-columns:1fr; }
  .cta-subtext{ max-width:100%; }

  .related-link{ align-items:flex-start; }
  .related-thumb{ width:64px; height:48px; }
}
