:root {
  --bg: #F5F7F8;
  --surface: #FFFFFF;
  --ink: #0F172A;
  --slate: #5B6472;
  --mute: #8A93A0;
  --border: #E1E6E9;
  --accent: #0E6E77;
  --amber: #F5A623;
  --sans: 'Inter', system-ui, sans-serif;
  --display: 'Space Grotesk', sans-serif;
  --serif: 'Fraunces', Georgia, 'Times New Roman', serif;
  --mono: 'JetBrains Mono', monospace;
  --wrap: 800px;
  --gut: clamp(20px, 4.5vw, 52px);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  line-height: 1.65;
}

a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }

.legal-head {
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}

.legal-head .in {
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 18px var(--gut);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.legal-brand { display: flex; align-items: center; gap: 10px; color: var(--ink); }
.legal-brand img { width: 28px; height: 28px; object-fit: contain; display: block; }
.legal-word {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 17px;
  letter-spacing: 0.01em;
}
.legal-word .dot { color: var(--amber); font-size: 0.6em; margin: 0 0.34em; vertical-align: 0.14em; }
.legal-back { font-family: var(--mono); font-size: 12px; color: var(--slate); }

.legal-wrap {
  max-width: var(--wrap);
  margin: 0 auto;
  padding: clamp(40px, 6vw, 72px) var(--gut) 88px;
}

.legal-kicker {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
}

.legal-wrap h1 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(30px, 4.5vw, 44px);
  letter-spacing: -0.02em;
  line-height: 1.08;
  margin: 14px 0 0;
}

.legal-meta {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--mute);
  margin: 16px 0 0;
}

.legal-lead {
  font-size: 17px;
  color: var(--slate);
  margin: 24px 0 0;
}

.legal-wrap h2 {
  font-family: var(--display);
  font-weight: 600;
  font-size: 21px;
  color: var(--ink);
  margin: 44px 0 0;
  scroll-margin-top: 20px;
}

.legal-wrap h3 {
  font-family: var(--display);
  font-weight: 600;
  font-size: 16px;
  color: var(--ink);
  margin: 26px 0 0;
}

.legal-wrap p { font-size: 15.5px; color: var(--slate); margin: 12px 0 0; }
.legal-wrap ul { font-size: 15.5px; color: var(--slate); margin: 12px 0 0; padding-left: 22px; }
.legal-wrap li { margin: 7px 0; }
.legal-wrap strong { color: var(--ink); font-weight: 600; }

.legal-note {
  border: 1px solid var(--border);
  border-left: 3px solid var(--amber);
  background: rgba(245, 166, 35, 0.06);
  border-radius: 10px;
  padding: 16px 18px;
  margin: 28px 0 0;
  font-size: 14px;
  color: var(--slate);
}

.legal-foot {
  border-top: 1px solid var(--border);
  background: var(--surface);
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--mute);
}
.legal-foot .in {
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 22px var(--gut);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  justify-content: space-between;
}
.legal-foot a { color: var(--slate); }
