:root {
  --ink: #14241f;
  --muted: #66756f;
  --green: #163f35;
  --green-2: #1f5a4a;
  --mint: #e5f2ec;
  --cream: #f5f2e9;
  --paper: #fffefa;
  --line: #dce5df;
  --gold: #b88a3b;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: "Segoe UI", "Microsoft YaHei", sans-serif; line-height: 1.75; }
a { color: var(--green-2); }
.legal-shell { min-height: 100vh; }
.legal-header { padding: 24px clamp(20px, 6vw, 84px); background: var(--green); color: white; }
.legal-brand { display: flex; align-items: center; gap: 12px; color: white; text-decoration: none; }
.legal-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: white; color: var(--green); font: 700 22px Georgia, serif; }
.legal-brand strong, .legal-brand span { display: block; }
.legal-brand span { color: rgba(255,255,255,.68); font-size: 12px; }
.legal-brand .legal-mark { color: var(--green); font-size: 22px; }
.legal-main { width: min(940px, calc(100% - 32px)); margin: 0 auto; padding: 64px 0 80px; }
.legal-kicker { margin: 0 0 8px; color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
h1 { margin: 0; font: 600 clamp(34px, 5vw, 56px)/1.12 Georgia, "Microsoft YaHei", serif; }
.legal-summary { max-width: 760px; margin: 20px 0 34px; color: var(--muted); font-size: 17px; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 34px; color: var(--muted); font-size: 13px; }
.legal-card { padding: clamp(22px, 4vw, 42px); border: 1px solid var(--line); border-radius: 24px; background: var(--paper); box-shadow: 0 18px 50px rgba(22,63,53,.08); }
.legal-card section + section { margin-top: 34px; padding-top: 30px; border-top: 1px solid var(--line); }
h2 { margin: 0 0 12px; font: 600 24px/1.3 Georgia, "Microsoft YaHei", serif; }
h3 { margin: 18px 0 6px; font-size: 16px; }
p { margin: 10px 0; }
ul, ol { margin: 10px 0; padding-left: 24px; }
li + li { margin-top: 6px; }
.notice { padding: 16px 18px; border-left: 4px solid var(--gold); border-radius: 0 12px 12px 0; background: #faf5e9; }
.contact-box { margin-top: 18px; padding: 18px; border-radius: 16px; background: var(--mint); }
.en { color: #43544d; }
.legal-footer { padding: 30px 20px; border-top: 1px solid var(--line); color: var(--muted); text-align: center; font-size: 13px; }
.legal-footer a { margin: 0 8px; }
@media (max-width: 640px) { .legal-main { padding-top: 42px; } .legal-card { border-radius: 18px; } }
