/* Ryan K Tax & Law — v7 typography, readability, and conversion polish */
:root {
  --serif: 'Newsreader', Georgia, 'Times New Roman', serif !important;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif !important;
  --sans-ko: 'Noto Sans KR', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif !important;
}
html { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
body {
  font-family: var(--sans) !important;
  font-size: 16px;
  line-height: 1.72;
  letter-spacing: -0.012em;
}
html[lang="ko"] body { font-family: var(--sans-ko) !important; letter-spacing: -0.018em; word-break: keep-all; }
html[lang="en"] h1, html[lang="en"] h2,
html[lang="en"] .hero-title, html[lang="en"] .section-title,
html[lang="en"] .article-wrap h1, html[lang="en"] .article-cta h3 {
  font-family: var(--serif) !important;
  font-optical-sizing: auto;
  letter-spacing: -0.028em;
}
html[lang="ko"] h1, html[lang="ko"] h2, html[lang="ko"] h3,
html[lang="ko"] .hero-title, html[lang="ko"] .section-title,
html[lang="ko"] .article-wrap h1, html[lang="ko"] .article-cta h3 {
  font-family: var(--sans-ko) !important;
  letter-spacing: -0.04em;
  word-break: keep-all;
}
h1 { line-height: 1.06 !important; }
h2 { line-height: 1.16 !important; }
h3 { line-height: 1.28 !important; }
p, li { line-height: 1.76; }
.hero p, .hero-sub, .section-subtitle, .intro-text { max-width: 760px; }
.nav-links a, .btn-nav, button, .btn-primary, .btn-outline { font-weight: 600 !important; }
.btn-primary, .btn-nav { box-shadow: 0 7px 18px rgba(61,92,59,.13); }
.post-card { box-shadow: 0 5px 18px rgba(42,42,42,.035); }
.post-card h2 { font-size: clamp(22px, 2.2vw, 30px) !important; line-height: 1.18 !important; }
.post-card p { font-size: 15.5px !important; line-height: 1.72 !important; }
.article-wrap { max-width: 780px !important; }
.article-wrap h1 { font-size: clamp(36px, 5vw, 58px) !important; line-height: 1.08 !important; margin-bottom: 18px !important; }
.article-body { font-size: 18px !important; line-height: 1.9 !important; }
html[lang="ko"] .article-body { font-family: var(--sans-ko) !important; line-height: 1.95 !important; }
.article-body p { margin-bottom: 1.35em !important; }
.article-body h2 { margin-top: 2.2em !important; margin-bottom: .7em !important; font-size: clamp(26px, 3vw, 34px) !important; }
.article-body h3 { margin-top: 1.8em !important; }
.article-body ul, .article-body ol { padding-left: 1.15em; }
.article-body strong { font-weight: 700; }
.article-body blockquote { font-size: 1.03em; line-height: 1.8; }
.article-body a { text-underline-offset: 3px; text-decoration-thickness: 1px; }
.article-kicker { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; color: var(--olive); }
.related-service { margin-top: 22px; font-size: 14px; }
.related-service a { color: var(--olive-deep); font-weight: 700; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width: 720px) {
  body { font-size: 15.5px; }
  .article-body { font-size: 17px !important; line-height: 1.84 !important; }
  .article-wrap h1 { font-size: clamp(32px, 10vw, 44px) !important; }
}
