/* ============================================
   MONOLITH PRECISION - Local Font Declarations
   ============================================ */

/* Inter Font Family - Latin Subset */
/* Weight 400 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/inter/inter-400-latin.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;
}

/* Weight 500 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/inter/inter-500-latin.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;
}

/* Weight 600 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/inter/inter-600-latin.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;
}

/* Weight 700 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/inter/inter-700-latin.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;
}

/* Weight 800 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../fonts/inter/inter-800-latin.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;
}

/* Weight 900 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('../fonts/inter/inter-900-latin.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;
}

/* Noto Sans SC Font Family - Chinese Simplified */
/* Weight 400 */
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/noto-sans-sc/noto-sans-sc-400-chinese.ttf') format('truetype');
}

/* Weight 500 */
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/noto-sans-sc/noto-sans-sc-500-chinese.ttf') format('truetype');
}

/* Weight 700 */
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/noto-sans-sc/noto-sans-sc-700-chinese.ttf') format('truetype');
}

/* Weight 900 */
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('../fonts/noto-sans-sc/noto-sans-sc-900-chinese.ttf') format('truetype');
}

/* Material Symbols Outlined Icon Font */
@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url('../icons/material-symbols-outlined.woff2') format('woff2');
}

/* Material Symbols Icon Settings */
.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* ============================================
   Material Design 3 Typography Scale
   ============================================ */

/* Display Styles */
.display-lg { font-size: 57px; line-height: 64px; font-weight: 400; letter-spacing: -0.25px; }
.display-md { font-size: 45px; line-height: 52px; font-weight: 400; }
.display-sm { font-size: 36px; line-height: 44px; font-weight: 400; }

/* Headline Styles */
.headline-lg { font-size: 32px; line-height: 40px; font-weight: 400; }
.headline-md { font-size: 28px; line-height: 36px; font-weight: 400; }
.headline-sm { font-size: 24px; line-height: 32px; font-weight: 400; }

/* Title Styles */
.title-lg { font-size: 22px; line-height: 28px; font-weight: 400; }
.title-md { font-size: 16px; line-height: 24px; font-weight: 500; letter-spacing: 0.15px; }
.title-sm { font-size: 14px; line-height: 20px; font-weight: 500; letter-spacing: 0.1px; }

/* Body Styles */
.body-lg { font-size: 16px; line-height: 24px; font-weight: 400; letter-spacing: 0.5px; }
.body-md { font-size: 14px; line-height: 20px; font-weight: 400; letter-spacing: 0.25px; }
.body-sm { font-size: 12px; line-height: 16px; font-weight: 400; letter-spacing: 0.4px; }

/* Label Styles */
.label-lg { font-size: 16px; line-height: 24px; font-weight: 500; letter-spacing: 0.1px; }
.label-md { font-size: 14px; line-height: 20px; font-weight: 500; letter-spacing: 0.5px; }
.label-sm { font-size: 14px; line-height: 20px; font-weight: 500; letter-spacing: 0.5px; }
