:root {
  color-scheme: light;
  --primary: #3b82f6;
  --primary-hover: #2563eb;
  --primary-muted: rgba(59, 130, 246, 0.1);
  --background: #fafafa;
  --surface: #ffffff;
  --border: #e4e4e7;
  --text: #09090b;
  --text-secondary: #71717a;
  --header-background: #111113;
  --header-text: #fafafa;
  --header-secondary: #a1a1aa;
  --header-primary: #60a5fa;
  --font-body: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-code: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --font-size-body: 1rem;
  --font-size-label: 0.875rem;
  --font-size-lead: 1.125rem;
  --font-size-h1: 2rem;
  --font-size-h2: 1.375rem;
  --font-weight-heading: 600;
  --line-height-body: 1.7;
  --line-height-heading: 1.3;
  --space-2xs: 0.125rem;
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.25rem;
  --space-xl: 1.5rem;
  --space-2xl: 2rem;
  --space-3xl: 3rem;
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --border-width: 0.0625rem;
  --accent-width: 0.1875rem;
  --content-width: 57.5rem;
  --copy-width: 47.5rem;
  --policy-width: 49.375rem;
  font-family: var(--font-body);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  background: var(--background);
  color: var(--text);
}

* { box-sizing: border-box; }
body { margin: 0; }
a { color: var(--primary-hover); text-underline-offset: var(--space-xs); }
a:hover { text-decoration-thickness: var(--space-2xs); }
a:focus-visible { outline: var(--accent-width) solid var(--primary); outline-offset: var(--space-xs); }
header { background: var(--header-background); color: var(--header-text); border-bottom: var(--space-xs) solid var(--primary); }
header > div, main, footer > div { max-width: var(--content-width); margin: 0 auto; padding: var(--space-xl); }
header > div { display: flex; gap: var(--space-md); align-items: center; justify-content: space-between; flex-wrap: wrap; }
.brand { font-weight: var(--font-weight-heading); color: var(--header-text); text-decoration: none; overflow-wrap: anywhere; }
.brand-mark { display: inline-flex; width: var(--space-2xl); height: var(--space-2xl); align-items: center; justify-content: center; border: var(--border-width) solid var(--header-primary); border-radius: var(--radius-sm); margin-right: var(--space-sm); color: var(--header-primary); }
nav { display: flex; gap: var(--space-lg); flex-wrap: wrap; }
nav a { font-size: var(--font-size-label); color: var(--header-secondary); text-decoration: none; }
nav a[aria-current="page"] { color: var(--header-text); text-decoration: underline; }
main { padding-top: var(--space-2xl); padding-bottom: var(--space-2xl); }
.intro { max-width: var(--copy-width); }
.kicker { font-size: var(--font-size-label); color: var(--primary-hover); font-weight: var(--font-weight-heading); margin: 0 0 var(--space-sm); }
h1 { font-size: var(--font-size-h1); line-height: var(--line-height-heading); margin: var(--space-xs) 0 var(--space-lg); overflow-wrap: anywhere; }
h2 { font-size: var(--font-size-h2); line-height: var(--line-height-heading); margin: var(--space-2xl) 0 var(--space-sm); }
h3 { font-size: var(--font-size-body); line-height: var(--line-height-heading); margin: 0 0 var(--space-sm); }
p { margin: var(--space-md) 0; }
ul, ol { padding-left: var(--space-xl); margin: var(--space-md) 0; }
li { margin: var(--space-sm) 0; }
.lead { font-size: var(--font-size-lead); color: var(--text-secondary); max-width: var(--copy-width); }
.features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); margin: var(--space-2xl) 0; }
.feature { border: var(--border-width) solid var(--border); border-top: var(--accent-width) solid var(--primary); border-radius: var(--radius-sm); background: var(--surface); padding: var(--space-md); }
.feature p { color: var(--text-secondary); margin: 0; }
.note { background: var(--primary-muted); border-left: var(--accent-width) solid var(--primary); padding: var(--space-md) var(--space-lg); margin: var(--space-xl) 0; }
.meta { font-size: var(--font-size-label); color: var(--text-secondary); }
.policy { max-width: var(--policy-width); background: var(--surface); border: var(--border-width) solid var(--border); border-radius: var(--radius-md); padding: var(--space-2xl); }
.policy h2 { margin-top: var(--space-xl); }
.scope { font-family: var(--font-code); font-size: var(--font-size-label); overflow-wrap: anywhere; }
footer { border-top: var(--border-width) solid var(--border); font-size: var(--font-size-label); color: var(--text-secondary); }
footer > div { display: flex; gap: var(--space-sm) var(--space-xl); flex-wrap: wrap; justify-content: space-between; }
.skip { position: absolute; left: var(--space-md); top: calc(-2 * var(--space-3xl)); background: var(--surface); padding: var(--space-sm) var(--space-md); z-index: 5; }
.skip:focus { top: var(--space-md); }
.contacts { overflow-wrap: anywhere; }
@media (max-width: 767px) {
  header > div, main, footer > div { padding-left: var(--space-md); padding-right: var(--space-md); }
  .features { grid-template-columns: 1fr; }
  .policy { padding: var(--space-md); }
  nav { gap: var(--space-md); }
}
