/**
 * Intilogy — unified typography (patokan JK Technology)
 * https://jktech.com.sg/ — DM Sans, 16px body, skala terbatas, weight konsisten
 */

:root {
  --font-sans: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Skala 6 tingkat (+ display) — hindari px acak di komponen */
  --fs-display: clamp(2rem, 4.2vw, 2.75rem);   /* 32–44 hero */
  --fs-h1: clamp(1.625rem, 2.8vw, 2rem);       /* 26–32 page title */
  --fs-h2: clamp(1.375rem, 2.2vw, 1.75rem);    /* 22–28 section */
  --fs-h3: 1.125rem;                           /* 18 kartu / subheading */
  --fs-body: 1rem;                             /* 16 body & lead */
  --fs-small: 0.875rem;                        /* 14 nav, tombol, meta */
  --fs-caption: 0.75rem;                       /* 12 label, kicker */

  --lh-display: 1.12;
  --lh-heading: 1.25;
  --lh-body: 1.6;

  --fw-heading: 700;
  --fw-subheading: 600;
  --fw-body: 400;
  --fw-label: 600;

  /* Alias legacy (theme-enterprise, app) */
  --type-hero: var(--fs-display);
  --type-h2: var(--fs-h2);
  --type-h3: var(--fs-h3);
  --type-body: var(--fs-body);
  --type-lead: var(--fs-body);
  --type-body-line: var(--lh-body);
}

/* ——— Base ——— */
body {
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  font-weight: var(--fw-body);
}

/* ——— Display & headings ——— */
.hero-home-title,
.mkt-hero-title,
.page-hero-title,
.page-hero:not(.mkt-hero) h1,
h1 {
  font-size: var(--fs-display);
  line-height: var(--lh-display);
  font-weight: var(--fw-heading);
  letter-spacing: -0.03em;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  padding: 0.2em 0.5em;
}

.section-title,
.solutions-section > .container > h2,
.mkt-h2,
h2 {
  font-size: var(--fs-h2);
  line-height: var(--lh-heading);
  font-weight: var(--fw-heading);
  letter-spacing: -0.02em;
}

.section-title-sm,
.mkt-journey-card h3,
.mkt-case-preview-title,
.mkt-case-index-title,
.solution-card h3,
.solution-card-rich h3,
.solution-card-compact h3,
.hero-home-h2,
h3 {
  font-size: var(--fs-h3);
  line-height: var(--lh-heading);
  font-weight: var(--fw-subheading);
}

h4,
h5,
h6 {
  font-size: var(--fs-body);
  line-height: var(--lh-heading);
  font-weight: var(--fw-subheading);
}

/* ——— Lead & body copy ——— */
.section-lead,
.lead,
.mkt-hero-lead,
.mkt-lead,
.hero-home-subtitle,
.hero-home-subtitle-short,
.hero-home-subtitle-full,
.hero-home-process,
.hero-home-trust,
.mkt-case-index-intro,
.page-intro,
p {
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}

.section-lead,
.lead,
.mkt-hero-lead,
.mkt-lead,
.hero-home-subtitle,
.page-intro {
  font-weight: var(--fw-body);
}

/* ——— Labels & UI chrome ——— */
.section-kicker,
.mkt-hero-eyebrow,
.mkt-tag,
.hero-home-entity-kicker,
.hero-trust-vendors-label,
.mkt-swipe-hint {
  font-size: var(--fs-caption);
  font-weight: var(--fw-label);
  letter-spacing: 0.06em;
  line-height: 1.4;
}

.nav-list a,
.nav-parent,
.btn,
.btn-hero,
input,
select,
textarea,
label,
.faq-item summary {
  font-size: var(--fs-small);
  line-height: var(--lh-body);
}

/* ——— Cards & compact UI ——— */
.mkt-journey-card p,
.mkt-pill-card span,
.mkt-mini-stat span,
.mkt-case-preview-line,
.card-meta,
.text-secondary,
.hero-solution-card-desc {
  font-size: var(--fs-small);
  line-height: var(--lh-body);
}

.mkt-pill-card strong,
.mkt-mini-stat strong,
.hero-trust-metric-value,
.trust-stat strong {
  font-size: var(--fs-h3);
  font-weight: var(--fw-heading);
  line-height: var(--lh-heading);
}

.hero-expertise-pillars a {
  font-size: var(--fs-caption);
  font-weight: var(--fw-label);
}

/* ——— Marketing hero split title ——— */
.mkt-hero-title-sub {
  font-size: inherit;
  font-weight: inherit;
}

/* ——— Product / catalog exceptions tetap readable ——— */
.produk-catalog-section .section-title-sm {
  font-size: var(--fs-h3);
}

.page-hero.product-detail-hero .page-hero-title {
  font-size: var(--fs-h1);
}
