/**
 * 免费商用字体方案（本地 + 官方 CDN）
 * - 英文展示：Outfit（SIL OFL 1.1，本地托管）
 * - 中文/正文：MiSans 小米字体（免费商用，官方 CDN 按需子集）
 * - 不引用 Google Fonts
 * - 图标字体（Glyphicons 等）不在此覆盖
 *
 * 许可备忘：
 * - Outfit: https://github.com/Outfitio/Outfit-Fonts (OFL-1.1)
 * - MiSans: https://hyperos.mi.com/font （小米免费商用授权）
 */

/* ========== Outfit：英文标题 / 数字 / Latin UI ========== */
@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/outfit/outfit-latin-400-normal.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: "Outfit";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/outfit/outfit-latin-500-normal.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: "Outfit";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/outfit/outfit-latin-600-normal.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: "Outfit";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/outfit/outfit-latin-700-normal.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: "Outfit";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/outfit/outfit-latin-800-normal.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;
}

:root {
  --font-sans:
    "MiSans",
    "PingFang SC",
    "Hiragino Sans GB",
    "Microsoft YaHei UI",
    "Microsoft YaHei",
    system-ui,
    sans-serif;

  --font-display:
    "MiSans",
    "PingFang SC",
    "Hiragino Sans GB",
    "Microsoft YaHei UI",
    "Microsoft YaHei",
    system-ui,
    sans-serif;

  --font-latin:
    "Outfit",
    "MiSans",
    system-ui,
    sans-serif;

  --pl-sans: var(--font-sans);
  --pl-display: var(--font-display);
  --pl-latin: var(--font-latin);
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--font-sans) !important;
  font-feature-settings: "kern" 1, "liga" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.pl-home,
body.pl-page,
.pl-wrap,
.pl-navbar,
.pl-hero,
.pl-works,
.pl-newsfeed,
.pl-insight,
.pl-cta,
.pl-footer,
.pl-news,
.pl-detail,
.pl-cases,
.pl-article,
.pl-pro,
.contents,
.foot_list,
.copyright,
.list_news,
.navbar,
.container,
.container-fluid {
  font-family: var(--font-sans) !important;
}

body,
th,
td {
  font-family: var(--font-sans) !important;
}

/* 英文大标题 / 数字 / 英文标签走 Outfit */
.pl-hero__en,
.pl-head__en,
.pl-strip__num,
.pl-strip__num .pl-count,
.pl-count,
.pl-marquee__track,
.pl-navbar__tel strong,
.pl-cap__idx,
.pl-insight__idx,
.pl-work__meta span,
.pl-latin {
  font-family: var(--font-latin) !important;
}

/* 中文主标题走 MiSans，略收紧字距更有设计感 */
.pl-hero__title,
.pl-head__zh,
.pl-head__zh a,
.pl-cta__title,
.pl-pagehero__title,
.pl-article__title,
h1, h2, h3 {
  font-family: var(--font-display) !important;
  letter-spacing: 0.04em;
}

.pl-hero__en {
  letter-spacing: -0.035em !important;
  font-weight: 800 !important;
}

.pl-hero__title {
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
}

.pl-hero__desc {
  font-weight: 400 !important;
  letter-spacing: 0.02em;
}
