/* Black Sheep legal pages — shared sheet */
:root {
  --bs-black: #000000;
  --bs-surface: #1a1a1a;
  --bs-card: #27272a;
  --bs-border: #3f3f46;
  --bs-gold: #ffd700;
  --bs-amber: #FBBF24;
  --bs-text: #e4e4e7;
  --bs-muted: #a1a1aa;
  --bs-faint: #71717a;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  background: var(--bs-black);
  color: var(--bs-text);
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.02em;
  -webkit-font-smoothing: antialiased;
}
.legal-wrap { max-width: 860px; margin: 0 auto; padding: 6rem 1.5rem 8rem; }
.legal-eyebrow {
  font-size: .68rem; letter-spacing: .42em; text-transform: uppercase;
  color: var(--bs-gold); margin-bottom: 1.2rem;
}
h1 {
  font-family: 'Playfair Display', 'Cormorant Garamond', serif;
  font-weight: 400; font-size: clamp(2rem, 5vw, 3.2rem);
  line-height: 1.15; margin-bottom: 1rem;
}
.legal-updated { color: var(--bs-faint); font-size: .8rem; margin-bottom: 3rem; }
h2 {
  font-family: 'Cormorant Garamond', serif; font-weight: 500;
  font-size: 1.5rem; color: var(--bs-amber);
  margin: 2.6rem 0 .8rem;
}
h3 { font-size: .95rem; font-weight: 500; color: var(--bs-text); margin: 1.6rem 0 .5rem; }
p { color: var(--bs-muted); font-size: .95rem; margin-bottom: 1rem; }
ul { margin: 0 0 1.2rem 1.4rem; color: var(--bs-muted); font-size: .95rem; }
li { margin-bottom: .35rem; }
a { color: var(--bs-gold); text-decoration: none; }
a:hover { color: var(--bs-amber); }
strong { color: var(--bs-text); font-weight: 500; }
.legal-nav {
  display: flex; flex-wrap: wrap; gap: .5rem 1.5rem;
  border-top: 1px solid var(--bs-border); margin-top: 4rem; padding-top: 2rem;
  font-size: .68rem; letter-spacing: .3em; text-transform: uppercase;
}
.legal-nav a { color: var(--bs-faint); }
.legal-nav a:hover { color: var(--bs-gold); }
.legal-nav a.current { color: var(--bs-gold); }
.back-link {
  display: inline-block; margin-top: 3rem; font-size: .68rem;
  letter-spacing: .3em; text-transform: uppercase; color: var(--bs-faint);
}
.back-link:hover { color: var(--bs-gold); }

/* Per-document acceptance */
.legal-accept {
  margin-top: 3.5rem;
  padding: 1.6rem 1.8rem;
  border: 1px solid var(--bs-border);
  background: var(--bs-surface);
  display: flex;
  align-items: center;
  gap: 1rem;
}
.legal-accept input {
  width: 18px; height: 18px;
  accent-color: #16a34a;
  cursor: pointer;
  flex-shrink: 0;
}
.legal-accept label {
  font-size: .8rem; letter-spacing: .08em; color: var(--bs-muted);
  cursor: pointer; text-transform: uppercase;
}
.legal-accept input:checked + label,
.legal-accept.accepted { border-color: #16a34a; }
