:root { color: #251b20; background: #fff7f1; font-family: "DM Sans", "Helvetica Neue", Arial, sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; background: radial-gradient(circle at 100% 0, #ffd8c9 0, transparent 31rem), #fff7f1; }
.legal-page { width: min(100% - 40px, 760px); margin: 0 auto; padding: 36px 0 64px; }
.brand { color: #251b20; font-size: 1.25rem; font-weight: 700; letter-spacing: -.04em; text-decoration: none; }
.brand span { color: #ff624d; }
nav { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 26px 0 44px; }
nav a { color: #8f5549; font-size: .9rem; }
article { padding: clamp(24px, 6vw, 48px); background: #fffdfb; border: 1px solid #ead7cf; border-radius: 24px; box-shadow: 0 18px 55px #7d3c2b14; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; color: #251b20; letter-spacing: -.035em; }
h1 { font-size: clamp(2.25rem, 7vw, 3.4rem); line-height: 1.05; margin: 0 0 10px; }
h2 { font-size: 1.45rem; margin: 36px 0 10px; }
p, li { color: #5f4c50; font-size: 1rem; line-height: 1.65; }
p { margin: 0 0 16px; }
ul { padding-left: 22px; }
a { color: #b64a3b; }
.updated { color: #9d8780; font-size: .9rem; }
.notice { margin: 24px 0; padding: 16px 18px; background: #fff1eb; border-radius: 14px; color: #705d61; }
.footer { margin-top: 28px; color: #9d8780; font-size: .85rem; text-align: center; }
