@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700;800&family=Poppins:wght@400;500;600;700&display=swap');

:root {
  --report-font-title: 'DM Sans', sans-serif;
  --report-font-body: 'Poppins', sans-serif;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--report-font-body) !important;
  font-size: 17px !important;
  line-height: 1.82 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
b,
th,
.cover-logo-text,
.logo-text,
.cover-tag,
.section-tag,
.cover-title,
.section-title,
.cover-stat-val,
.stat-val,
.stat-value,
.sv,
.scv,
.sc-val,
.step-num,
.step-title,
.cycle-title,
.comp-title,
.page-footer-brand,
.pfb,
.big-quote,
.fc-title,
.pipe-num,
.pipe-title,
.report-byline-label,
.report-author-name,
.report-author-org {
  font-family: var(--report-font-title) !important;
}

p,
li,
td,
.body,
.body-text,
.cover-desc,
.card-purple,
.cl-body,
.cycle-body,
.comp-items li,
.t td,
.matrix td,
.refs p,
.fc-body,
.market-box p,
.insight-card p,
.competitor-card p,
.value-hero p,
.value-conclusion p,
.ophir-position p,
.pillar p,
.step-body,
.pipe-sub,
.result-label,
.result-before,
.result-after,
.report-author-role,
.pfn,
.page-footer-num {
  font-family: var(--report-font-body) !important;
}

.cover,
.page {
  scroll-margin-top: 24px;
}

.cover {
  padding: 64px 72px !important;
}

.cover-body {
  max-width: 860px !important;
}

.page {
  max-width: 980px !important;
  padding: 88px 72px !important;
}

.cover-title {
  font-size: clamp(46px, 6vw, 72px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.02em;
}

.section-title {
  font-size: clamp(32px, 4.2vw, 44px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.015em;
}

.cover-desc,
.body-text,
.card-purple,
.cl-body,
.fc-body,
.step-body {
  font-size: 17px !important;
  line-height: 1.9 !important;
}

.cover-stat-val,
.stat-val,
.sc-val,
.scv,
.sv {
  font-size: clamp(40px, 4vw, 52px) !important;
}

.cover-tag,
.section-tag,
.report-byline-label,
.report-author-org {
  font-size: 12px !important;
  letter-spacing: 0.16em !important;
}

.cover-stat-label,
.stat-label,
.sl,
.scl,
.cfl,
.cfr,
.cl-label,
.comp-label,
.sc-label,
.badge,
.cover-footer-left,
.cover-footer-right,
.page-footer-num,
.pfn,
.refs p,
.pipe-sub,
.result-before,
.result-after {
  font-size: 12px !important;
  line-height: 1.65 !important;
}

.step-title,
.cycle-title,
.comp-title,
.fc-title,
.pipe-title,
.report-author-name {
  font-size: 18px !important;
  line-height: 1.35 !important;
}

.report-author-role {
  font-size: 14px !important;
  line-height: 1.75 !important;
}

.report-author-card {
  padding: 16px 18px !important;
  border-radius: 16px !important;
}

.t td,
.matrix td,
.comp-items li {
  font-size: 14px !important;
  line-height: 1.72 !important;
}

.t th,
.matrix th {
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
}

@media (max-width: 900px) {
  body {
    font-size: 16px !important;
  }

  .cover {
    padding: 38px 24px !important;
  }

  .page {
    max-width: 100% !important;
    padding: 52px 24px !important;
  }

  .cover-title {
    font-size: clamp(34px, 10vw, 48px) !important;
  }

  .section-title {
    font-size: clamp(28px, 8vw, 36px) !important;
  }

  .cover-desc,
  .body-text,
  .card-purple,
  .cl-body,
  .fc-body,
  .step-body {
    font-size: 16px !important;
  }
}
