/**
 * Design tokens — Fitness Marka.
 * Источник истины: 00-CURSORRULES / дизайн-система.
 */

/* Local fonts — cyrillic + latin pairs */
@font-face {
  font-family: "Unbounded";
  src: url("../fonts/Unbounded-SemiBold.woff2") format("woff2"),
    url("../fonts/Unbounded-SemiBold-latin.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0400-04FF, U+0500-052F, U+2DE0-2DFF, U+A640-A69F, U+1C80-1C8F;
}

@font-face {
  font-family: "Unbounded";
  src: url("../fonts/Unbounded-SemiBold-latin.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  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;
}

@font-face {
  font-family: "Unbounded";
  src: url("../fonts/Unbounded-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0400-04FF, U+0500-052F, U+2DE0-2DFF, U+A640-A69F, U+1C80-1C8F;
}

@font-face {
  font-family: "Unbounded";
  src: url("../fonts/Unbounded-Bold-latin.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  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;
}

@font-face {
  font-family: "Unbounded";
  src: url("../fonts/Unbounded-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0400-04FF, U+0500-052F, U+2DE0-2DFF, U+A640-A69F, U+1C80-1C8F;
}

@font-face {
  font-family: "Unbounded";
  src: url("../fonts/Unbounded-ExtraBold-latin.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
  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;
}

@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0400-04FF, U+0500-052F, U+2DE0-2DFF, U+A640-A69F, U+1C80-1C8F;
}

@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope-Regular-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  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;
}

@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0400-04FF, U+0500-052F, U+2DE0-2DFF, U+A640-A69F, U+1C80-1C8F;
}

@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope-Medium-latin.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  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;
}

@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0400-04FF, U+0500-052F, U+2DE0-2DFF, U+A640-A69F, U+1C80-1C8F;
}

@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope-Bold-latin.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  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;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("../fonts/JetBrainsMono-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0400-04FF, U+0500-052F, U+2DE0-2DFF, U+A640-A69F, U+1C80-1C8F;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("../fonts/JetBrainsMono-Regular-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  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;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("../fonts/JetBrainsMono-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0400-04FF, U+0500-052F, U+2DE0-2DFF, U+A640-A69F, U+1C80-1C8F;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("../fonts/JetBrainsMono-Bold-latin.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  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 {
  /* Palette */
  --fm-navy: #002b48;
  --fm-signal: #ee3b3b;
  --fm-azure: #0076b0;
  --fm-mist: #a9bcca;
  --fm-linen: #f6f1e9;
  --fm-cream: #f4f2ef;
  --fm-white: #ffffff;
  --fm-ink: #04202f;

  /* Typography families */
  --fm-font-display: "Unbounded", system-ui, sans-serif;
  --fm-font-body: "Manrope", system-ui, sans-serif;
  --fm-font-mono: "JetBrains Mono", ui-monospace, monospace;

  /* Type scale desktop */
  --fm-h1: 56px;
  --fm-h2: 34px;
  --fm-h3: 22px;
  --fm-body-lg: 19px;
  --fm-body: 17px;
  --fm-eyebrow: 13px;
  --fm-stat: 44px;

  /* Spacing */
  --fm-space-1: 4px;
  --fm-space-2: 8px;
  --fm-space-3: 12px;
  --fm-space-4: 16px;
  --fm-space-5: 24px;
  --fm-space-6: 32px;
  --fm-space-7: 48px;
  --fm-space-8: 64px;
  --fm-space-9: 96px;
  --fm-space-10: 128px;

  /* Layout */
  --fm-container: 1240px;
  --fm-gutter: 24px;
  --fm-pad-x: 24px;
  --fm-section-gap: 96px;

  /* Radii */
  --fm-radius-sm: 4px;
  --fm-radius-card: 16px;
  --fm-radius-none: 0;
}

@media (max-width: 767px) {
  :root {
    --fm-h1: 34px;
    --fm-h2: 26px;
    --fm-h3: 20px;
    --fm-body-lg: 17px;
    --fm-body: 16px;
    --fm-stat: 32px;
    --fm-pad-x: 20px;
    --fm-section-gap: 64px;
  }
}

.bg-white {
  background-color: var(--fm-white);
  color: var(--fm-navy);
}

.bg-linen {
  background-color: var(--fm-linen);
  color: var(--fm-navy);
}

.bg-navy {
  background-color: var(--fm-navy);
  color: var(--fm-white);
}
