:root {
  /* ---- Font stacks ---- */
  --font-base: "Noto Sans JP", "Helvetica Neue", Helvetica, "Hiragino Sans",
    "Hiragino Kaku Gothic ProN", Arial, "Yu Gothic", Meiryo, sans-serif;
  /* used for headings that mix numerals / latin (prices, areas, "Quality" labels) */
  --font-numeric: "Roboto", "Noto Sans JP", "メイリオ", Meiryo, sans-serif;

  /* ---- Weights ---- (brand uses a 2-step system: regular + bold) */
  --fw-regular: 400; /* @kind other */
  --fw-medium: 500; /* @kind other */
  --fw-bold: 700; /* @kind other */

  /* ---- Sizes ---- */
  --fs-body: 16px;          /* base body */
  --fs-small: 13px;         /* CTA labels, fine print */
  --fs-caption: 14px;
  --fs-h3: 18px;
  --fs-h2: 20px;
  --fs-h1: 28px;            /* hero catch copy */
  --fs-display: 40px;       /* large feature headings */
  --fs-eyebrow: 13px;       /* english section labels e.g. "Quality" */

  /* ---- Line heights ---- */
  --lh-tight: 1.35; /* @kind other */
  --lh-body: 1.8; /* @kind other */ /* generous Japanese body leading */
  --lh-h3: 27px;

  /* ---- Letter spacing ---- */
  --ls-eyebrow: 0.18em;     /* spaced-out english eyebrow labels */
  --ls-base: 0.02em;
}
