.legal { max-width: 820px; margin: 0 auto; }
.legal h1 { margin: 0; font-family: var(--f-display); font-weight: 600; font-size: clamp(2.4rem, 5vw, 3.6rem); line-height: 1.05; }
.legal__date { margin: .8rem 0 2.2rem; font-size: .78rem; color: var(--ink-soft); }
.legal h2 { font-size: clamp(1.35rem, 2.4vw, 1.7rem); margin: 2.4rem 0 .7rem; }
.legal p, .legal li { color: var(--ink-soft); font-size: 1.04rem; }
.legal strong { color: var(--ink); }
.legal ul { padding-left: 1.2rem; }
.legal li { margin-bottom: .4rem; }
.legal a { color: var(--ink); text-decoration-color: var(--sun-deep); text-underline-offset: 3px; }
.legal__data { display: grid; grid-template-columns: 150px 1fr; gap: .5rem 1rem; margin: 0; padding: 1.2rem 1.4rem; border: 2px solid var(--ink); border-radius: 16px; background: #fff; }
.legal__data dt { font-weight: 600; }
.legal__data dd { margin: 0; color: var(--ink-soft); }
.legal__table { overflow-x: auto; margin: 1rem 0; }
.legal table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.legal th, .legal td { text-align: left; padding: .7rem .8rem; border-bottom: 1px solid rgba(51,54,90,.18); vertical-align: top; }
.legal th { font-family: var(--f-mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.todo { background: #fff1a8; color: var(--apple); font-weight: 600; padding: 0 .25em; border-radius: 4px; }
@media (max-width: 560px) { .legal__data { grid-template-columns: 1fr; gap: .1rem; } .legal__data dd { margin-bottom: .6rem; } }
.legal__note { padding: .7rem 1rem; border-left: 4px solid var(--sun); background: #fff; border-radius: 0 10px 10px 0; font-size: .95rem; }
