/* Shared reading shell only. Existing agreement text and effective dates stay intact. */
body.legal-page { --brand: #14352a; --bg: #f3efe6; --text: #171d19; --sub: #56605a; --line: #e3e6e0; background: var(--bg); color: var(--text); margin: 0; font-family: "PingFang SC", "HarmonyOS Sans SC", "MiSans", -apple-system, "Segoe UI", system-ui, sans-serif; line-height: 1.85; }
.legal-page * { box-sizing: border-box; }
.legal-nav { max-width: 960px; margin: auto; padding: 22px 24px; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; font-size: 16px; }
.legal-nav .legal-brand { font-size: 22px; font-weight: 800; margin-right: auto; color: #14352a; }
.legal-page a { color: #215c45; text-underline-offset: .2em; }
.legal-nav a { text-decoration: none; }
.legal-page a:hover { text-decoration: underline; }
.legal-page :focus-visible { outline: 3px solid #b3541e; outline-offset: 4px; }
.legal-page .wrap, .legal-page .page { max-width: 960px; margin: 0 auto; padding: 12px 24px 48px; }
.legal-page .card, .legal-page .doc { background: white; border: 1px solid #e3e6e0; border-radius: 20px; padding: clamp(22px, 5vw, 48px); box-shadow: 0 12px 36px rgba(20, 53, 42, .04); }
.legal-page p, .legal-page li { font-size: 16px; overflow-wrap: anywhere; }
.legal-page h1 { color: #14352a; font-size: clamp(27px, 5vw, 36px); line-height: 1.4; }
.legal-page h2 { font-size: 23px; color: #14352a; margin-top: 34px; line-height: 1.5; }
.legal-page h3 { font-size: 19px; line-height: 1.5; }
.legal-page .meta, .legal-page .crumb, .legal-page .footer { font-size: 14px; color: #56605a; }
.legal-page .toc { background: #f5f7f3; border: 1px solid #e3e6e0; padding: 20px 24px; border-radius: 12px; }
.legal-page table { display: block; max-width: 100%; overflow-x: auto; font-size: 16px; border-collapse: collapse; }
.legal-page th, .legal-page td { padding: 12px; min-width: 120px; border: 1px solid #e3e6e0; text-align: left; }
.legal-page .footer { margin-top: 28px; border-top: 1px solid #e3e6e0; padding-top: 18px; }
.legal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 20px 0 30px; padding: 0; list-style: none; }
.legal-grid a { display: block; height: 100%; padding: 20px; border: 1px solid #e3e6e0; border-radius: 12px; text-decoration: none; }
.legal-grid strong { display: block; color: #14352a; font-size: 18px; }
.legal-grid span { display: block; color: #56605a; font-size: 15px; margin-top: 8px; }
.legal-contact { border-top: 1px solid #e3e6e0; margin-top: 28px; padding-top: 18px; }
@media (max-width: 600px) { .legal-nav { gap: 14px; padding: 18px 16px; } .legal-nav .legal-brand { width: 100%; } .legal-page .wrap, .legal-page .page { padding: 8px 12px 32px; } .legal-grid { grid-template-columns: 1fr; } }
@media print { .legal-nav { display: none; } body.legal-page { background: white; } .legal-page .card, .legal-page .doc { border: 0; padding: 0; box-shadow: none; } }
