/* Legal pages. Plain, readable, and using the site's own type and colour so
   they do not feel like something bolted on. */
.legal { background: var(--cream, #FBF8F6); color: var(--ink, #14100F); }

.legal__bar {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 18px clamp(1rem, 5vw, 3rem);
  border-bottom: 1px solid rgba(20,16,15,.10);
  position: sticky; top: 0; background: var(--cream, #FBF8F6); z-index: 5;
}
.legal__mark {
  font-family: var(--serif, Georgia, serif); font-size: 17px; font-weight: 500;
  color: var(--ink, #14100F); text-decoration: none;
}
.legal__mark em { font-style: italic; color: var(--rose-text, #A15464); }
.legal__langs { display: flex; gap: 4px; }
.legal__langs a {
  padding: 5px 11px; border-radius: 999px; font-size: 13px;
  text-decoration: none; color: var(--ink-60, #574E4A);
}
.legal__langs a:hover { background: rgba(20,16,15,.05); }
.legal__langs a.on { background: var(--ink, #14100F); color: var(--cream, #FBF8F6); }

.legal__sheet {
  max-width: 40em; margin: 0 auto; padding: clamp(2rem, 6vw, 4rem) clamp(1rem, 5vw, 2rem) 4rem;
  line-height: 1.7;
}
.legal__sheet h1 {
  font-family: var(--serif, Georgia, serif); font-weight: 500;
  font-size: clamp(1.7rem, 4vw, 2.3rem); line-height: 1.15; margin: 0 0 6px;
  letter-spacing: -.02em;
}
.legal__updated { color: var(--ink-40, #6E635E); font-size: 14px; margin: 0 0 2.4rem; }
.legal__sheet h2 {
  font-family: var(--serif, Georgia, serif); font-weight: 500;
  font-size: 1.2rem; margin: 2.4rem 0 .6rem;
}
.legal__sheet p, .legal__sheet li { color: var(--ink-80, #2A2422); }
.legal__sheet ul { padding-left: 1.2rem; }
.legal__sheet li { margin-bottom: .3rem; }
.legal__sheet a { color: var(--rose-text, #A15464); }

/* The controller's own details - set apart, since this is the one block a
   reader may want to copy or check against a register. */
.legal__contact {
  background: #FDF6F7; border: 1px solid rgba(161,84,100,.18);
  border-radius: 10px; padding: 14px 16px; line-height: 1.65;
}

.legal__table { width: 100%; border-collapse: collapse; margin: .8rem 0 1.2rem; font-size: 14.5px; }
.legal__table th, .legal__table td {
  text-align: left; padding: 9px 10px; border-bottom: 1px solid rgba(20,16,15,.10);
  vertical-align: top;
}
.legal__table th { font-weight: 500; color: var(--ink-60, #574E4A); }

.legal__foot {
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  max-width: 40em; margin: 0 auto; padding: 1.4rem clamp(1rem, 5vw, 2rem) 3rem;
  border-top: 1px solid rgba(20,16,15,.10);
  font-size: 14px; color: var(--ink-40, #6E635E);
}
.legal__foot a { color: var(--rose-text, #A15464); }
