/* Solution pages typography — aligned with template/modun/pc/index.htm (modun-index.css) */

.cg-page,
.hg-page,
.ev-page,
.bq-page,
.ig-page {
  --sol-font-display: 'Oswald', 'Roboto Condensed', 'Arial Narrow', sans-serif;
  --sol-font-body: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --sol-text: #1e293b;
  --sol-muted: #475569;
  --sol-body-size: 16.5px;
  font-family: var(--sol-font-body);
  font-size: var(--sol-body-size);
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Body copy */
.cg-page p,
.hg-page p,
.ev-page p,
.bq-page p,
.ig-page p {
  font-size: var(--sol-body-size);
  line-height: 1.8;
}

/* Heading scale (index.htm / .b2b-home) */
.cg-page h1,
.hg-page h1,
.ev-page h1,
.bq-page h1,
.ig-page h1,
.cg-page h2,
.hg-page h2,
.ev-page h2,
.bq-page h2,
.ig-page h2,
.cg-page h3,
.hg-page h3,
.ev-page h3,
.bq-page h3,
.ig-page h3,
.cg-page h4,
.hg-page h4,
.ev-page h4,
.bq-page h4,
.ig-page h4,
.cg-page h5,
.hg-page h5,
.ev-page h5,
.bq-page h5,
.ig-page h5,
.cg-page h6,
.hg-page h6,
.ev-page h6,
.bq-page h6,
.ig-page h6 {
  font-family: var(--sol-font-display);
  font-weight: 700;
  letter-spacing: 0.02em;
  color: inherit;
}

.cg-page h1,
.hg-page h1,
.ev-page h1,
.bq-page h1,
.ig-page h1 {
  font-size: clamp(2.2rem, 4.2vw, 3.8rem);
  line-height: 1.1;
}

.cg-page h2,
.hg-page h2,
.ev-page h2,
.bq-page h2,
.ig-page h2 {
  font-size: clamp(1.7rem, 3.2vw, 2.6rem);
  line-height: 1.2;
}

.cg-page h3,
.hg-page h3,
.ev-page h3,
.bq-page h3,
.ig-page h3 {
  font-size: clamp(1.25rem, 2.2vw, 1.9rem);
  line-height: 1.25;
}

.cg-page h4,
.hg-page h4,
.ev-page h4,
.bq-page h4,
.ig-page h4 {
  font-size: 1.15rem;
  line-height: 1.3;
}

.cg-page h5,
.hg-page h5,
.ev-page h5,
.bq-page h5,
.ig-page h5 {
  font-size: 1rem;
  line-height: 1.35;
}

/* Section kicker / eyebrow */
.cg-kicker,
.hg-kicker,
.ev-kicker,
.bq-kicker,
.ig-kicker {
  font-family: var(--sol-font-body);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.cg-kicker::before,
.hg-kicker::before,
.ev-kicker::before,
.bq-kicker::before,
.ig-kicker::before {
  width: 28px;
}

/* Section titles */
.cg-title,
.hg-title,
.ev-title,
.bq-title,
.ig-title {
  font-family: var(--sol-font-display);
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

/* Lead / intro paragraphs */
.cg-lead,
.hg-lead,
.ev-lead,
.bq-lead,
.ig-lead {
  font-size: var(--sol-body-size);
  font-weight: 400;
  line-height: 1.75;
  color: var(--sol-muted);
}

/* Hero */
.cg-hero h1,
.hg-hero h1,
.ev-hero h1,
.bq-hero h1,
.ig-hero h1 {
  font-family: var(--sol-font-display);
  font-size: clamp(2.2rem, 4.2vw, 3.8rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.02em;
}

.cg-hero h1 em,
.hg-hero h1 em,
.ev-hero h1 em,
.bq-hero h1 em,
.ig-hero h1 em {
  font-style: normal;
  font-weight: 700;
}

.cg-hero__sub,
.hg-hero__sub,
.ev-hero__sub,
.bq-hero__sub,
.ig-hero__sub,
.cg-hero__lead,
.hg-hero__lead,
.ev-hero__lead,
.bq-hero__lead,
.ig-hero__lead {
  font-size: var(--sol-body-size);
  font-weight: 500;
  line-height: 1.75;
}

/* Hero badges */
.cg-hero__badge,
.hg-hero__badge,
.ev-hero__badge,
.bq-hero__badge,
.ig-hero__badge,
.ig-hero__tag,
.bq-hero__tag {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* CTA buttons (text only) */
.cg-page .cg-btn-primary,
.cg-page .cg-btn-outline,
.hg-page .hg-btn-primary,
.hg-page .hg-btn-outline,
.hg-page .hg-btn-dark,
.ev-page .ev-btn-primary,
.ev-page .ev-btn-outline,
.ev-page .ev-btn-dark,
.bq-page .bq-btn-primary,
.bq-page .bq-btn-outline,
.ig-page .ig-btn-primary,
.ig-page .ig-btn-outline,
.cg-flip__btn,
.ev-page .ev-btn-ghost,
.hg-form__submit,
.ev-form__submit,
.bq-form__submit,
.ig-form__submit,
.cg-form__submit {
  font-family: var(--sol-font-body);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Tags / labels */
.cg-tag,
.ev-tag,
.bq-tag,
.ig-tag,
.hg-tag {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Card headings — h3 scale */
.cg-pillar h3,
.cg-pain__card h3,
.cg-bento__item h3,
.hg-card h3,
.hg-pkg h3,
.ev-pillar h3,
.ev-pkg h3,
.bq-pain h3,
.bq-product h3,
.ig-pain-row__copy h3,
.ig-spec h3,
.ig-product h3 {
  font-family: var(--sol-font-display);
  font-size: clamp(1.25rem, 2.2vw, 1.9rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.02em;
}

/* Card body copy */
.cg-pillar p,
.cg-pain__card p,
.cg-bento__item p,
.hg-card p,
.hg-pkg p,
.hg-body,
.ev-pillar p,
.ev-pkg p,
.bq-pain p,
.bq-product p,
.ig-pain-row__copy p,
.ig-spec p,
.ig-product p {
  font-size: var(--sol-body-size);
  line-height: 1.8;
}

/* Stat labels */
.cg-hero__stat-label,
.ev-stat-pill span,
.bq-hero__stat span,
.ig-hero__stat span {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Stat numbers */
.cg-hero__stat-num,
.ev-stat-pill strong,
.bq-hero__stat strong,
.ig-hero__stat strong,
.hg-cta__stat-num {
  font-family: var(--sol-font-display);
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* Form labels */
.cg-form label,
.hg-form label,
.ev-form label,
.bq-form label,
.ig-form label {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
