/* VitaNova — design tokens (container, spacing, type, radii) */
:root {
  --container-max: 1280px;
  --container-gutter: 32px;

  --space-1: 8px;
  --space-2: 12px;
  --space-3: 16px;
  --space-4: 20px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 40px;

  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 16px;
  --radius-xl: 18px;
  --radius-pill: 999px;

  --font-body: "Montserrat", "Montserrat Fallback", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-heading: "Montserrat", "Montserrat Fallback", var(--font-body);

  --text-xs: 13px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: clamp(28px, 3.2vw, 36px);
  --text-display: clamp(32px, 4vw, 48px);

  --leading: 1.55;
  --leading-tight: 1.22;

  --btn-height: 44px;
  --btn-radius: var(--radius-md);
  --btn-weight: 600;
  --fw-max: 600;

  --section-y: 40px;
  --grid-gap: 16px;
  --card-pad: 20px;
  --card-radius: var(--radius-lg);

  --radius: var(--card-radius);
  --shadow-card: 0 2px 12px rgba(20, 45, 70, 0.04);
}

@media (max-width: 560px) {
  :root {
    --container-gutter: 20px;
    --section-y: 32px;
    --card-pad: 18px;
  }
}

body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--leading);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.logo,
.btn,
.section-head h2,
.eyebrow {
  font-family: var(--font-heading);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: var(--fw-max);
}

h1 {
  font-size: var(--text-display);
  line-height: 1.1;
  letter-spacing: -0.025em;
}

h2 {
  font-size: var(--text-xl);
  line-height: var(--leading-tight);
  letter-spacing: -0.02em;
}

h3 {
  font-size: 20px;
  line-height: var(--leading-tight);
}

strong, b, th, dt {
  font-weight: var(--fw-max);
}

.lead {
  font-size: var(--text-lg);
  line-height: var(--leading);
  color: var(--muted);
}

.container {
  width: min(var(--container-max), calc(100% - var(--container-gutter)));
  margin-inline: auto;
}

@font-face {
  font-family: "Montserrat Fallback";
  src: local("Arial"), local("Helvetica Neue");
  size-adjust: 102%;
  ascent-override: 96%;
  descent-override: 24%;
  line-gap-override: 0%;
}
