body.legal-page { min-height: 100vh; }
.legal-page header { height: 96px; }
.legal-main { width:min(900px,calc(100% - 36px)); margin:0 auto; padding:54px 0 90px; }
.legal-intro { margin-bottom:36px; }
.legal-intro h1 { margin:18px 0 14px; font-size:clamp(42px,7vw,72px); line-height:.95; letter-spacing:-.055em; }
.legal-intro p { max-width:720px; color:var(--muted); font-size:18px; line-height:1.6; }
.legal-card { padding:clamp(25px,5vw,48px); border:1px solid #29312f12; border-radius:25px; background:#ffffffc4; box-shadow:0 22px 50px #29312f0c; }
.legal-card h2 { margin:38px 0 12px; font-size:26px; }
.legal-card h2:first-child { margin-top:0; }
.legal-card h3 { margin:24px 0 8px; font-size:18px; }
.legal-card p,.legal-card li { color:var(--muted); font-size:16px; line-height:1.7; }
.legal-card ul { padding-left:22px; }
.legal-card li { margin:7px 0; }
.legal-card a { color:var(--green); font-weight:800; }
.legal-note { margin-top:32px; padding:18px 20px; border-radius:14px; background:#e7eee9; }
.legal-updated { margin-top:32px; color:var(--muted); font-size:13px; }
.legal-page .site-footer { width:min(1100px,calc(100% - 36px)); margin:auto; }
@media(max-width:600px){.legal-main{padding-top:30px}.legal-card{padding:24px 20px}.legal-card h2{font-size:23px}}
