body.legal-page { background: var(--surface-2); }
.legal-header { background: var(--surface-1); border-bottom: 1px solid var(--border-1); }
.legal-header__inner, .legal-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); min-height: 76px; }
.legal-brand { display: inline-flex; align-items: center; gap: var(--sp-3); color: var(--text-1); font-family: var(--font-display); font-weight: 700; font-size: 1.15rem; }
.legal-brand img { width: 38px; height: 38px; object-fit: contain; }
.legal-back { color: var(--brand-700); font-size: var(--fs-sm); font-weight: 600; }
.legal-back:hover { text-decoration: underline; }
.legal-main { padding-block: clamp(2.5rem, 6vw, 5rem); }
.legal-layout { max-width: 860px; margin-inline: auto; }
.legal-eyebrow { color: var(--brand-700); font-size: var(--fs-sm); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.legal-title { margin-top: var(--sp-3); font-family: var(--font-display); font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.08; letter-spacing: -.03em; }
.legal-updated { margin-top: var(--sp-3); color: var(--text-3); font-size: var(--fs-sm); }
.legal-card { margin-top: var(--sp-8); padding: clamp(1.25rem, 3vw, 2.5rem); background: var(--surface-1); border: 1px solid var(--border-1); border-radius: var(--r-lg); box-shadow: var(--shadow-sm); }
.legal-card h2 { margin-top: var(--sp-8); font-family: var(--font-display); font-size: 1.35rem; line-height: 1.25; }
.legal-card h2:first-child { margin-top: 0; }
.legal-card h3 { margin-top: var(--sp-6); font-size: 1rem; }
.legal-card p, .legal-card li { color: var(--text-2); line-height: 1.72; }
.legal-card p { margin-top: var(--sp-3); }
.legal-card ul { margin-top: var(--sp-3); padding-left: 1.2rem; }
.legal-card li + li { margin-top: var(--sp-2); }
.legal-card a { color: var(--brand-700); text-decoration: underline; text-underline-offset: 2px; }
.legal-note { margin-top: var(--sp-6); padding: var(--sp-4); border-left: 4px solid var(--brand-500); border-radius: var(--r-sm); background: var(--brand-50); }
.legal-note p { margin: 0; color: var(--text-1); }
.legal-footer { margin-top: var(--sp-12); background: var(--ink-900); color: rgba(255,255,255,.74); }
.legal-footer a { color: #fff; font-size: var(--fs-sm); }
.legal-footer nav { display: flex; gap: var(--sp-4); flex-wrap: wrap; }
@media (max-width: 560px) { .legal-header__inner, .legal-footer__inner { min-height: 64px; } .legal-footer__inner { align-items: flex-start; flex-direction: column; padding-block: var(--sp-4); } }
