:root {
  --ink: #102f2a;
  --muted: #617872;
  --line: #dce9e5;
  --brand: #0b8f7b;
  --soft: #f0f8f5;
  --gold: #f3a30b;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  color: var(--ink);
  background: linear-gradient(180deg, #f4faf8 0, #fff 420px);
  font: 16px/1.68 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a { color: var(--brand); }

.legal-shell { width: min(920px, calc(100% - 36px)); margin: 0 auto; }

.legal-header { padding: 28px 0; }

.legal-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; }
.legal-brand svg { width: 46px; height: 46px; }
.legal-brand rect { fill: var(--brand); }
.legal-brand path { fill: white; }
.legal-brand strong { display: block; font-size: 20px; }
.legal-brand small { display: block; color: var(--muted); }

.legal-card {
  margin: 18px 0 42px;
  padding: clamp(26px, 5vw, 58px);
  background: white;
  border: 1px solid var(--line);
  border-radius: 30px;
  box-shadow: 0 24px 70px rgba(18, 68, 59, 0.09);
}

.legal-kicker { color: var(--brand); font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
h1 { margin: 8px 0 10px; font-size: clamp(34px, 6vw, 54px); line-height: 1.08; letter-spacing: -.035em; }
h2 { margin: 34px 0 10px; font-size: 23px; line-height: 1.25; }
p, li { color: var(--muted); }
ul { padding-left: 22px; }
.updated { margin-bottom: 30px; color: #83958f; font-size: 14px; }

.contact-box {
  margin-top: 28px;
  padding: 22px;
  background: var(--soft);
  border: 1px solid #cfe5df;
  border-radius: 18px;
}

.contact-box strong { display: block; margin-bottom: 5px; }

.legal-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px 24px; padding: 0 0 42px; color: var(--muted); font-size: 14px; }
.legal-footer nav { display: flex; flex-wrap: wrap; gap: 14px; }

@media (max-width: 620px) {
  .legal-card { border-radius: 22px; }
  .legal-footer { flex-direction: column; }
}
