@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/noto-serif-jp-subset.woff2") format("woff2");
}
:root {
  --serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif CJK JP", serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", "Noto Sans JP", "Noto Sans CJK JP", system-ui, sans-serif;
}
.hero h1 { font-size: clamp(50px, 5.4vw, 80px); line-height: 1.18; letter-spacing: 0; }
.hero h1 em { letter-spacing: 0; }
.section-heading h2, .features-heading h2, .quiet-section h2, .faq-heading h2 { font-size: 50px; line-height: 1.24; letter-spacing: 0; }
.feature-copy h3, .sound-copy h3 { font-size: 36px; line-height: 1.28; letter-spacing: 0; }
.practice-steps h3 { letter-spacing: 0; }
.eyebrow { letter-spacing: 0.08em; }
html .social-heading { font-size: 72px; line-height: 1.22; letter-spacing: 0; }
@media (max-width: 760px) {
  .hero h1 { font-size: clamp(38px, 10.5vw, 58px); letter-spacing: 0; }
}

/* Keep the practice invitation readable without isolated CJK characters on phones. */
@media (max-width: 760px) {
  .section-heading h2 { font-size: clamp(32px, 10vw, 40px); }
}
