.legal-body { background: #f4f1e9; }
.legal-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 6vw; border-bottom: 1px solid #d8d5cc; background: #fbfaf7; }
.legal-header a:last-child { color: #24574e; font: 600 11px var(--mono); text-transform: uppercase; }
.legal-main { width: min(900px, 88vw); margin: 0 auto; padding: 76px 0 110px; }
.legal-status { margin: 0 0 35px; padding: 16px 18px; border-left: 4px solid #b33b2e; background: #fff3ef; color: #6a2a22; font: 600 11px/1.55 var(--mono); text-transform: uppercase; }
.legal-main h1 { max-width: 760px; margin: 0 0 45px; color: #173b35; font-size: clamp(46px, 6vw, 78px); }
.legal-main h2 { margin: 58px 0 18px; color: #173b35; font-size: clamp(28px, 3.4vw, 42px); letter-spacing: -2px; }
.legal-main h3 { margin: 30px 0 12px; color: #24574e; font-size: 20px; }
.legal-main p, .legal-main li { color: #45554e; font-size: 16px; line-height: 1.72; }
.legal-main ul { display: grid; gap: 8px; padding-left: 22px; }
.legal-main a { color: #24574e; text-decoration: underline; text-underline-offset: 4px; }
.legal-placeholder { padding: 2px 6px; background: #ffe6ae; color: #5a4113; font: 600 12px var(--mono); }
.legal-note { margin: 30px 0; padding: 20px; border: 1px solid #d0c59d; background: #fffdf4; }
.legal-note p { margin: 0; }
.legal-updated { margin-top: 58px; color: #6d7772; font: 500 10px var(--mono); text-transform: uppercase; }
.legal-main table { width: 100%; border-collapse: collapse; margin: 22px 0; font-size: 14px; }
.legal-main th, .legal-main td { padding: 11px 10px; border-bottom: 1px solid #d8d5cc; text-align: left; vertical-align: top; }
.legal-main th { color: #173b35; font: 600 10px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.legal-main td { color: #45554e; }
@media (max-width: 700px) { .legal-main table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; } }
@media (max-width: 560px) { .legal-header { align-items: flex-start; flex-direction: column; } .legal-main { width: min(88vw, 900px); padding-top: 55px; } }
