/* Policy pages: same cream/rust system as the landing page, set for reading. */
:root {
  --cream: #fff9da;
  --rust: #ab391c;
  --ink: #24150f;
  --line: #1b1210;
  --display: "Gasoek One", "Arial Black", Impact, sans-serif;
  --label: "Londrina Solid", "Jost", Impact, "Arial Narrow", sans-serif;
  --body: "Jost", Futura, "Avenir Next", "Century Gothic", system-ui, sans-serif;
  color-scheme: light;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--cream); color: var(--ink); font: 400 1.0625rem/1.65 var(--body); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--rust); text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }

.wrap { max-width: 760px; margin-inline: auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
.top .wrap { max-width: 1180px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 18px; }
.top img { height: 30px; width: auto; }
.top .back { font: 500 0.95rem/1 var(--body); color: var(--ink); text-decoration: none; }

.doc { padding-block: clamp(32px, 6vw, 72px) clamp(64px, 9vw, 112px); }
.tag { display: inline-block; font: 600 0.75rem/1 var(--body); letter-spacing: 0.18em; text-transform: uppercase; border: 1.5px solid currentColor; padding: 0.55em 0.8em 0.5em; margin: 0; }
h1 { font: 400 clamp(2.2rem, 6vw, 3.6rem)/1 var(--display); text-transform: uppercase; color: var(--rust); text-wrap: balance; margin: 18px 0 10px; }
.updated { font-size: 0.9rem; margin: 0 0 28px; }
.intro { font-size: 1.2rem; margin: 0 0 8px; }
h2 { font: 400 1.6rem/1.1 var(--label); text-transform: uppercase; letter-spacing: 0.02em; color: var(--rust); margin: 40px 0 10px; padding-top: 18px; border-top: 1.5px solid var(--line); }
p, ul { margin: 0 0 14px; }
ul { padding-left: 1.2em; }
li + li { margin-top: 6px; }
.ph { background: none; color: inherit; border: 1.5px dashed var(--rust); padding: 0 0.2em; }
.card { border: 1.5px solid var(--line); padding: 20px 22px; display: grid; gap: 4px; margin: 0 0 14px; }
.card b { font: 400 1.3rem/1.1 var(--label); text-transform: uppercase; letter-spacing: 0.02em; color: var(--rust); }

footer { background: var(--rust); color: var(--cream); }
footer .wrap { max-width: 1180px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 24px; padding-block: 40px; }
footer a { color: var(--cream); }
footer :focus-visible { outline-color: var(--cream); }
footer img { width: 160px; }
.legal { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 0.95rem; }
footer p { font-size: 0.95rem; margin: 0; }
