@font-face {
  font-family: "Instrument Serif";
  src: url("../fonts/v2/instrument-serif/InstrumentSerif-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("../fonts/v2/inter/Inter-VariableFont_opsz-wght.ttf") format("truetype");
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
}

@font-face {
  font-family: "Noto Serif JP";
  src: url("../fonts/v2/noto-serif-jp/NotoSerifJP-wght.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/v2/noto-sans-jp/NotoSansJP-wght.ttf") format("truetype");
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
}

:root {
  --cdj-font-display: "Instrument Serif", Georgia, serif;
  --cdj-font-sans: "Inter", Arial, sans-serif;
  --cdj-font-jp-serif: "Noto Serif JP", "Noto Serif CJK JP", serif;
  --cdj-font-jp-sans: "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  --cdj-type-display-xl: clamp(4.75rem, 8.8vw, 9.5rem);
  --cdj-type-display-lg: clamp(3.75rem, 6.8vw, 7.5rem);
  --cdj-type-display-md: clamp(2.75rem, 4.5vw, 5rem);
  --cdj-type-display-sm: clamp(2.2rem, 3.2vw, 3.5rem);
  --cdj-type-body-lg: clamp(1.125rem, 0.35vw + 1.05rem, 1.375rem);
  --cdj-type-body: clamp(1rem, 0.22vw + 0.96rem, 1.125rem);
  --cdj-type-body-sm: 0.9375rem;
  --cdj-type-caption: 0.8125rem;
  --cdj-type-nav: 0.875rem;
  --cdj-type-label: 0.8125rem;
  --cdj-type-meta: 0.75rem;
  --cdj-leading-display-xl: 0.90;
  --cdj-leading-display-lg: 0.92;
  --cdj-leading-display-md: 0.96;
  --cdj-leading-display-sm: 1;
  --cdj-leading-body-lg: 1.55;
  --cdj-leading-body: 1.65;
  --cdj-leading-body-sm: 1.55;
}

:lang(ja) { line-break: strict; word-break: normal; }
.cdj-editorial:lang(ja) { font-family: var(--cdj-font-jp-serif); line-height: 1.3; }
.cdj-functional:lang(ja) { font-family: var(--cdj-font-jp-sans); line-height: 1.75; }
