/* ==========================================================================
   Vaucher Genève — Design Tokens
   严格取自 stitch 设计稿的 DESIGN.md（Haute Horlogerie Editorial）
   不要随意改动这些值：视觉规范已冻结。
   ========================================================================== */

/* ---- 字体（自托管，见 assets/fonts/） ---------------------------------- */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('../fonts/playfair-display-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;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/playfair-display-latin-italic.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: 'Manrope';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('../fonts/manrope-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;
}

:root {
  /* ---- Obsidian Voids (Surfaces) ---- */
  --ground: #0b0b0b;
  --surface-low: #111111;
  --surface-mid: #171717;
  --surface-high: #222222;

  /* ---- Ivory Script (Typography) ---- */
  --text-primary: #f5f2ea;
  --text-secondary: #d8d3c8;
  --text-tertiary: #a7a29a;

  /* ---- Noble Accent (Horological Brass) ---- */
  --accent: #b7a27a;
  --accent-soft: rgba(183, 162, 122, 0.16);
  --accent-wash: rgba(183, 162, 122, 0.08);
  --accent-line: rgba(183, 162, 122, 0.45);
  --accent-hairline: rgba(183, 162, 122, 0.2);

  /* ---- 语义色 ---- */
  --danger: #ffb4ab;
  --danger-deep: #93000a;
  --ok: #b7a27a;

  /* ---- 字体族 ---- */
  --font-display: 'Playfair Display', 'Times New Roman', serif;
  --font-sans: 'Manrope', 'Helvetica Neue', Arial, sans-serif;

  /* ---- 排版刻度 ---- */
  --fs-display-hero: 80px;
  --lh-display-hero: 92px;
  --fs-display-hero-mobile: 42px;
  --lh-display-hero-mobile: 50px;

  --fs-headline-lg: 48px;
  --lh-headline-lg: 56px;
  --fs-headline-lg-mobile: 32px;
  --lh-headline-lg-mobile: 40px;

  --fs-headline-md: 32px;
  --lh-headline-md: 42px;
  --fs-headline-sm: 24px;
  --lh-headline-sm: 32px;

  --fs-body-lg: 18px;
  --lh-body-lg: 30px;
  --fs-body-md: 15px;
  --lh-body-md: 26px;
  --fs-body-sm: 13px;
  --lh-body-sm: 20px;

  --fs-label-caps: 11px;
  --lh-label-caps: 16px;
  --fs-label-tech: 12px;
  --lh-label-tech: 18px;
  --fs-spec-numeral: 20px;
  --lh-spec-numeral: 24px;

  /* ---- 间距 ---- */
  --space-xs: 0.375rem;
  --space-sm: 0.75rem;
  --space-md: 1.5rem;
  --space-lg: 3rem;
  --space-xl: 6rem;

  --gutter: 2rem;
  --gutter-mobile: 1rem;
  --margin: 4rem;
  --margin-mobile: 1.5rem;

  --container: 1600px;

  /* ---- 形状：全站 0 圆角（精准石基座） ---- */
  --radius: 0;

  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

@media (max-width: 1279px) {
  :root {
    --gutter: 1.5rem;
    --margin: 2.5rem;
  }
}

@media (max-width: 767px) {
  :root {
    --gutter: 1rem;
    --margin: 1.5rem;
  }
}
