/* Native text keeps this public document readable on every backend host. */
body[data-page="terms"] { font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif; }
.terms-heading { padding: 34px 0 36px; background: var(--soft); border-bottom: 1px solid var(--line); }
.terms-back { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 14px; margin-bottom: 22px; }
.terms-back svg, .terms-contact-link svg { width: 18px; height: 18px; flex-shrink: 0; }
.terms-heading h1 { margin: 0 0 16px; font-size: 44px; line-height: 1.2; white-space: normal; }
.terms-intro { max-width: 800px; margin: 0; line-height: 1.8; font-size: 18px; }
.terms-meta { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 24px; font-size: 13px; color: var(--muted); }
.terms-layout { display: grid; grid-template-columns: 230px minmax(0, 760px); gap: 64px; padding-block: 48px 60px; align-items: start; }
.terms-contents { border-right: 1px solid var(--line); padding-right: 24px; }
.terms-contents h2 { font-size: 15px; margin: 0 0 16px; }
.terms-contents ol { margin: 0; padding-left: 22px; color: var(--muted); }
.terms-contents li { padding-left: 5px; }
.terms-contents a { display: block; padding-block: 9px; font-size: 15px; }
.terms-contents a:hover, .terms-back:hover { color: var(--red); }
.terms-article { min-width: 0; }
.terms-article section { padding-bottom: 28px; margin-bottom: 28px; border-bottom: 1px solid var(--line); scroll-margin-top: 28px; }
.terms-article section:last-child { border: 0; margin: 0; padding: 0; }
.terms-article h2 { font-size: 22px; line-height: 1.4; margin: 0 0 12px; }
.terms-article p { margin: 0; font-size: 16px; line-height: 1.9; color: #344760; }
.terms-contact-details { margin: 0 0 20px; font-size: 16px; line-height: 1.8; }
.terms-contact-details div { display: flex; gap: 18px; margin-block: 6px; }
.terms-contact-details dt { color: var(--muted); min-width: 46px; }
.terms-contact-details dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.terms-contact-details a { text-decoration: underline; text-underline-offset: 3px; }
.terms-contact-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
@media (max-width: 800px) {
  .terms-layout { grid-template-columns: 1fr; gap: 30px; padding-block: 30px 40px; }
  .terms-contents { border-right: 0; border-bottom: 1px solid var(--line); padding: 0 0 20px; }
  .terms-contents ol { display: flex; flex-wrap: wrap; gap: 0 24px; padding: 0; list-style: none; }
  .terms-contents h2 { margin-bottom: 8px; }
}
@media (max-width: 700px) {
  .terms-heading { padding-block: 26px 28px; }
  .terms-heading h1 { font-size: 32px; }
  .terms-intro { font-size: 16px; }
  .terms-meta { flex-direction: column; margin-top: 20px; }
  .terms-article h2 { font-size: 20px; }
  .terms-article section { margin-bottom: 24px; padding-bottom: 24px; }
}
