/* Shared responsive baseline for static pages */
:root {
  /* Semantic tokens — clamp mins halved vs prior (narrow viewports can scale down further) */
  --text-xs: clamp(4.5px, 0.9vw, 13px);
  --text-caption: clamp(6px, 1.1vw, 15px);
  --text-card-heading: clamp(7.5px, 1.575vw, 22.5px);
  --text-body-lead: clamp(7px, 1.7vw, 31px);
  --text-section-display: clamp(15px, 3.75vw, 57.5px);
  --text-trajectory-h2: clamp(12px, 3.2vw, 44px);
  --text-trajectory-body: clamp(6.5px, 1.35vw, 18px);
  --text-ghost-card-title: clamp(15px, 2.53125vw, 39.375px);
  --text-ghost-card-body: clamp(7.5px, 1.225vw, 17.5px);
  --text-closing-title: clamp(15px, 4.8vw, 84px);
  --text-hero-title: clamp(17px, 5.3vw, 62px);
  --text-hero-subtitle: clamp(7px, 1.8vw, 30px);
  --text-metric-value: clamp(12px, 3vw, 46px);
  --text-metric-label: clamp(6px, 1.15vw, 16px);
  --text-topbar: clamp(5px, 1vw, 14px);
  --text-brand: clamp(6.5px, 1.2vw, 18px);
  --text-ecosystem-caption: clamp(6.5px, 1.05vw, 16px);
  --text-placeholder: clamp(6px, 1vw, 14px);
  --text-cta: clamp(6.5px, 1.15vw, 18px);
}

html {
  overflow-x: hidden;
  font-size: clamp(14px, 0.8125rem + 0.45vw, 18px);
}

body {
  font-size: 1rem;
  line-height: 1.5;
}

img,
picture,
video,
svg {
  max-width: 100%;
  height: auto;
}
