@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/plexsans-400.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/plexsans-500.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/plexsans-700.woff2') format('woff2');
}

:root {
  --bg: #F4F6F3;
  --surface: #FFFFFF;
  --border: #DADFD6;
  --text-primary: #1B241C;
  --text-secondary: #566052;
  --accent: #1F6F54;
  --accent-text: #12503C;
  --focus: #0B63C4;
  --radius-sm: 8px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text-primary);
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }

a { color: var(--accent-text); }

.wrap { max-width: 640px; margin: 0 auto; padding: 24px 16px 60px; }

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  text-decoration: none;
  margin-bottom: 20px;
}
.back-link:hover { color: var(--text-primary); }

h1 { font-size: 24px; font-weight: 700; letter-spacing: -0.01em; margin: 0 0 20px; }
h2 { font-size: 16px; font-weight: 700; margin: 28px 0 8px; }

p { margin: 0 0 12px; }

.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px 22px;
}

footer.legal-footer {
  margin-top: 32px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  font-size: 13px;
  color: var(--text-secondary);
}
footer.legal-footer nav a { color: var(--text-secondary); margin-right: 14px; }
