@charset "utf-8";

/* fira-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/fira-sans-v17-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fira-sans-v17-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* fira-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/fira-sans-v17-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fira-sans-v17-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* fira-sans-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/fira-sans-v17-latin-800.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fira-sans-v17-latin-800.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* mona-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Mona Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/mona-sans-v3-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/mona-sans-v3-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* mona-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Mona Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/mona-sans-v3-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/mona-sans-v3-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* mona-sans-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Mona Sans';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/mona-sans-v3-latin-800.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/mona-sans-v3-latin-800.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

:root {
  /** Primary color */
  --color-primary: 0, 0%, 2.5%;
  --color-secondary: 216, 2%, 48%;
  --color-dark: 0, 0%, 2.5%;
  --color-light: 0, 0%, 100%;
  --color-error: 0, 100%, 32%;
  --color-success: 119, 100%, 20%;

  /** Type */
  --main-font: "Fira Sans", system-ui, sans-serif;
  --accent-font: "Mona Sans", system-ui, sans-serif;
  --fw-medium: 400;
  --fw-bold: 600;
  --fw-black: 800;
  --heading-line-height: 1.15;
  --base-line-height: 1.4;
  --tracking: 0.025em;
  --tracking-s: -0.025em;
  --heading-length: 25ch;
  --text-length: 75ch;

  /* @link https://utopia.fyi/type/calculator?c=320,13,1.125,1240,16,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
  /** Sizes */
  --step--2: clamp(0.64rem, 0.6427rem + -0.0034vw, 0.642rem);
  --step--1: clamp(0.7222rem, 0.6952rem + 0.1353vw, 0.8rem);
  --step-0: clamp(0.8125rem, 0.7473rem + 0.3261vw, 1rem);
  --step-1: clamp(0.9141rem, 0.7972rem + 0.5842vw, 1.25rem);
  --step-2: clamp(1.0283rem, 0.8425rem + 0.929vw, 1.5625rem);
  --step-3: clamp(1.1569rem, 0.8799rem + 1.3848vw, 1.9531rem);
  --step-4: clamp(1.3015rem, 0.905rem + 1.9825vw, 2.4414rem);
  --step-5: clamp(1.4642rem, 0.9119rem + 2.7611vw, 3.0518rem);

  /* @link https://utopia.fyi/space/calculator?c=320,14,1.2,1920,18,1.333,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6|8|10|20,l-2xl|xl-4xl|s-6xl&g=s,l,xl,12 */
  /** Space */
  --space-3xs: clamp(0.25rem, 0.2375rem + 0.0625vw, 0.3125rem);
  --space-2xs: clamp(0.4375rem, 0.4125rem + 0.125vw, 0.5625rem);
  --space-xs: clamp(0.6875rem, 0.65rem + 0.1875vw, 0.875rem);
  --space-s: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem);
  --space-m: clamp(1.3125rem, 1.2375rem + 0.375vw, 1.6875rem);
  --space-l: clamp(1.75rem, 1.65rem + 0.5vw, 2.25rem);
  --space-xl: clamp(2.625rem, 2.475rem + 0.75vw, 3.375rem);
  --space-2xl: clamp(3.5rem, 3.3rem + 1vw, 4.5rem);
  --space-3xl: clamp(5.25rem, 4.95rem + 1.5vw, 6.75rem);
  --space-4xl: clamp(7rem, 6.6rem + 2vw, 9rem);
  --space-5xl: clamp(8.75rem, 8.25rem + 2.5vw, 11.25rem);
  --space-6xl: clamp(17.5rem, 16.5rem + 5vw, 22.5rem);

  /* One-up pairs */
  --space-3xs-2xs: clamp(0.25rem, 0.1875rem + 0.3125vw, 0.5625rem);
  --space-2xs-xs: clamp(0.4375rem, 0.35rem + 0.4375vw, 0.875rem);
  --space-xs-s: clamp(0.6875rem, 0.6rem + 0.4375vw, 1.125rem);
  --space-s-m: clamp(0.875rem, 0.7125rem + 0.8125vw, 1.6875rem);
  --space-m-l: clamp(1.3125rem, 1.125rem + 0.9375vw, 2.25rem);
  --space-l-xl: clamp(1.75rem, 1.425rem + 1.625vw, 3.375rem);
  --space-xl-2xl: clamp(2.625rem, 2.25rem + 1.875vw, 4.5rem);
  --space-2xl-3xl: clamp(3.5rem, 2.85rem + 3.25vw, 6.75rem);
  --space-3xl-4xl: clamp(5.25rem, 4.5rem + 3.75vw, 9rem);
  --space-4xl-5xl: clamp(7rem, 6.15rem + 4.25vw, 11.25rem);
  --space-5xl-6xl: clamp(8.75rem, 6rem + 13.75vw, 22.5rem);

  /* Custom pairs */
  --space-l-2xl: clamp(1.75rem, 1.2rem + 2.75vw, 4.5rem);
  --space-xl-4xl: clamp(2.625rem, 1.35rem + 6.375vw, 9rem);
  --space-s-5xl: clamp(0.875rem, -1.2rem + 10.375vw, 11.25rem);
  --space-s-6xl: clamp(0.875rem, -3.45rem + 21.625vw, 22.5rem);

  /** Grid */
  --grid-gutter: var(--space-s-l, clamp(0.75rem, 0.1336rem + 3.0822vw, 3rem));

  /** Animation */
  --timing-fast: 500ms;
  --timing-medium: 750ms;
  --timing-slow: 1s;
  --timing-extra_slow: 1.5s;
  --anim-fast: var(--timing-fast);
  --anim-medium: var(--timing-medium);
  --anim-slow: var(--timing-slow);
  --anim-extra-slow: var(--timing-extra_slow);

  /** Misc */
  --inverse-clamp: clamp(1.5em, calc(3em - 2vw), 3em);
  --border-radius: 10px;
  --shadow-basic: 5px 5px 10px hsla(var(--color-dark), 0.25);
  --shadow-around: 0 0 10px hsla(var(--color-dark), 0.25);
  --card-width: 350px;
  --fancybox-zIndex: 999999999999;
}

@media (prefers-reduced-motion) {
  :root {
    --timing-fast: 10ms;
    --timing-medium: 10ms;
    --timing-slow: 10ms;
    --timing-extra_slow: 10ms;
  }
}

*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role="list"],
ol[role="list"] {
  list-style: none;
}

[role="list"] {
  padding: 0;
}

html {
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  font-style: italic;
  shape-margin: 1em;
}

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