:root {
  --ink:#1d1d1f;
  --muted:#62626a;
  --line:rgba(29,29,31,.1);
  --blue:#0066cc;
  --paper:rgba(255,255,255,.82);
}
* { box-sizing:border-box;margin:0;padding:0; }
html { scroll-behavior:smooth; }
body {
  min-height:100vh;
  background:
    radial-gradient(circle at 12% 10%,rgba(211,226,255,.7),transparent 30%),
    radial-gradient(circle at 88% 24%,rgba(242,215,229,.55),transparent 28%),
    #f7f7f8;
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.65;
}
a { color:var(--blue);text-underline-offset:3px; }
.legal-nav {
  position:sticky;top:0;z-index:10;
  border-bottom:1px solid rgba(255,255,255,.8);
  background:rgba(247,247,248,.78);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.legal-nav-inner {
  width:min(940px,calc(100% - 40px));height:68px;margin:auto;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.legal-logo { color:var(--ink);font-size:18px;font-weight:800;letter-spacing:-.6px;text-decoration:none; }
.legal-logo span { color:#5b9fff; }
.legal-back { color:var(--muted);font-size:14px;font-weight:600;text-decoration:none; }
.legal-main { width:min(860px,calc(100% - 40px));margin:64px auto 84px; }
.legal-card {
  padding:56px 64px;border:1px solid rgba(255,255,255,.9);border-radius:30px;
  background:var(--paper);box-shadow:0 24px 70px rgba(50,57,80,.09);
}
.legal-kicker { margin-bottom:10px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase; }
h1 { max-width:720px;font-size:clamp(32px,5vw,52px);line-height:1.06;letter-spacing:-2px; }
.legal-date { margin-top:16px;color:var(--muted);font-size:14px; }
.legal-intro { margin-top:34px;font-size:17px;line-height:1.75; }
.legal-section { padding-top:34px;margin-top:34px;border-top:1px solid var(--line); }
h2 { margin-bottom:14px;font-size:22px;line-height:1.25;letter-spacing:-.5px; }
h3 { margin:22px 0 8px;font-size:16px;line-height:1.35; }
p + p { margin-top:12px; }
ul,ol { margin:12px 0 0 22px; }
li + li { margin-top:8px; }
.legal-note { margin-top:18px;padding:17px 19px;border-radius:16px;background:rgba(0,102,204,.065);font-size:14px; }
.legal-table { width:100%;margin-top:18px;border-collapse:collapse;font-size:14px; }
.legal-table th,.legal-table td { padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top; }
.legal-table th { color:var(--muted);font-size:11px;letter-spacing:.05em;text-transform:uppercase; }
.legal-footer { margin-top:24px;text-align:center;color:var(--muted);font-size:13px; }
@media (max-width:700px) {
  .legal-nav-inner,.legal-main { width:calc(100% - 28px); }
  .legal-main { margin:30px auto 56px; }
  .legal-card { padding:32px 22px;border-radius:24px; }
  h1 { letter-spacing:-1.2px; }
  .legal-table,.legal-table tbody,.legal-table tr,.legal-table td { display:block;width:100%; }
  .legal-table thead { display:none; }
  .legal-table tr { padding:14px 0;border-bottom:1px solid var(--line); }
  .legal-table td { padding:5px 0;border:0; }
  .legal-table td::before { content:attr(data-label);display:block;margin-bottom:2px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase; }
}
