/* Shared public legal-page theme. */
:root {
  color-scheme: light;
  --bg: #faf9f6;
  --bg-raised: #fff;
  --border: #ded9d0;
  --text: #2b2926;
  --text-dim: #58534d;
  --text-faint: #6b645b;
  --accent: #b94c1d;
  --on-accent: #fff;
}
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
.nav { height: 88px; border: 0; }
.nav .wrap { width: 100%; max-width: 1180px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { font-size: 20px; color: var(--text); }
.brand .word { background: none; color: var(--text); }
.mark { width: 27px; height: 27px; }
.legal-nav { display: flex; gap: 24px; font-size: 14px; }
.legal-nav a { color: var(--text-dim); }
.legal-nav a[aria-current="page"] { color: var(--text); font-weight: 600; }
main.wrap { max-width: 800px; padding: 56px 28px 96px; }
h1 { font-size: clamp(38px, 6vw, 64px); font-weight: 600; letter-spacing: -.045em; line-height: 1.1; margin-bottom: 16px; }
.when { margin-bottom: 44px; font-size: 13px; }
h2 { margin: 40px 0 12px; font-size: 22px; font-weight: 600; letter-spacing: -.025em; }
p, li { font-size: 16px; line-height: 1.8; }
li + li { margin-top: 10px; }
main a { text-decoration: underline; text-underline-offset: 3px; }
a:hover { color: var(--text); }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.legal-footer { max-width: 744px; margin: 0 auto; padding: 24px 0 40px; border-top: 1px solid var(--border); color: var(--text-faint); font-size: 13px; display: flex; flex-wrap: wrap; gap: 20px; }
@media (max-width: 640px) {
  .nav { height: 76px; }
  .nav .wrap { padding-inline: 20px; gap: 16px; }
  .brand { font-size: 17px; }
  .legal-nav { gap: 14px; font-size: 13px; }
  main.wrap { padding: 36px 20px 64px; }
  .legal-footer { margin-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
