@font-face {
  font-family: 'Zum Grotesk';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/global/fonts/ZumGrotesk-Variable.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: 'Zum Grotesk';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(/global/fonts/ZumGrotesk-VariableItalic.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: 'Sans Fallback';
  src: local('Arial'), local('Helvetica');
  font-weight: 400;
  size-adjust: 100.7%;
  ascent-override: 99.3%;
  descent-override: 30.1%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Sans Fallback';
  src: local('Arial Bold'), local('Helvetica Bold');
  font-weight: 700;
  size-adjust: 95.3%;
  ascent-override: 104.9%;
  descent-override: 31.8%;
  line-gap-override: 0%;
}

:root {
  --gray-000: rgb(255 255 255);
  --gray-050: rgb(240 240 240);
  --gray-100: rgb(226 226 226);
  --gray-200: rgb(219 219 219);
  --gray-300: rgb(204 204 204);
  --gray-900: rgb(87 87 87);
  --gray-1200: rgb(0 0 0);
  --blue-800: #0072CE;
  --orange-800: #FF6700;
  --green-800: #008000;

  --radius-400: 18px;

  --ui-text-size-12: 12px;
  --ui-text-size-14: 14px;
  --ui-text-size-l6: 16px;
  --ui-text-size-20: 20px;
  --ui-text-size-24: 24px;

  /* Semantic vars */
  --body-font: 'Zum Grotesk', 'Sans Fallback', sans-serif;

  --header-height: 100px;

  --button-font-size: 14px;
  --button-font-weight: 600;
  --button-spacing: 12px;
  --button-radius: var(--radius-400);

  --dialog-radius: var(--radius-400);

  /* peaks at 1.2 (20px -> 24px) before settling at 1 */
  --ease-pop: linear(0, 0.4 25%, 0.85 40%, 1.12 55%, 1.2 62%, 1.12 72%, 1.04 84%, 1);

  --identity-dot-size: 48px;
  --icon-size: 20px;
  --button-height: 36px;
  --caret-width: var(--button-height);
}

body {
  margin: 0;
  min-height: 100dvh;
  background: linear-gradient(120deg, var(--gray-000), var(--gray-100));
  font-family: var(--body-font);

  header {
    height: var(--header-height);
  }

  a {
    text-decoration: none;
    color: inherit;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  button {
    all: unset;
    font-family: inherit;
    font-weight: var(--button-font-weight);
  }
}

header {
  display: grid;
  align-items: center;
  height: var(--header-height);
}

main {
  &:has(zum-sites) {
    padding-inline: calc(26px + var(--identity-dot-size) + var(--caret-width));
  }
}

.background {
  img {
    position: fixed;
    inset: 0;
    z-index: -1;
  }
}
