:root{
    --bg:#FBF8F3;
    --bg-tint:#F2EBF3;
    --surface:#FFFFFF;
    --ink:#17142E;
    --ink-soft:#403A5F;
    --muted:#6E678C;
    --violet:#6D28D9;
    --indigo:#15122B;
    --orange:#F2682A;
    --orange-2:#FB8B3D;
    --line:#EBE4D9;
    --shadow-sm:0 1px 2px rgba(23,20,46,.06), 0 2px 8px rgba(23,20,46,.05);
    --r:18px; --r-lg:26px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
  body{font-family:"DM Sans",system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink-soft);line-height:1.6;-webkit-font-smoothing:antialiased}
  a{color:var(--orange);text-decoration:underline;text-underline-offset:2px;word-break:break-word}
  svg{display:block}

  /* header */
  .legal-header{position:sticky;top:0;z-index:50;background:rgba(251,248,243,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .legal-header .bar{max-width:980px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
  .brand{display:inline-flex;align-items:center;gap:11px}
  .brand .mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(140deg,var(--orange),var(--violet));display:grid;place-items:center;color:#fff;flex:0 0 34px}
  .brand .mark svg{width:19px;height:19px}
  .brand b{color:var(--ink);font-size:18px;font-weight:800;letter-spacing:-.02em}
  .back{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;border:1px solid var(--line);background:#fff;padding:9px 15px;border-radius:999px;box-shadow:var(--shadow-sm);transition:border-color .15s,transform .15s}
  .back:hover{border-color:var(--orange);transform:translateY(-1px)}
  .back svg{width:16px;height:16px}

  /* layout */
  .legal-wrap{max-width:820px;margin:0 auto;padding:0 24px 80px}
  .legal-head{padding:60px 0 36px;border-bottom:1px solid var(--line);margin-bottom:44px}
  .eyebrow{display:inline-flex;align-items:center;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
  .eyebrow::before,.eyebrow::after{content:"—";color:var(--line);margin:0 9px}
  .legal-head h1{color:var(--ink);font-size:clamp(34px,6vw,50px);line-height:1.05;letter-spacing:-.03em;margin-top:14px}
  .legal-head .updated{margin-top:16px;font-size:15px;color:var(--muted)}
  .legal-head .updated strong{color:var(--ink-soft);font-weight:700}

  .legal-body h2{color:var(--ink);font-size:25px;letter-spacing:-.02em;margin:50px 0 16px;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:84px}
  .legal-body h2:first-of-type{border-top:0;padding-top:0;margin-top:8px}
  .legal-body h3{color:var(--ink);font-size:17px;font-weight:700;margin:30px 0 10px}
  .legal-body p{margin-bottom:16px;font-size:16px;line-height:1.75;color:var(--ink-soft)}
  .legal-body ul{margin:0 0 18px;padding-left:22px}
  .legal-body li{margin-bottom:9px;font-size:16px;line-height:1.7;color:var(--ink-soft)}
  .legal-body li::marker{color:var(--orange)}
  .legal-body ul.lettered{list-style:none;padding-left:0}
  .legal-body ul.lettered li{margin-bottom:9px}
  .legal-body strong{color:var(--ink);font-weight:700}
  .legal-body em{font-style:italic;color:var(--muted)}

  .legal-note{border-left:3px solid var(--orange);background:var(--bg-tint);padding:14px 18px;margin:22px 0;border-radius:0 12px 12px 0;font-weight:700;color:var(--ink)}

  .table-scroll{overflow-x:auto;margin:6px 0 20px;border:1px solid var(--line);border-radius:14px}
  table.legal-table{width:100%;border-collapse:collapse;font-size:15px;min-width:460px}
  table.legal-table th{background:var(--bg-tint);color:var(--ink);text-align:left;font-weight:700;padding:13px 16px;border-bottom:1px solid var(--line)}
  table.legal-table td{padding:13px 16px;border-bottom:1px solid var(--line);color:var(--ink-soft);vertical-align:top}
  table.legal-table tr:last-child td{border-bottom:0}
  table.legal-table td:first-child{font-weight:600;color:var(--ink);width:52%}

  /* footer */
  .legal-foot{border-top:1px solid var(--line);background:#fff}
  .legal-foot .inner{max-width:820px;margin:0 auto;padding:34px 24px;text-align:center}
  .legal-foot .flinks{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-bottom:18px}
  .legal-foot .flinks a{color:var(--ink-soft);text-decoration:none;font-size:14px;font-weight:600}
  .legal-foot .flinks a:hover{color:var(--orange)}
  .legal-foot p{font-size:12.5px;color:var(--muted);line-height:1.7}

  @media(max-width:560px){
    .brand b{font-size:16px}
    .back{padding:8px 12px;font-size:13px}
    .legal-body h2{font-size:22px}
  }
