.legal-page { background: var(--cream); }
.legal-main { padding: 130px 0 90px; }
.legal-main > .container { max-width: 980px; }
.legal-back { display: inline-block; margin-bottom: 24px; color: #6c4f79; font-weight: 600; }
.legal-document { padding: clamp(24px, 5vw, 64px); background: #fffdf7; border: 1px solid #eadfc8; border-radius: 28px; }
.legal-document h1 { margin-top: 18px; font-size: clamp(28px, 4vw, 48px); line-height: 1.16; letter-spacing: -.035em; overflow-wrap: anywhere; }
.legal-intro { margin: 22px 0; color: var(--ink-soft); font-size: 18px; line-height: 1.65; }
.legal-notice { margin: 24px 0 36px; padding: 20px 22px; border-radius: 18px; background: #f7edd6; color: #654b2a; font-size: 15px; line-height: 1.6; }
.legal-document section + section { margin-top: 30px; }
.legal-document h2 { margin-bottom: 14px; font-size: 23px; line-height: 1.35; letter-spacing: -.02em; }
.legal-document section p, .legal-document section ul { margin-top: 12px; color: var(--ink-soft); font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.legal-document section ul { list-style: disc; padding-left: 24px; }
.legal-document li + li { margin-top: 8px; }
.legal-document a { color: #704796; text-decoration: underline; text-underline-offset: 4px; }
.legal-related { display: flex; flex-wrap: wrap; gap: 16px 24px; margin-top: 40px; padding-top: 24px; border-top: 1px solid #eadfc8; font-size: 14px; }
.legal-page a:focus-visible, .legal-page button:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
@media (max-width: 759px) {
  .legal-main { padding: 96px 0 48px; }
  .legal-document { padding: 28px 20px; }
  .legal-document h2 { font-size: 20px; }
  .legal-intro { font-size: 16px; }
  .legal-notice { padding: 16px; font-size: 14px; }
  .legal-document section p, .legal-document section ul { font-size: 15px; line-height: 1.7; }
}
