{
  "version": "1.0",
  "measurement": "75th percentile real-user data where available; otherwise repeatable lab median on defined mobile profile",
  "core": {
    "LCP_ms_max": 2500,
    "INP_ms_max": 200,
    "CLS_max": 0.1,
    "TTFB_ms_max": 800
  },
  "transfer_gzip": {
    "initial_javascript_kb_max": 180,
    "initial_css_kb_max": 60,
    "initial_html_kb_max": 100,
    "hero_media_kb_max": 250,
    "font_total_kb_max": 220
  },
  "requests": {
    "initial_third_party_max": 2,
    "initial_font_files_max": 2
  },
  "rules": [
    "No marketing tag may block first paint.",
    "Load analytics after consent and idle where possible.",
    "Reserve media dimensions to prevent layout shift.",
    "No autoplay video on initial load.",
    "Test EN, FR, and AR because font and copy costs differ."
  ]
}
