/* Standalone styling for the legal pages. Deliberately self-contained rather
   than importing style.css: these must render for a Stripe reviewer or a
   logged-out visitor even if the app bundle fails, and they outlive redesigns. */
:root {
  --lg-bg:     #f2ece0;
  --lg-card:   #fbf7ee;
  --lg-line:   #e2d8c4;
  --lg-line2:  #d6c9b2;
  --lg-ink:    #241d15;
  --lg-muted:  #6f6350;
  --lg-accent: #a85a2c;
  --lg-serif:  'Cormorant Garamond', Georgia, serif;
  --lg-sans:   'Instrument Sans', system-ui, sans-serif;
  --lg-mono:   'JetBrains Mono', ui-monospace, monospace;
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--lg-bg); color: var(--lg-ink);
  font-family: var(--lg-sans); font-size: 16px; line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.lg-wrap { max-width: 780px; margin: 0 auto; padding: 32px 22px 80px; }
.lg-top {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap; margin-bottom: 34px;
}
.lg-brand {
  display: inline-flex; align-items: center; gap: 11px;
  text-decoration: none; color: var(--lg-ink);
}
.lg-mark {
  width: 38px; height: 38px; border-radius: 10px; background: var(--lg-accent);
  color: #fff; display: grid; place-items: center;
  font-family: var(--lg-serif); font-size: 21px; font-weight: 600;
}
.lg-brand b { font-family: var(--lg-serif); font-size: 1.3rem; font-weight: 600; display: block; line-height: 1.1; }
.lg-brand span {
  font-family: var(--lg-mono); font-size: 8.5px; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--lg-muted);
}
.lg-nav { display: flex; gap: 8px; flex-wrap: wrap; }
.lg-nav a {
  font-size: 0.8rem; text-decoration: none; color: var(--lg-ink);
  border: 1px solid var(--lg-line2); border-radius: 999px; padding: 6px 13px;
  background: var(--lg-card);
}
.lg-nav a:hover { border-color: var(--lg-accent); }
.lg-nav a[aria-current] { background: var(--lg-accent); color: #fff; border-color: var(--lg-accent); }
.lg-doc {
  background: var(--lg-card); border: 1px solid var(--lg-line2);
  border-radius: 16px; padding: 40px 38px;
}
h1 { font-family: var(--lg-serif); font-size: 2.3rem; font-weight: 600; margin: 0 0 6px; line-height: 1.1; }
.lg-dates { font-family: var(--lg-mono); font-size: 10.5px; letter-spacing: 0.09em; text-transform: uppercase; color: var(--lg-muted); margin: 0 0 26px; }
.lg-lede { font-size: 1.02rem; color: var(--lg-ink); margin: 0 0 26px; padding-bottom: 24px; border-bottom: 1px solid var(--lg-line); }
h2 {
  font-family: var(--lg-serif); font-size: 1.42rem; font-weight: 600;
  margin: 34px 0 10px; line-height: 1.2;
}
h2:first-of-type { margin-top: 0; }
h3 { font-size: 0.97rem; font-weight: 600; margin: 22px 0 6px; }
p, li { color: var(--lg-ink); }
p { margin: 0 0 13px; }
ul { margin: 0 0 13px; padding-left: 20px; }
li { margin-bottom: 7px; }
a { color: var(--lg-accent); }
strong { font-weight: 600; }
.lg-callout {
  background: #f4eee1; border: 1px solid var(--lg-line2); border-left: 3px solid var(--lg-accent);
  border-radius: 10px; padding: 15px 18px; margin: 20px 0;
}
.lg-callout p:last-child { margin-bottom: 0; }
.lg-table { width: 100%; border-collapse: collapse; margin: 14px 0 20px; font-size: 0.88rem; }
.lg-table th {
  text-align: left; font-family: var(--lg-mono); font-size: 9.5px; letter-spacing: 0.09em;
  text-transform: uppercase; color: var(--lg-muted); padding: 8px 10px;
  border-bottom: 1px solid var(--lg-line2);
}
.lg-table td { padding: 9px 10px; border-bottom: 1px solid var(--lg-line); vertical-align: top; }
.lg-table tr:last-child td { border-bottom: none; }
.lg-foot {
  margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--lg-line);
  font-size: 0.85rem; color: var(--lg-muted);
}
@media (max-width: 620px) {
  .lg-doc { padding: 26px 20px; border-radius: 13px; }
  h1 { font-size: 1.85rem; }
  .lg-wrap { padding: 22px 14px 60px; }
  .lg-table { display: block; overflow-x: auto; }
}
