/* Refinamento tipográfico global
   Aproxima o site da leveza institucional da referência antiga da Bepass. */

:root {
  --font-primary: "Helvetica Neue", Inter, Arial, sans-serif;
  --font-heading-weight: 500;
  --font-accent-weight: 560;
  --font-strong-weight: 620;
  --font-number-weight: 650;
}

html,
body,
button,
input,
textarea,
select {
  font-family: var(--font-primary) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-weight: 400;
}

p,
li,
dd,
dt,
small,
.hero-copy,
.section-copy,
.card-copy,
.footer-copy,
[class*="description"],
[class*="excerpt"],
[class*="summary"] {
  font-weight: 400 !important;
}

h1,
h2,
h3,
.hero-title,
.section-title,
.privacy-hero h1,
.blog-hero h1,
.admin-hero h1,
[class*="headline"] {
  font-weight: var(--font-heading-weight) !important;
  letter-spacing: -0.048em;
}

.hero-title,
.hero h1,
.section-title,
.privacy-hero h1,
.blog-hero h1,
.admin-hero h1,
.stadium-detail-title,
.case-expanded-title {
  line-height: 0.94;
}

h4,
h5,
h6,
nav a,
button,
.btn,
.button,
[class*="button"],
[class*="btn"],
[class*="eyebrow"],
[class*="kicker"],
[class*="label"] {
  font-weight: var(--font-accent-weight) !important;
}

strong,
b {
  font-weight: var(--font-strong-weight) !important;
}

[class*="number"],
[class*="metric"],
[class*="stat"],
[class*="counter"],
[class*="amount"],
.stat-value,
.metric-value,
.case-number {
  font-weight: var(--font-number-weight) !important;
  letter-spacing: -0.04em;
}

.case-card h3,
.solution-card h3,
.article-card h3,
.stadium-list button,
.stadium-detail h3,
.footer h3,
.footer h4 {
  font-weight: 560 !important;
}

@media (max-width: 760px) {
  h1,
  h2,
  h3,
  .hero-title,
  .section-title,
  [class*="headline"] {
    letter-spacing: -0.04em;
  }

  .hero-title,
  .hero h1 {
    line-height: 0.96;
  }
}
