.article-wrap{max-width:720px;margin:0 auto;padding:34px 20px 60px}
.article-wrap .kicker{font-size:.8rem;letter-spacing:.3em;color:var(--rose);font-weight:700}
.article-wrap h1{
  font-family:'Noto Serif TC',serif;font-weight:900;
  font-size:clamp(1.5rem,3.2vw,2rem);line-height:1.5;margin:8px 0 14px;
}
.article-meta{font-size:.85rem;color:var(--ink-soft);margin-bottom:30px}
.article-body{background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px 30px}
.article-body h2{
  font-family:'Noto Serif TC',serif;font-size:1.15rem;font-weight:900;
  color:var(--rose-deep);margin:28px 0 12px;
}
.article-body h2:first-child{margin-top:0}
.article-body p{font-size:.98rem;line-height:2;color:var(--ink);margin-bottom:14px}
.article-body ul{padding-left:1.3em;margin:0 0 14px}
.article-body li{font-size:.96rem;line-height:1.9;color:var(--ink);margin-bottom:4px}
.source-box{
  background:var(--rose-soft);border-radius:12px;padding:18px 20px;margin-top:26px;font-size:.9rem;
}
.source-box b{color:var(--rose-deep)}
.source-box a{color:var(--rose-deep);border-bottom:1px solid var(--rose)}
.article-cta{
  display:block;text-align:center;margin-top:22px;background:var(--rose);color:#fff;
  border-radius:12px;padding:15px 0;font-weight:900;letter-spacing:.06em;text-decoration:none;
}
.article-cta:hover{background:var(--rose-deep)}
