/* Speed Launch typography · self-hosted Cyrillic variable fonts. */
@font-face {
  font-family: "SL Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/zenya/static/assets/fonts/manrope-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: "SL Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/zenya/static/assets/fonts/manrope-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "SL Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/zenya/static/assets/fonts/manrope-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;
}

@font-face {
  font-family: "SL Unbounded";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/zenya/static/assets/fonts/unbounded-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: "SL Unbounded";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/zenya/static/assets/fonts/unbounded-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "SL Unbounded";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/zenya/static/assets/fonts/unbounded-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 {
  /* Enterprise pairing: Inter for interface text, Onest for headings.
     Both are loaded from Google Fonts (see <head>); the self-hosted Manrope
     faces above stay as the offline / blocked-network fallback. */
  --sl-type-ui: "Inter", "SL Manrope", Manrope, system-ui, -apple-system, "Segoe UI", sans-serif;
  --sl-type-display: "Onest", "Inter", "SL Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --sl-type-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.app-body,
.professional-ui,
.admin-professional {
  --premium-font: var(--sl-type-ui);
  --premium-display: var(--sl-type-display);
  --pro-font: var(--sl-type-ui);
  --app-font-text: var(--sl-type-ui);
  --app-font-sans: var(--sl-type-ui);
  --app-font-body: var(--sl-type-ui);
  --app-font-display: var(--sl-type-display);
  font-family: var(--sl-type-ui);
  letter-spacing: -.004em;
}

/* The theme layer uses a more specific selector for its legacy font tokens. */
html[data-theme] body.app-body.professional-ui {
  --premium-font: var(--sl-type-ui);
  --premium-display: var(--sl-type-display);
  --pro-font: var(--sl-type-ui);
  --app-font-text: var(--sl-type-ui);
  --app-font-sans: var(--sl-type-ui);
  --app-font-body: var(--sl-type-ui);
  --app-font-display: var(--sl-type-display);
  font-family: var(--sl-type-ui);
}

.professional-ui h1,
.professional-ui .app-header h1 {
  font-family: var(--sl-type-display);
  font-weight: 650;
  letter-spacing: -.025em;
}

.professional-ui h2 {
  font-family: var(--sl-type-display);
  font-weight: 600;
  letter-spacing: -.018em;
}

.professional-ui h3,
.professional-ui h4 {
  font-family: var(--sl-type-display);
  font-weight: 560;
  letter-spacing: -.012em;
}

.professional-ui .eyebrow,
.professional-ui .brand-copy,
.professional-ui .integration-accordion-title {
  font-family: var(--sl-type-display);
}

.professional-ui .eyebrow { font-weight: 600; letter-spacing: .13em; }

.marketing-body {
  --sl-font-sans: var(--sl-type-ui);
  --sl-font-display: var(--sl-type-display);
  font-family: var(--sl-type-ui);
  letter-spacing: -.004em;
}

.marketing-body .sl-hero h1,
.marketing-body .sl-section-head h2,
.marketing-body .sl-section-centered h2,
.marketing-body .sl-guide-copy h2,
.marketing-body .sl-freedom-copy h2,
.marketing-body .sl-final-cta h2 {
  font-family: var(--sl-type-display);
  font-weight: 600;
  letter-spacing: -.024em;
}

.marketing-body .sl-hero h1 {
  font-size: clamp(40px, 3.8vw, 58px);
  line-height: 1.05;
  letter-spacing: -.022em;
}

.marketing-body h3,
.marketing-body .brand {
  font-family: var(--sl-type-display);
}

.marketing-body h3 { font-weight: 560; letter-spacing: -.012em; }
.marketing-body .brand { font-weight: 600; letter-spacing: .06em; }
.marketing-body .eyebrow { font-family: var(--sl-type-display); font-weight: 600; letter-spacing: .13em; }
.marketing-body p,
.marketing-body li,
.marketing-body small { letter-spacing: -.003em; }

:root {
  --auth-font: var(--sl-type-ui);
  --auth-display: var(--sl-type-display);
}

.speed-auth.auth-page { font-family: var(--sl-type-ui); letter-spacing: -.004em; }

.speed-auth .auth-story h1,
.speed-auth .auth-box h2,
.speed-auth .reset-step h2 {
  font-family: var(--sl-type-display);
  font-weight: 600;
  letter-spacing: -.02em;
}

.speed-auth .speed-brand,
.speed-auth .eyebrow { font-family: var(--sl-type-display); }

.admin-professional h1,
.admin-professional h2,
.admin-professional h3,
.admin-professional h4,
.admin-professional .admin-brand-copy {
  font-family: var(--sl-type-display);
}

.admin-professional h1 { font-weight: 650; letter-spacing: -.025em; }
.admin-professional h2 { font-weight: 600; letter-spacing: -.018em; }
.admin-professional h3,
.admin-professional h4 { font-weight: 560; letter-spacing: -.012em; }

@media (max-width: 700px) {
  .marketing-body .sl-hero h1 {
    font-size: clamp(34px, 9.6vw, 42px);
    line-height: 1.07;
    letter-spacing: -.018em;
  }
}
