/* =========================================================
   MOVA PART — Global design tokens (typography + icons)
   Reference rhythm: GSP / Sakes / industrial B2B catalogs
   ========================================================= */

:root {
  /* Typography scale */
  --type-body: 15px;
  --type-body-sm: 14px;
  --type-caption: 12px;
  --type-label: 13px;
  --type-lead: 18px;
  --type-subtitle: 20px;
  --type-card: 18px;
  --type-section: 32px;
  --type-section-sm: 28px;
  --type-hero: clamp(36px, 3.8vw, 48px);
  --type-hero-sub: clamp(16px, 1.8vw, 20px);
  --type-stat: clamp(28px, 2.2vw, 36px);

  --leading-hero: 1.15;
  --leading-section: 1.25;
  --leading-body: 1.6;
  --leading-tight: 1.3;

  /* Icon scale */
  --icon-inline: 18px;
  --icon-ui: 20px;
  --icon-nav: 20px;
  --icon-stat: 44px;
  --icon-feature: 40px;
  --icon-feature-box: 72px;
  --icon-touch: 24px;
  --icon-touch-box: 56px;
  --icon-arrow: 12px;
}

/* Shared page hero typography (inner pages) */
.mova-page-hero__title {
  font-size: var(--type-hero);
  font-weight: 700;
  line-height: var(--leading-hero);
  letter-spacing: -0.02em;
}

.mova-page-hero__subtitle {
  font-size: var(--type-hero-sub);
  font-weight: 400;
  line-height: var(--leading-body);
}

.mova-section-title {
  font-size: var(--type-section);
  font-weight: 700;
  line-height: var(--leading-section);
  letter-spacing: -0.01em;
}

.mova-section-title--sm {
  font-size: var(--type-section-sm);
}

.mova-section-desc {
  font-size: var(--type-lead);
  line-height: var(--leading-body);
}

.mova-card-title {
  font-size: var(--type-card);
  font-weight: 700;
  line-height: var(--leading-tight);
}

.mova-body-text {
  font-size: var(--type-body-sm);
  line-height: var(--leading-body);
}

.mova-icon-box {
  width: var(--icon-feature-box);
  height: var(--icon-feature-box);
  display: flex;
  align-items: center;
  justify-content: center;
}

.mova-icon-box img,
.mova-icon-box svg {
  width: var(--icon-feature);
  height: var(--icon-feature);
  object-fit: contain;
}
