:root { --blue:#1f6bff; --navy:#162a5c; --ink:#25324a; --muted:#65748b; --line:#dfe8f7; --bg:#f5f7fc; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--bg); font-family:Prompt,Arial,sans-serif; line-height:1.75; }
a { color:var(--blue); }
.legal-top { border-bottom:1px solid var(--line); background:#fff; }
.legal-wrap { width:min(860px,calc(100% - 36px)); margin:auto; }
.legal-top .legal-wrap { display:flex; align-items:center; justify-content:space-between; min-height:72px; }
.legal-logo { width:118px; }
.legal-back { font-size:14px; font-weight:700; text-decoration:none; }
.legal-main { padding:58px 0 76px; }
.legal-card { padding:clamp(24px,5vw,54px); border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 16px 45px rgba(36,64,120,.06); }
.legal-card h1 { margin:0 0 8px; color:var(--navy); font-size:clamp(30px,5vw,46px); line-height:1.25; }
.legal-card h2 { margin:34px 0 10px; color:var(--navy); font-size:21px; line-height:1.4; }
.legal-card p,.legal-card li { color:#4f6079; }
.legal-card ul { padding-left:22px; }
.legal-updated { margin:0 0 28px; color:var(--muted); font-size:13px; }
.legal-note { padding:15px 17px; border-left:4px solid var(--blue); border-radius:8px; background:#eef4ff; }
.legal-footer { padding:26px 0; color:var(--muted); background:#fff; font-size:13px; text-align:center; }
.legal-footer a { margin:0 6px; }
@media(max-width:580px) { .legal-main { padding:30px 0 56px; } .legal-top .legal-wrap { min-height:62px; } }
