:root {
  color-scheme: dark;
  --bg: #111;
  --fg: #eee;
  --muted: #9a9a9a;
  --line: #2a2a2a;
  --card: #181818;
}

* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  font-family: Helvetica, Arial, sans-serif;
  background: var(--bg);
  color: var(--fg);
  line-height: 1.5;
}
a { color: var(--fg); }
header, main, footer { max-width: 720px; margin: 0 auto; padding: 0 16px; }
header { padding-top: 28px; display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
header a { text-decoration: none; }
nav { display: flex; gap: 16px; font-size: 13px; color: var(--muted); }
nav a { color: var(--muted); text-decoration: none; }
main { padding: 48px 16px 72px; }
h1 { font-size: 28px; font-weight: 700; letter-spacing: -0.03em; margin: 0 0 12px; }
h2 { font-size: 16px; margin: 32px 0 8px; }
p, li { color: var(--muted); font-size: 15px; }
.lead { font-size: 17px; color: #cfcfcf; max-width: 38em; }
.note { font-size: 13px; color: #777; }
.grid { display: grid; gap: 12px; margin: 28px 0; }
@media (min-width: 640px) { .grid { grid-template-columns: 1fr 1fr; } }
.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 20px;
}
.card h2 { margin: 0 0 8px; }
.price { font-size: 28px; font-weight: 700; color: var(--fg); margin: 8px 0; }
.rules { margin: 0; padding-left: 18px; }
footer {
  border-top: 1px solid var(--line);
  padding: 24px 16px 48px;
  font-size: 12px;
  color: #777;
}
footer a { color: #999; }
address { font-style: normal; white-space: pre-line; margin: 8px 0 0; }
