:root {
  --paper: #f2efe9;
  --paper-hi: #fbf9f5;
  --ink: #18161a;
  --muted: #5d5760;
  --purple: #67558f;
  --line: rgba(24, 22, 26, .2);
  --display: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { background: var(--paper); color: var(--ink); }
body { margin: 0; font: 16px/1.72 var(--sans); background-image: linear-gradient(to right, rgba(24,22,26,.035) 1px, transparent 1px); background-size: 80px 100%; }
a { color: inherit; text-underline-offset: .22em; }
.legal-nav { height: 76px; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(1rem, 4vw, 4rem); border-bottom: 1px solid var(--line); background: rgba(242,239,233,.9); backdrop-filter: blur(14px); }
.legal-brand { display: flex; align-items: center; gap: .55rem; font-weight: 750; text-decoration: none; letter-spacing: -.025em; }
.legal-brand img { width: 38px; height: 38px; object-fit: contain; }
.legal-nav nav { display: flex; gap: .4rem; }
.legal-nav nav a { padding: .5rem .7rem; border: 1px solid transparent; font-size: .76rem; font-weight: 700; text-decoration: none; }
.legal-nav nav a.active { color: white; border-color: var(--purple); background: var(--purple); }
.legal-page { width: min(100% - 2rem, 880px); margin: 0 auto; padding: clamp(4rem, 8vw, 8rem) 0 7rem; }
[data-legal-lang][hidden] { display: none; }
h1 { max-width: 800px; margin: 0 0 .45rem; font: 400 clamp(3.3rem, 8vw, 6.7rem)/.92 var(--display); letter-spacing: -.055em; }
h2 { margin: 3.2rem 0 .8rem; padding-top: 1rem; border-top: 1px solid var(--line); font: 400 clamp(1.65rem, 3vw, 2.35rem)/1.15 var(--display); letter-spacing: -.025em; }
h3 { margin: 2.2rem 0 .5rem; font-size: 1rem; }
p, li { color: var(--muted); }
strong { color: var(--ink); }
.updated { margin: 0 0 2.7rem; color: var(--purple); font: 650 .68rem/1.4 ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; }
.lead { margin: 0 0 3rem; padding: 1.5rem; color: var(--ink); background: var(--paper-hi); border: 1px solid var(--line); border-inline-start: 4px solid var(--purple); font-size: 1.07rem; }
.note { margin: 0 0 3rem; padding: 1.5rem; color: var(--ink); background: #e8e2f0; border: 1px solid rgba(103,85,143,.35); font-size: .96rem; }
ul, ol { padding-inline-start: 1.35rem; }
li { margin: .45rem 0; }
code { padding: .12em .36em; border-radius: 3px; background: rgba(103,85,143,.12); font-size: .9em; }
details { margin: .75rem 0; padding: 1rem 1.1rem; border: 1px solid var(--line); background: rgba(251,249,245,.55); }
details[open] { border-inline-start: 3px solid var(--purple); background: var(--paper-hi); }
summary { color: var(--ink); cursor: pointer; font-weight: 700; }
details p, details ol { margin-bottom: .2rem; }
hr { display: none; }
.legal-footer { margin-top: 4rem; padding-top: 1.2rem; border-top: 1px solid var(--line); font-size: .82rem; }
@media (max-width: 600px) {
  .legal-nav { height: 66px; padding-inline: .75rem; }
  .legal-brand { font-size: 0; }
  .legal-brand img { width: 34px; height: 34px; }
  .legal-page { width: min(100% - 2rem, 880px); padding-top: 4rem; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
