@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

:root {
    --font-primary: "Montserrat";
    --font-fallback: "Helvetica Neue", Arial, sans-serif;
    --font-base: var(--font-primary), var(--font-fallback);
    --color-white: #FFFFFF;
    --color-black: #000000;
    --color-ink: #121116;
    --color-secondary: #96959A;
    --color-muted: #5B5961;
    --color-muted-strong: #5c5a62;
    --color-muted-soft: #9a98a0;
    --color-text-soft: #7a7880;
    --color-text-muted: #6b6971;
    --color-ink-soft: #33313a;
    --color-background: #FFFFFF;
    --page-bg: #ECECEE;
    --color-footer: #100E19;
    --color-surface: #F6F6F6;
    --color-surface-alt: #ECEBED;
    --color-surface-soft: #f5f5f7;
    --color-chip-bg: #ECECED;
    --color-border: #c9c8cc;
    --color-border-strong: #A9A8AC;
    --color-accent-soft: #e9edf7;
    --color-hero-pill: #e9eeff;
    --color-success-bg: #e8f5e9;
    --color-success-text: #1b5e20;
    --color-error-bg: #ffebee;
    --color-error-text: #b71c1c;
    --social-button-color: #F8FAFF1A;
    --primary-color: #1F69FF;
    --primary-strong: #2F6BFF;
    --radius-pill: 999px;
    --radius-24: 24px;
    --radius-20: 20px;
    --radius-16: 16px;
    --radius-12: 12px;
    --radius-10: 10px;
    --shadow-soft: 0 12px 28px rgba(17, 16, 20, 0.08);
    --shadow-md: 0 8px 24px rgba(0,0,0,0.12);
    --shadow-lg: 0 24px 60px rgba(0, 0, 0, 0.2);
}

html {
  scroll-behavior: smooth;
}

* {
  font-family: var(--font-base);
  box-sizing: border-box;
}

select, textarea,
 input,
 button {
  font-family: inherit;
}

body {
  font-family: inherit;
  margin: 0;
  overflow-x: hidden;
  background: var(--page-bg);
}

body.home {
  background: var(--color-white);
}

h2 {
  font-size: 50px;
  line-height: 50px;
  font-weight: 700;
  letter-spacing: 0%;
}

@media (max-width: 992px) {
  h2 {
    font-size: 40px;
    line-height: 40px;
  }
}

@media (max-width: 460px) {
  h2 {
    font-size: 30px;
    line-height: 30px;
  }
}

a {
  transition: color 0.2s ease;
}

a path {
  transition: fill 0.2s ease;
}

a:hover:not(.button) {
  color: var(--primary-color)!important;
}

a:hover:not(.button) path {
  fill: var(--primary-color)!important;
}

.page-404__content {
  margin-top: 100px;
  margin-bottom: 200px;
}


h2 ,h3 ,h4 {
  hyphens: auto;
}
