:root {
  --ink:#10233f; --muted:#617086; --paper:#f7f8fb; --line:#dde3ea;
  --blue:#2156d8; --white:#fff;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.7; }
.legal-head { height:72px; display:flex; align-items:center; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); padding:0 max(24px,calc((100vw - 900px)/2)); position:sticky; top:0; }
.legal-head a { display:flex; align-items:center; gap:11px; color:var(--ink); font-weight:760; text-decoration:none; }
.legal-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:var(--ink); color:#fff; font-family:Georgia,serif; font-size:20px; }
.legal-page { max-width:900px; margin:0 auto; padding:64px 24px 90px; }
.legal-page>span { font-size:12px; font-weight:800; letter-spacing:.12em; color:var(--blue); }
h1 { font-family:Georgia,"Times New Roman",serif; font-size:48px; line-height:1.08; letter-spacing:-.035em; margin:12px 0 18px; }
.lead { font-size:19px; color:var(--muted); max-width:720px; }
.legal-card { margin-top:28px; padding:26px 30px; border:1px solid var(--line); border-radius:16px; background:var(--white); }
h2 { font-size:22px; margin:0 0 10px; }
.legal-card p,.legal-card li { color:var(--muted); }
.legal-card a { color:var(--blue); font-weight:700; }
.data-action { border:0; border-radius:10px; background:var(--ink); color:#fff; padding:12px 15px; font:inherit; font-weight:750; cursor:pointer; }
.data-status { display:block; margin-top:10px; color:#18745d; font-weight:700; }
.legal-back { display:inline-block; margin-top:28px; color:var(--blue); font-weight:750; }
.contact-route { display:grid; gap:6px; margin-top:14px; padding:16px; border-radius:11px; background:#edf2ff; }
.contact-route b { color:var(--ink); }
.contact-route span { color:var(--muted); }
.featured-card { border-color:#b9caf6; background:#edf2ff; }
.free-label { display:block; font-size:11px; font-weight:850; letter-spacing:.1em; color:var(--blue); margin-bottom:8px; }
.mail-button { display:inline-block; margin-top:8px; padding:10px 15px; border-radius:10px; background:var(--blue); color:#fff!important; text-decoration:none; }
.mail-button:hover { background:#1747ba; }
@media(max-width:600px) {
  .legal-head { height:64px; padding:0 18px; }
  .legal-page { padding:38px 18px 70px; }
  h1 { font-size:36px; }
  .legal-card { padding:21px; }
  .mail-button { display:block; text-align:center; }
}
