:root {
  --coral: #d97757; --coral-lite: #e99c7e; --coral-deep: #be5c3c;
  --cream: #f5f1e8; --ink: #14110f; --ink-2: #1c1815; --ink-3: #251f1b;
  --line: rgba(245, 241, 232, .10); --text: #ece7df; --text-dim: #a79f95;
  --font-display: 'Bricolage Grotesque', 'Inter', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--text); -webkit-font-smoothing: antialiased;
  font-family: 'Inter', -apple-system, system-ui, sans-serif; line-height: 1.65; }

.legal-nav { position: sticky; top: 0; z-index: 10; backdrop-filter: blur(14px);
  background: linear-gradient(180deg, rgba(20, 17, 15, .9), rgba(20, 17, 15, .5));
  border-bottom: 1px solid rgba(217, 119, 87, .3); }
.legal-nav-inner { max-width: 820px; margin: 0 auto; padding: 14px clamp(20px, 4vw, 40px); display: flex; align-items: center; gap: 16px; }
.legal-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.legal-brand img { width: 30px; height: 30px; border-radius: 9px; }
.legal-brand span { font-family: var(--font-display); font-weight: 800; font-size: 18px; letter-spacing: -.02em; color: var(--cream); }
.legal-back { margin-left: auto; font-size: 14px; color: var(--text-dim); text-decoration: none; }
.legal-back:hover { color: var(--text); }

.legal-wrap { max-width: 820px; margin: 0 auto; padding: 48px clamp(20px, 4vw, 40px) 90px; }
.legal-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--coral-lite); }
.legal-wrap h1 { font-family: var(--font-display); font-weight: 800; letter-spacing: -.03em; font-size: clamp(30px, 5vw, 42px); color: var(--cream); margin: 10px 0 8px; line-height: 1.08; }
.legal-updated { font-size: 13.5px; color: var(--text-dim); margin-bottom: 14px; }
.legal-intro { font-size: 16px; color: var(--text-dim); margin: 0 0 10px; }

.legal-note { background: rgba(217, 119, 87, .1); border: 1px solid rgba(217, 119, 87, .28); border-radius: 12px;
  padding: 14px 18px; font-size: 14px; color: var(--text-dim); margin: 22px 0 8px; }
.legal-note strong { color: var(--cream); }

.legal-wrap h2 { font-family: var(--font-display); font-weight: 700; letter-spacing: -.02em; font-size: 22px; color: var(--cream);
  margin: 40px 0 12px; padding-top: 14px; border-top: 1px solid var(--line); scroll-margin-top: 80px; }
.legal-wrap h2:first-of-type { border-top: none; padding-top: 0; }
.legal-wrap h3 { font-size: 16px; font-weight: 700; color: var(--cream); margin: 22px 0 6px; }
.legal-wrap p { font-size: 15px; color: var(--text); margin: 0 0 12px; }
.legal-wrap a { color: var(--coral-lite); }
.legal-wrap ul { margin: 0 0 14px; padding-left: 0; list-style: none; }
.legal-wrap li { position: relative; padding-left: 22px; margin-bottom: 8px; font-size: 15px; color: var(--text); }
.legal-wrap li::before { content: ''; position: absolute; left: 4px; top: 10px; width: 6px; height: 6px; border-radius: 50%; background: var(--coral); }
.legal-wrap li strong { color: var(--cream); }
.legal-wrap table { width: 100%; border-collapse: collapse; margin: 6px 0 16px; font-size: 14px; }
.legal-wrap th, .legal-wrap td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.legal-wrap th { color: var(--coral-lite); font-weight: 600; font-size: 12.5px; text-transform: uppercase; letter-spacing: .04em; }
.legal-wrap td { color: var(--text-dim); }
.legal-wrap td:first-child { color: var(--cream); font-weight: 600; white-space: nowrap; }

.legal-foot { margin-top: 48px; padding-top: 22px; border-top: 1px solid var(--line); font-size: 13px; color: var(--text-dim); display: flex; gap: 18px; flex-wrap: wrap; }
.legal-foot a { color: var(--text-dim); text-decoration: none; }
.legal-foot a:hover { color: var(--text); }
.legal-fill { color: var(--coral-lite); }
