/* Local fonts */

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url("../assets/fonts/roboto-latin-ext.woff2") format("woff2");
  unicode-range:
    U+0100-02ba, U+02bd-02c5, U+02c7-02cc, U+02ce-02d7, U+02dd-02ff, U+0304, U+0308, U+0329,
    U+1d00-1dbf, U+1e00-1e9f, U+1ef2-1eff, U+2020, U+20a0-20ab, U+20ad-20c0, U+2113, U+2c60-2c7f,
    U+a720-a7ff;
}

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url("../assets/fonts/roboto-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Onest";
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url("../assets/fonts/onest-latin-ext.woff2") format("woff2");
  unicode-range:
    U+0100-02ba, U+02bd-02c5, U+02c7-02cc, U+02ce-02d7, U+02dd-02ff, U+0304, U+0308, U+0329,
    U+1d00-1dbf, U+1e00-1e9f, U+1ef2-1eff, U+2020, U+20a0-20ab, U+20ad-20c0, U+2113, U+2c60-2c7f,
    U+a720-a7ff;
}

@font-face {
  font-family: "Onest";
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url("../assets/fonts/onest-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/montserrat-700-latin-ext.woff2") format("woff2");
  unicode-range:
    U+0100-02ba, U+02bd-02c5, U+02c7-02cc, U+02ce-02d7, U+02dd-02ff, U+0304, U+0308, U+0329,
    U+1d00-1dbf, U+1e00-1e9f, U+1ef2-1eff, U+2020, U+20a0-20ab, U+20ad-20c0, U+2113, U+2c60-2c7f,
    U+a720-a7ff;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/montserrat-700-latin.woff2") format("woff2");
}

/* Base */

html {
  box-sizing: border-box;
  font-size: 100%;
  overflow-x: hidden;
}

*,
*::before,
*::after {
  box-sizing: inherit;
  touch-action: manipulation;
}

/* Focus styles – global */

*:focus {
  outline: none;
  box-shadow: none;
}

*:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 4px;
  border-radius: 0 !important;
  box-shadow: none !important;
}

::selection {
  color: var(--color-bg);
  background-color: var(--color-text-strong);
}

body {
  font-family: "Roboto", sans-serif;
  font-size: var(--fs-base);
  line-height: 1.5;
  font-weight: 400;
  color: var(--color-text);
  overflow-x: hidden;
}

/* Links */

a {
  color: inherit;
  text-decoration: none;
  transition: var(--transition-link);
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Print */

@media print {
  body {
    color: #000;
    background: #fff;
    font-size: 12pt;
  }
}
