:root, [data-theme="light"] {
  --surface: #ffffff;
  --surface-soft: #f5fddf;
  --surface-raised: #ffffff;
  --line: #d0d0db;
  --line-strong: #83838d;
  --ink: #21212b;
  --ink-muted: #4a4a53;
  --green: #35bb31;
  --green-deep: #2b9a28;
  --green-text: #1f7f1d;
  --green-soft: #9add98;
  --on-green: #21212b;
  --orange: #ff8400;
  --orange-soft: #ffdab3;
  --orange-deep: #a85600;
  --on-orange: #21212b;
  --danger: #b3261e;
  --link: var(--green-text);
  --focus: #1f7f1d;
  --shadow-raised: 0 8px 24px rgba(33, 33, 43, 0.12);
}
[data-theme="dark"] {
  --surface: #21212b;
  --surface-soft: #2a2a36;
  --surface-raised: #30303c;
  --line: #4a4a53;
  --line-strong: #83838d;
  --ink: #ffffff;
  --ink-muted: #a5a5ae;
  --green: #35bb31;
  --green-deep: #7fd07c;
  --green-text: #7fd07c;
  --green-soft: #2f5a2e;
  --on-green: #21212b;
  --orange: #ff8400;
  --orange-soft: #5a3a17;
  --orange-deep: #ffb366;
  --on-orange: #21212b;
  --danger: #ff8a80;
  --link: var(--green-text);
  --focus: #ff8400;
  --shadow-raised: 0 8px 24px rgba(0, 0, 0, 0.5);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --space-10: 128px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 24px;
  --radius-pill: 999px;
  --control-lg: 64px;
  --control-md: 56px;
  --tap-min: 48px;
  --measure: 34em;
  --container: 1200px;
  --gradient-main: linear-gradient(180deg, #05e326 0%, #6ee328 50%, #d9e229 100%);
  --gradient-secondary: linear-gradient(180deg, #a7ffcf 0%, #fdffee 60%, #fdffee 100%);
  --gradient-tertiary: linear-gradient(180deg, #e3ffdc 0%, #feffff 100%);
  --font-body: "Geist", "Helvetica Neue", Arial, sans-serif;
  --font-display: "Geist", "Helvetica Neue", Arial, sans-serif;
}
.display-xl { font-family: var(--font-display); font-size: 72px; line-height: 78px; font-weight: 700; letter-spacing: -0.02em; }
.display-lg { font-family: var(--font-display); font-size: 48px; line-height: 54px; font-weight: 700; letter-spacing: -0.02em; }
.heading-lg { font-family: var(--font-display); font-size: 40px; line-height: 46px; font-weight: 700; letter-spacing: -0.01em; }
.heading-md { font-family: var(--font-display); font-size: 28px; line-height: 34px; font-weight: 700; }
.heading-sm { font-family: var(--font-display); font-size: 24px; line-height: 30px; font-weight: 700; }
.stat { font-family: var(--font-display); font-size: 64px; line-height: 64px; font-weight: 700; letter-spacing: -0.02em; }
.phone { font-family: var(--font-display); font-size: 28px; line-height: 34px; font-weight: 700; }
.body-lg { font-family: var(--font-body); font-size: 22px; line-height: 34px; font-weight: 400; }
.body { font-family: var(--font-body); font-size: 20px; line-height: 30px; font-weight: 400; }
.body-bold { font-family: var(--font-body); font-size: 20px; line-height: 30px; font-weight: 600; }
.body-sm { font-family: var(--font-body); font-size: 18px; line-height: 27px; font-weight: 400; }
.label { font-family: var(--font-body); font-size: 16px; line-height: 20px; font-weight: 600; letter-spacing: 0.14em; }
.button { font-family: var(--font-body); font-size: 20px; line-height: 24px; font-weight: 600; }
.field { font-family: var(--font-body); font-size: 20px; line-height: 28px; font-weight: 400; }
