:root {
  --bg:#f8fafc;
  --surface:#fff;
  --ink:#0f172a;
  --muted:#657184;
  --line:rgba(15,23,42,.12);
  --blue:#2563eb;
  --container:900px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--bg); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.legal-header { position:sticky; top:0; z-index:10; border-bottom:1px solid var(--line); background:rgba(248,250,252,.9); backdrop-filter:blur(16px); }
.legal-header-inner { width:min(calc(100% - 40px),1080px); min-height:72px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.legal-logo img { display:block; width:108px; height:auto; }
.back-link { color:var(--blue); font-size:14px; font-weight:700; text-decoration:none; }
.legal-main { width:min(calc(100% - 40px),var(--container)); margin:auto; padding:74px 0 96px; }
.legal-kicker { margin-bottom:14px; color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
h1 { max-width:780px; margin:0; font-size:clamp(42px,6vw,68px); line-height:.98; letter-spacing:-.05em; }
.legal-date { margin:20px 0 44px; color:var(--muted); font-size:14px; }
.legal-card { padding:clamp(24px,5vw,52px); border:1px solid var(--line); border-radius:28px; background:var(--surface); box-shadow:0 22px 65px rgba(23,63,126,.08); }
.legal-card section + section { margin-top:36px; padding-top:34px; border-top:1px solid var(--line); }
h2 { margin:0 0 14px; font-size:24px; line-height:1.25; letter-spacing:-.025em; }
p,li { color:#465266; font-size:16px; line-height:1.7; }
p { margin:10px 0; }
ul,ol { margin:12px 0 0; padding-left:22px; }
li + li { margin-top:8px; }
.legal-card a { color:var(--blue); text-underline-offset:3px; }
.legal-note { padding:18px 20px; border-radius:16px; background:#eef6ff; }
.legal-footer { border-top:1px solid var(--line); }
.legal-footer-inner { width:min(calc(100% - 40px),1080px); margin:auto; padding:34px 0 54px; display:grid; grid-template-columns:1fr auto; gap:16px 32px; color:var(--muted); font-size:13px; }
.legal-footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px 20px; }
.legal-footer-links a { text-decoration:none; }
@media (max-width:640px) {
  .legal-header-inner,.legal-main,.legal-footer-inner { width:calc(100% - 28px); }
  .legal-main { padding:50px 0 70px; }
  .legal-logo img { width:92px; }
  h1 { font-size:42px; }
  .legal-card { border-radius:22px; }
  h2 { font-size:21px; }
  p,li { font-size:15px; }
  .legal-footer-inner { grid-template-columns:1fr; }
  .legal-footer-links { justify-content:flex-start; }
}
