/* Kinda School — design tokens + self-hosted fonts.
   Single source of truth, imported FIRST by the landing (index.html), the lead
   form (form.css), and the legal pages (legal.css). Keep brand values here only.
   Type: Nunito (display 700/800) + Inter (body 400, bold 600). */

/* ── Fonts (self-hosted woff2 subsets) ───────────────────────────────────────
   Inter 400 (body) · Inter 600 (backs <strong>/<b> in prose) ·
   Nunito 700 (h3 + labels) · Nunito 800 (h1/h2). Inter 500 + Nunito 600 are
   unused and intentionally not declared. */

/* Inter 400 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/inter-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/inter-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Inter 600 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/inter-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/inter-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Nunito 700 */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/nunito-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/nunito-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/nunito-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Nunito 800 */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/nunito-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/nunito-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/nunito-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* Brand palette */
  --blue: #7F95E4;
  --blue-ink: #5a6fbf;
  --blue-soft: #eef1fb;
  --gold: #FBD160;
  --gold-soft: #fef6dd;
  --teal: #1AC1B9;
  --teal-soft: #e3f7f5;
  --navy: #1F2D5C;
  --navy-soft: #4a5680;
  --white: #ffffff;
  --paper: #fbfbfd;
  --line: #e7e9f0;

  /* Widths: page shell vs. legal prose */
  --maxw: 1080px;
  --maxw-prose: 760px;

  /* UI grays + states (promoted from form.css hardcodes) */
  --muted: #9fa8c6;
  --field-placeholder: #6f7790;
  --on-navy-soft: #c3cae4;
  --field-hover: #f1f3fb;
  --error: #ff8a80;
  --error-bg: #fff5f4;
  --error-text: #ffb4ab;

  /* Type scale — px values match the current design 1:1 (the 15.5/16.5 one-offs
     collapse to 15/16). --fs-h1/h2 are the landing's fluid display sizes. */
  --fs-xxs: 12px;
  --fs-xs: 13px;
  --fs-sm: 14px;
  --fs-15: 15px;
  --fs-base: 16px;
  --fs-17: 17px;
  --fs-md: 18px;
  --fs-19: 19px;
  --fs-20: 20px;
  --fs-lg: 21px;
  --fs-22: 22px;
  --fs-xl: 24px;
  --fs-26: 26px;
  --fs-h2: clamp(26px, 3.6vw, 40px);
  --fs-h1: clamp(34px, 5.2vw, 60px);
  --lh-body: 1.6;

  /* Spacing scale (4px base). Applied to the layout rhythm — grid gaps + section
     padding. Fine-grained component spacing keeps its existing values for now. */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 40px;
  --space-9: 48px;
  --space-10: 64px;
  --space-11: 76px;
}
