/* HELooo Global Typography System v1.0 — V5.0-A.5 */
:root {
  --helooo-font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, system-ui, -apple-system, sans-serif;
  --helooo-font-xs: clamp(0.76rem, 0.74rem + 0.08vw, 0.84rem);
  --helooo-font-sm: clamp(0.86rem, 0.83rem + 0.12vw, 0.96rem);
  --helooo-font-md: clamp(0.98rem, 0.94rem + 0.16vw, 1.08rem);
  --helooo-font-lg: clamp(1.08rem, 1.00rem + 0.28vw, 1.24rem);
  --helooo-font-xl: clamp(1.30rem, 1.16rem + 0.50vw, 1.62rem);
  --helooo-font-2xl: clamp(1.62rem, 1.36rem + 0.82vw, 2.15rem);
  --helooo-font-3xl: clamp(2.00rem, 1.55rem + 1.45vw, 2.95rem);
  --helooo-font-hero: clamp(2.45rem, 1.80rem + 2.20vw, 4.00rem);
  --helooo-line-tight: 1.08;
  --helooo-line-heading: 1.16;
  --helooo-line-body: 1.52;
  --helooo-line-copy: 1.58;
  --helooo-weight-regular: 400;
  --helooo-weight-medium: 500;
  --helooo-weight-semibold: 600;
  --helooo-weight-bold: 700;
  --helooo-weight-heavy: 800;
  --helooo-text-gap-xs: 0.28rem;
  --helooo-text-gap-sm: 0.48rem;
  --helooo-text-gap-md: 0.78rem;
  --helooo-text-gap-lg: 1.05rem;
}

html {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  font-family: var(--helooo-font-family) !important;
  font-size: var(--helooo-font-md) !important;
  line-height: var(--helooo-line-body) !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,.h1,.page-title,.page-heading {
  font-size: var(--helooo-font-3xl) !important;
  line-height: var(--helooo-line-tight) !important;
  font-weight: var(--helooo-weight-bold) !important;
  margin-top: 0 !important;
  margin-bottom: var(--helooo-text-gap-md) !important;
}
.hero h1,.hero-title,.hero-heading,.display-title {
  font-size: var(--helooo-font-hero) !important;
  line-height: 1.04 !important;
  font-weight: var(--helooo-weight-heavy) !important;
  margin-top: 0 !important;
  margin-bottom: var(--helooo-text-gap-md) !important;
}
h2,.h2,.section-title,.section-heading {
  font-size: var(--helooo-font-2xl) !important;
  line-height: var(--helooo-line-heading) !important;
  font-weight: var(--helooo-weight-bold) !important;
  margin-top: 0 !important;
  margin-bottom: var(--helooo-text-gap-sm) !important;
}
h3,.h3,.card-title,.panel-title {
  font-size: var(--helooo-font-xl) !important;
  line-height: 1.22 !important;
  font-weight: var(--helooo-weight-bold) !important;
  margin-top: 0 !important;
  margin-bottom: var(--helooo-text-gap-sm) !important;
}
h4,.h4 {
  font-size: var(--helooo-font-lg) !important;
  line-height: 1.28 !important;
  font-weight: var(--helooo-weight-semibold) !important;
  margin-top: 0 !important;
  margin-bottom: var(--helooo-text-gap-xs) !important;
}
h5,h6 {
  font-size: var(--helooo-font-md) !important;
  line-height: 1.32 !important;
  font-weight: var(--helooo-weight-bold) !important;
  margin-top: 0 !important;
  margin-bottom: var(--helooo-text-gap-xs) !important;
}

p,li,dd,dt,blockquote,.body-text,.description,.copy,.content-text {
  font-size: var(--helooo-font-md) !important;
  line-height: var(--helooo-line-copy) !important;
}
p {
  margin-top: 0 !important;
  margin-bottom: var(--helooo-text-gap-md) !important;
}
.lead,.hero-copy,.hero-subtitle,.subtitle,.intro {
  font-size: var(--helooo-font-lg) !important;
  line-height: 1.48 !important;
}
small,.small,.meta,.metadata,.caption,.helper-text,.hint,.eyebrow,.kicker {
  font-size: var(--helooo-font-sm) !important;
  line-height: 1.38 !important;
}
.eyebrow,.kicker {
  font-weight: var(--helooo-weight-bold) !important;
  letter-spacing: 0.10em;
}

nav,.navbar,.nav,.nav-menu,.nav-links,.sidebar,.workspace-sidebar {
  font-size: var(--helooo-font-sm) !important;
}
nav a,.navbar a,.nav-link,.nav-item,.sidebar a,.workspace-sidebar a,.menu-item {
  font-size: var(--helooo-font-sm) !important;
  line-height: 1.25 !important;
  font-weight: var(--helooo-weight-medium) !important;
}

button,.button,.btn,[role="button"],input[type="button"],input[type="submit"],input[type="reset"] {
  font-family: var(--helooo-font-family) !important;
  font-size: var(--helooo-font-md) !important;
  line-height: 1.15 !important;
  font-weight: var(--helooo-weight-bold) !important;
}
input,select,textarea {
  font-family: var(--helooo-font-family) !important;
  font-size: var(--helooo-font-md) !important;
  line-height: 1.35 !important;
}
label,.form-label,.field-label {
  font-size: var(--helooo-font-sm) !important;
  line-height: 1.30 !important;
  font-weight: var(--helooo-weight-semibold) !important;
}

.card,.panel,.tile,.workspace-card,.dashboard-card,.metric-card,.kpi-card {
  font-size: var(--helooo-font-md) !important;
}
.metric-value,.kpi-value,.stat-value {
  font-size: var(--helooo-font-xl) !important;
  line-height: 1.1 !important;
  font-weight: var(--helooo-weight-bold) !important;
}
.metric-label,.kpi-label,.stat-label {
  font-size: var(--helooo-font-sm) !important;
  line-height: 1.3 !important;
}

table,thead,tbody,tfoot,th,td {
  font-size: var(--helooo-font-sm) !important;
  line-height: 1.38 !important;
}
th { font-weight: var(--helooo-weight-bold) !important; }

.text-xs { font-size: var(--helooo-font-xs) !important; }
.text-sm { font-size: var(--helooo-font-sm) !important; }
.text-body,.text-md { font-size: var(--helooo-font-md) !important; }
.text-lg { font-size: var(--helooo-font-lg) !important; }
.text-xl { font-size: var(--helooo-font-xl) !important; }
.text-2xl { font-size: var(--helooo-font-2xl) !important; }
.text-3xl { font-size: var(--helooo-font-3xl) !important; }
.text-hero { font-size: var(--helooo-font-hero) !important; }

section > :first-child,.card > :first-child,.panel > :first-child,.tile > :first-child {
  margin-top: 0 !important;
}
section > :last-child,.card > :last-child,.panel > :last-child,.tile > :last-child {
  margin-bottom: 0 !important;
}
ul,ol {
  margin-top: var(--helooo-text-gap-sm) !important;
  margin-bottom: var(--helooo-text-gap-md) !important;
}

@media (max-width: 900px) {
  body { font-size: 1rem !important; }
  h1,.h1,.page-title,.page-heading {
    font-size: clamp(2rem, 6.6vw, 2.65rem) !important;
  }
  .hero h1,.hero-title,.hero-heading,.display-title {
    font-size: clamp(2.20rem, 8.2vw, 3.00rem) !important;
  }
  h2,.h2,.section-title,.section-heading {
    font-size: clamp(1.60rem, 5.2vw, 2.05rem) !important;
  }
  h3,.h3,.card-title,.panel-title {
    font-size: clamp(1.25rem, 4vw, 1.55rem) !important;
  }
  nav a,.navbar a,.nav-link,.nav-item,.sidebar a,.workspace-sidebar a,.menu-item {
    font-size: 0.98rem !important;
  }
  button,.button,.btn,[role="button"],input,select,textarea {
    font-size: 1rem !important;
  }
  p,li,dd,dt,blockquote,.body-text,.description,.copy,.content-text {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }
}
@media (max-width: 640px) {
  .hero h1,.hero-title,.hero-heading,.display-title {
    font-size: clamp(2.05rem, 9vw, 2.70rem) !important;
  }
  h1,.h1,.page-title,.page-heading {
    font-size: clamp(1.85rem, 8vw, 2.35rem) !important;
  }
  h2,.h2,.section-title,.section-heading {
    font-size: clamp(1.45rem, 6vw, 1.90rem) !important;
  }
  .lead,.hero-copy,.hero-subtitle,.subtitle,.intro {
    font-size: 1.03rem !important;
  }
  small,.small,.meta,.metadata,.caption,.helper-text,.hint {
    font-size: 0.82rem !important;
  }
}

/* Marker: HELLOO_GLOBAL_TYPOGRAPHY_V5_0_A_5 */
