:root {
  /* Base Color Swatches - Semantic Foundation */
  --color-neutral-light: #ffffff;
  --color-neutral-dark: #000000;
  --color-primary-base: #d70037;
  --color-neutral-base: #727272;
  --color-accent-base: #e8c9bd;

  /* Semantic Color System - Derived from Base Swatches */
  --color-brand: var(--color-primary-base);
  --color-brand-hover: color-mix(in srgb, var(--color-primary-base) 90%, black);
  --color-text-primary: var(--color-neutral-base);
  --color-text-muted: color-mix(in srgb, var(--color-neutral-base) 50%, white);
  --color-border: color-mix(in srgb, var(--color-neutral-base) 30%, white);
  --color-surface-secondary: color-mix(in srgb, var(--color-accent-base) 85%, white);
  --color-surface-tertiary: color-mix(in srgb, var(--color-accent-base) 70%, var(--color-primary-base) 30%);

  --art-default-font: sans-serif;
  --art-body-font-family: Jost;
  --art-body-font-weight: 400;
  --art-body-font-style: normal;
  --art-body-font-size: 18px;
  --art-body-line-height: 1.55em;
  --art-body-text-transform: none;
  --art-body-text-decoration: none;
  --art-body-letter-spacing: 0px;
  --art-body-two-font-family: Jost;
  --art-body-two-font-weight: 400;
  --art-body-two-font-style: normal;
  --art-body-two-font-size: 16px;
  --art-body-two-line-height: 1.5em;
  --art-body-two-text-transform: none;
  --art-body-two-text-decoration: none;
  --art-body-two-letter-spacing: 0px;
  --art-body-three-font-family: Jost;
  --art-body-three-font-weight: 400;
  --art-body-three-font-style: normal;
  --art-body-three-font-size: 14px;
  --art-body-three-line-height: 1.57em;
  --art-body-three-text-transform: none;
  --art-body-three-text-decoration: none;
  --art-body-three-letter-spacing: 0px;
  --art-body-four-font-family: Jost;
  --art-body-four-font-weight: 400;
  --art-body-four-font-style: normal;
  --art-body-four-font-size: 12px;
  --art-body-four-line-height: 1.4em;
  --art-body-four-text-transform: none;
  --art-body-four-text-decoration: none;
  --art-body-four-letter-spacing: 0px;
  --art-accent-font-family: Oswald;
  --art-accent-font-weight: 700;
  --art-accent-font-style: normal;
  --art-accent-font-size: 13px;
  --art-accent-line-height: 1.46em;
  --art-accent-text-transform: uppercase;
  --art-accent-text-decoration: none;
  --art-accent-letter-spacing: 0.03em;
  --art-button-font-family: Oswald;
  --art-button-font-weight: 700;
  --art-button-font-style: normal;
  --art-button-font-size: 14px;
  --art-button-line-height: 1.5em;
  --art-button-text-transform: uppercase;
  --art-button-text-decoration: none;
  --art-button-letter-spacing: 0.03em;
  --art-blockquote-font-family: Jost;
  --art-blockquote-font-weight: 400;
  --art-blockquote-font-style: normal;
  --art-blockquote-font-size: 18px;
  --art-blockquote-line-height: 1.55em;
  --art-blockquote-text-transform: none;
  --art-blockquote-text-decoration: none;
  --art-blockquote-letter-spacing: 0px;
  --art-h1-font-family: Oswald;
  --art-h1-font-weight: 700;
  --art-h1-font-style: normal;
  --art-h1-font-size: 100px;
  --art-h1-line-height: 1.2em;
  --art-h1-text-transform: uppercase;
  --art-h1-text-decoration: none;
  --art-h1-letter-spacing: 0px;
  --art-h1-mobile-font-family: Oswald;
  --art-h1-mobile-font-weight: 700;
  --art-h1-mobile-font-style: normal;
  --art-h1-mobile-font-size: 60px;
  --art-h1-mobile-line-height: 1.2em;
  --art-h1-mobile-text-transform: uppercase;
  --art-h1-mobile-text-decoration: none;
  --art-h1-mobile-letter-spacing: 0px;
  --art-h2-font-family: Oswald;
  --art-h2-font-weight: 700;
  --art-h2-font-style: normal;
  --art-h2-font-size: 70px;
  --art-h2-line-height: 1.28em;
  --art-h2-text-transform: uppercase;
  --art-h2-text-decoration: none;
  --art-h2-letter-spacing: 0px;
  --art-h2-mobile-font-family: Oswald;
  --art-h2-mobile-font-weight: 700;
  --art-h2-mobile-font-style: normal;
  --art-h2-mobile-font-size: 50px;
  --art-h2-mobile-line-height: 1.28em;
  --art-h2-mobile-text-transform: uppercase;
  --art-h2-mobile-text-decoration: none;
  --art-h2-mobile-letter-spacing: 0px;
  --art-h3-font-family: Oswald;
  --art-h3-font-weight: 700;
  --art-h3-font-style: normal;
  --art-h3-font-size: 34px;
  --art-h3-line-height: 1.47em;
  --art-h3-text-transform: uppercase;
  --art-h3-text-decoration: none;
  --art-h3-letter-spacing: 0px;
  --art-h4-font-family: Oswald;
  --art-h4-font-weight: 700;
  --art-h4-font-style: normal;
  --art-h4-font-size: 26px;
  --art-h4-line-height: 1.5em;
  --art-h4-text-transform: uppercase;
  --art-h4-text-decoration: none;
  --art-h4-letter-spacing: 0px;
  --art-h5-font-family: Oswald;
  --art-h5-font-weight: 700;
  --art-h5-font-style: normal;
  --art-h5-font-size: 20px;
  --art-h5-line-height: 1.5em;
  --art-h5-text-transform: uppercase;
  --art-h5-text-decoration: none;
  --art-h5-letter-spacing: 0.02em;
  --art-h6-font-family: Jost;
  --art-h6-font-weight: 400;
  --art-h6-font-style: normal;
  --art-h6-font-size: 24px;
  --art-h6-line-height: 1.2em;
  --art-h6-text-transform: none;
  --art-h6-text-decoration: none;
  --art-h6-letter-spacing: 0px;

  /* Semantic Color Variables - Reference Base Colors */
  --art-colors-text: var(--color-text-primary);
  --art-colors-second-text: var(--color-text-primary);
  --art-colors-link: var(--color-brand);
  --art-colors-hover: var(--color-neutral-light);
  --art-colors-accent: var(--color-brand);
  --art-colors-accent-hover: var(--color-brand-hover);
  --art-colors-tertiary: var(--color-brand);
  --art-colors-quaternary: var(--color-neutral-light);
  --art-colors-heading: var(--color-neutral-dark);
  --art-colors-bg: var(--color-neutral-light);
  --art-colors-second-bg: var(--color-surface-secondary);
  --art-colors-bd: var(--color-neutral-dark);
  --art-colors-second-bd: var(--color-neutral-light);
  --art-second-colors-text: var(--color-neutral-light);
  --art-second-colors-second-text: var(--color-neutral-light);
  --art-second-colors-link: var(--color-brand);
  --art-second-colors-hover: var(--color-brand);
  --art-second-colors-accent: var(--color-brand);
  --art-second-colors-accent-hover: var(--color-brand-hover);
  --art-second-colors-tertiary: var(--color-brand);
  --art-second-colors-quaternary: var(--color-neutral-light);
  --art-second-colors-heading: var(--color-neutral-light);
  --art-second-colors-bg: var(--color-surface-tertiary);
  --art-second-colors-second-bg: var(--color-surface-secondary);
  --art-second-colors-bd: var(--color-border);
  --art-second-colors-second-bd: var(--color-neutral-light);
  --art-header-first-middle-height: 83px;
  --art-header-first-middle-height-sticky: 60px;
  --art-header-second-middle-height: 69px;
  --art-header-second-middle-height-sticky: 61px;
  --art-header-second-bottom-height: 52px;
  --art-header-second-bottom-height-sticky: 47px;
  --art-headline-height: 460px;
  --art-headline-text-color: #0a0a0a;
  --art-headline-bg-color: #000000;
  --art-headline-bg-image: none;
  --art-headline-bg-repeat: no-repeat;
  --art-headline-bg-position: left center;
  --art-headline-bg-size: cover;
  --art-headline-bg-attachment: scroll;
  --art-container-max-width: 1390px;
  --art-container-full-hor-pad: 50px;
  --art-column-pad: 15px;
  --art-swiper-dots-color: var(--art-colors-second-bg);
}

@media only screen and (max-width: 1366px) {
  :root {
    --art-container-max-width: 1170px;
  }
}

@media only screen and (max-width: 767px) {
  :root {
    --art-container-full-hor-pad: var(--art-column-pad);
  }
}

:root {
  background-image: url("/assets/img/uploads_sites_2_2021_12__Classes-Hero@2x-scaled.jpg");
  background-color: #000000;
  background-repeat: no-repeat;
  background-position: left center;
  background-attachment: scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

/* Jost Font Family */
@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/jost__font.woff") format("woff");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/jost__font.woff") format("woff");
  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: "Jost";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/jost__font.woff") format("woff");
  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;
}

/* Oswald Font Family */
@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/oswald__font.woff") format("woff");
  unicode-range:
    U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/oswald__font.woff") format("woff");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/oswald__font.woff") format("woff");
  unicode-range:
    U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/oswald__font.woff") format("woff");
  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: "Oswald";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/oswald__font.woff") format("woff");
  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;
}
