:root {
  color-scheme: light;
}

html {
  scroll-behavior: smooth;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.font-mincho {
  font-family: "Noto Serif JP", "Cormorant Garamond", serif;
}

.font-gothic {
  font-family: "Noto Sans JP", "Inter", system-ui, sans-serif;
}

.font-display {
  font-family: "Playfair Display", "Cormorant Garamond", serif;
}

/* ブランド名（英文ロゴ表記）用のセリフ体 */
.font-brand {
  font-family: "Cormorant Garamond", "Noto Serif JP", "Times New Roman", serif;
  letter-spacing: 0.04em;
  font-weight: 600;
}

/* 白背景のロゴ画像を周囲色に馴染ませるためのブレンド */
.logo-blend {
  mix-blend-mode: multiply;
}

.tracking-widest-jp {
  letter-spacing: 0.22em;
}

/* 日本語の両端揃え（行末を揃える） */
.text-justify-jp {
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-strict;
}

/* 日本語：本文の両端揃え（各 HTML のインラインスタイルから移管） */
html:lang(ja) body p {
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-strict;
}

/* 英語・ブラジルポルトガル語：読みやすい左揃え・語間・フォント */
html:lang(en) body,
html:lang(pt-BR) body {
  font-family: "Noto Sans", "Noto Sans JP", system-ui, sans-serif;
}

html:lang(en) body p,
html:lang(pt-BR) body p {
  text-align: start;
  text-justify: auto;
  word-break: normal;
  hyphens: auto;
  line-height: 1.65;
}

html:lang(en) .text-justify-jp,
html:lang(pt-BR) .text-justify-jp {
  text-align: start;
  text-justify: auto;
  word-break: normal;
  hyphens: auto;
}

html:lang(en) .font-jp,
html:lang(pt-BR) .font-jp {
  font-family: "Noto Serif", "Noto Serif JP", Georgia, "Times New Roman", serif;
}

html:lang(en) ul.space-y-2,
html:lang(en) ul.space-y-3,
html:lang(pt-BR) ul.space-y-2,
html:lang(pt-BR) ul.space-y-3 {
  line-height: 1.6;
}

/* Step numbers 01–04: geometric sans + tabular nums (avoids serif “0” reading larger than “1”) */
.font-step-index {
  font-family: "Noto Sans", "Noto Sans JP", system-ui, sans-serif;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* SERVICE 01–04 ribbon: Noto Serif JP first (stable digits), Cormorant fallback — stays close to .font-en */
.font-service-tag {
  font-family: "Noto Serif JP", "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  letter-spacing: 0.22em;
}
