/* Primary English section titles share the TOP WHY US responsive type scale.
   FV titles, card labels, and Japanese headings keep their own hierarchy. */
:root {
  --im-section-heading-size: clamp(60px, 8vw, 128px);
  --im-section-heading-line: .98;
  --im-section-heading-tracking: -.055em;
}
@media (max-width: 1100px) {
  :root { --im-section-heading-size: 9vw; }
}
@media (max-width: 800px) {
  :root { --im-section-heading-size: 12vw; --im-section-heading-line: 1; }
}
@media (max-width: 540px) {
  :root { --im-section-heading-size: 16vw; --im-section-heading-tracking: -.06em; }
}
.im-heading h2,
.wf-page h2[data-wf-english],
.wf-page .wf-service-heading {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: var(--im-section-heading-size) !important;
  font-weight: 750 !important;
  line-height: var(--im-section-heading-line) !important;
  letter-spacing: var(--im-section-heading-tracking) !important;
}
.wf-page .wf-service-heading {
  width: 100%;
  margin: 0;
  color: #2c1e46;
  font-family: var(--en);
  text-align: center;
  overflow-wrap: normal;
}
.wf-page .wf-service-heading-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  gap: 6px;
  text-align: center;
}
.wf-page .wf-service-heading-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}
.wf-page .wf-service-heading-subtitle {
  margin: 8px 0 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.8;
  color: #6c6372;
}
