:root {
  --primary: #111111;
  --primary-active: #242424;
  --ink: #111111;
  --body: #374151;
  --muted: #6b7280;
  --muted-soft: #898989;
  --hairline: #e5e7eb;
  --hairline-soft: #f3f4f6;
  --canvas: #ffffff;
  --surface-soft: #f8f9fa;
  --surface-dark: #101010;
  --on-dark-soft: #a1a1aa;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--body);
  background: var(--canvas);
}
a { color: inherit; }
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

header {
  position: sticky; top: 0; z-index: 10;
  background: var(--canvas);
  border-bottom: 1px solid var(--hairline-soft);
  height: 64px;
}
.nav { height: 64px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 18px; color: var(--ink); text-decoration: none; }
.brand .dot { width: 26px; height: 26px; border-radius: 999px; background: var(--primary); display: flex; align-items: center; justify-content: center; }
.brand .dot span { width: 9px; height: 9px; border-radius: 999px; background: #fff; }
.nav-cta { display: flex; align-items: center; gap: 16px; }
.btn { display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 0 20px; border-radius: 8px; font-size: 14px; font-weight: 600; cursor: pointer; border: 1px solid transparent; text-decoration: none; }
.btn-primary { background: var(--primary); color: #fff; }
.btn-primary:hover { background: var(--primary-active); }
.btn-secondary { background: var(--canvas); color: var(--ink); border-color: var(--hairline); }
.btn-secondary:hover { background: var(--surface-soft); }

.legal { padding: 72px 0 96px; }
.legal .container { max-width: 760px; margin: 0 auto; }
.legal h1 { font-size: 36px; font-weight: 600; letter-spacing: -0.02em; color: var(--ink); margin: 0 0 8px; }
.legal .updated { font-size: 14px; color: var(--muted-soft); margin: 0 0 48px; }
.legal h2 { font-size: 20px; font-weight: 600; color: var(--ink); margin: 40px 0 12px; }
.legal p { font-size: 15px; line-height: 1.7; margin: 0 0 16px; }
.legal ul { margin: 0 0 16px; padding-left: 20px; }
.legal li { font-size: 15px; line-height: 1.7; margin-bottom: 8px; }
.legal a.link { color: var(--ink); text-decoration: underline; }
.legal table { width: 100%; border-collapse: collapse; margin: 0 0 16px; font-size: 14px; }
.legal th, .legal td { text-align: left; padding: 10px 12px; border: 1px solid var(--hairline); }
.legal th { background: var(--surface-soft); font-weight: 600; color: var(--ink); }

footer { background: var(--surface-dark); color: var(--on-dark-soft); padding: 48px 0 32px; margin-top: 48px; }
.footer-bottom { padding-top: 0; font-size: 13px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.footer-links { display: flex; gap: 20px; flex-wrap: wrap; }
.footer-links a { color: var(--on-dark-soft); text-decoration: none; }
.footer-links a:hover { color: #fff; }

@media (max-width: 640px) {
  .legal h1 { font-size: 28px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}

/* breadcrumbs (Service Terms page) */
.crumbs{font-size:14px;color:#6b7280;margin-bottom:16px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.crumbs li{display:flex;align-items:center;gap:6px}
.crumbs li+li::before{content:"/";opacity:.5}
.crumbs a{text-decoration:underline;text-underline-offset:3px;color:#111}
.cc{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:560px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:14px 16px;background:#fff;color:#111;border:1px solid #d6d6d6;border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.15);font-size:14px}
.cc p{flex:1 1 220px;margin:0}
.cc a{text-decoration:underline}
.cc button{font:inherit;font-weight:500;padding:8px 14px;border-radius:999px;border:1px solid #111;background:#fff;color:#111;cursor:pointer}
.cc button[data-v=yes]{background:#111;color:#fff}
