{
  "version": "1.0.0",
  "month": "2025-04",
  "published": "2025-04-05",
  "methodology_version": "v1",
  "disclaimer": "Single-forwarder benchmark (SINO Shipping). Calibrated monthly against FBX and Drewry WCI on overlapping lanes only — the ~14-16 emerging-markets lanes covered here have no public benchmark, which is precisely the gap this tracker fills.",
  "clusters": [
    {
      "id": "latam-nearshoring",
      "name": "LATAM nearshoring",
      "tagline": "Pacific Alliance + Atlantic alt-ports, Chancay megaport spillover",
      "lanes": [
        "china-brazil",
        "china-mexico",
        "china-chile",
        "china-peru",
        "china-colombia",
        "china-ecuador",
        "china-argentina"
      ]
    },
    {
      "id": "iberian-gateway",
      "name": "Iberian gateway",
      "tagline": "Algeciras / Valencia / Sines — Southern Europe transshipment to Iberia, North Africa and Atlantic re-export",
      "lanes": [
        "china-spain",
        "china-portugal"
      ]
    }
  ],
  "countries": [
    {
      "slug": "argentina",
      "rates": {
        "sea_20gp_usd": [
          1350,
          1650
        ],
        "sea_40gp_usd": [
          2150,
          2650
        ],
        "sea_lcl_usd_cbm": 96,
        "air_perkg_usd": 9.2,
        "express_perkg_usd": 14.75,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          32,
          40
        ],
        "air": [
          3,
          4
        ],
        "rail": null,
        "express": [
          3,
          5
        ],
        "lcl": [
          11,
          18
        ]
      },
      "mom_delta": {
        "sea_40gp": -7.69,
        "sea_20gp": -7.69,
        "air": -2.13,
        "express": -1.67,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          3400,
          3500,
          3675,
          3850,
          3375,
          2600,
          2400
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          10.15,
          10.25,
          10.4,
          10.6,
          10.15,
          9.4,
          9.2
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          16.25,
          16.45,
          16.65,
          16.95,
          16.2,
          15,
          14.75
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      }
    },
    {
      "slug": "bolivia",
      "rates": {
        "sea_20gp_usd": [
          1550,
          1900
        ],
        "sea_40gp_usd": [
          2500,
          3050
        ],
        "sea_lcl_usd_cbm": 114,
        "air_perkg_usd": 9.4,
        "express_perkg_usd": 15.05,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          35,
          42
        ],
        "air": [
          4,
          6
        ],
        "rail": null,
        "express": [
          3,
          5
        ],
        "lcl": [
          11,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": -5.93,
        "sea_20gp": -5.48,
        "air": -2.08,
        "express": -1.95,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825,
          2950,
          2775
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35,
          9.6,
          9.4
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55,
          15.35,
          15.05
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      }
    },
    {
      "slug": "brazil",
      "rates": {
        "sea_20gp_usd": [
          1450,
          1750
        ],
        "sea_40gp_usd": [
          2250,
          2750
        ],
        "sea_lcl_usd_cbm": 76,
        "air_perkg_usd": 9,
        "express_perkg_usd": 14.4,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          30,
          38
        ],
        "air": [
          3,
          4
        ],
        "rail": null,
        "express": [
          3,
          5
        ],
        "lcl": [
          9,
          17
        ]
      },
      "mom_delta": {
        "sea_40gp": -6.54,
        "sea_20gp": -7.25,
        "air": -1.64,
        "express": -2.04,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          3550,
          3675,
          3825,
          4000,
          3500,
          2675,
          2500
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9,
          9.15,
          9
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85,
          14.7,
          14.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      }
    },
    {
      "slug": "chile",
      "rates": {
        "sea_20gp_usd": [
          1700,
          2100
        ],
        "sea_40gp_usd": [
          2700,
          3300
        ],
        "sea_lcl_usd_cbm": 134,
        "air_perkg_usd": 6.8,
        "express_perkg_usd": 10.9,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          10,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": -6.98,
        "sea_20gp": -7.32,
        "air": -2.16,
        "express": -1.8,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225,
          3225,
          3000
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          7.5,
          7.6,
          7.7,
          7.85,
          7.5,
          6.95,
          6.8
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          12.05,
          12.15,
          12.3,
          12.5,
          12,
          11.1,
          10.9
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      }
    },
    {
      "slug": "colombia",
      "rates": {
        "sea_20gp_usd": [
          1700,
          2100
        ],
        "sea_40gp_usd": [
          2700,
          3300
        ],
        "sea_lcl_usd_cbm": 134,
        "air_perkg_usd": 9,
        "express_perkg_usd": 14.4,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          25,
          32
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          11,
          17
        ]
      },
      "mom_delta": {
        "sea_40gp": -6.98,
        "sea_20gp": -7.32,
        "air": -1.64,
        "express": -2.04,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225,
          3225,
          3000
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9,
          9.15,
          9
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85,
          14.7,
          14.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      }
    },
    {
      "slug": "costa-rica",
      "rates": {
        "sea_20gp_usd": [
          1850,
          2250
        ],
        "sea_40gp_usd": [
          2950,
          3600
        ],
        "sea_lcl_usd_cbm": 138,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.55,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          20,
          28
        ],
        "air": [
          3,
          4
        ],
        "rail": [
          7,
          10
        ],
        "express": [
          3,
          5
        ],
        "lcl": [
          9,
          19
        ]
      },
      "mom_delta": {
        "sea_40gp": -11.49,
        "sea_20gp": -11.83,
        "air": 2.11,
        "express": 1.97,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff adjustment",
            "icon": "alert",
            "status": "tighter",
            "text": "Trade policy uncertainty — supply chains restructuring"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "stable",
            "text": "Overcapacity driving rates down — negotiate aggressively"
          },
          {
            "label": "Capacity surplus",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume on transpacific"
          },
          {
            "label": "Nearshoring trend",
            "icon": "info",
            "status": "normal",
            "text": "More sourcing shifting to Mexico and Southeast Asia"
          }
        ]
      }
    },
    {
      "slug": "cuba",
      "rates": {
        "sea_20gp_usd": [
          4650,
          5700
        ],
        "sea_40gp_usd": [
          7500,
          9150
        ],
        "sea_lcl_usd_cbm": 325,
        "air_perkg_usd": 10.25,
        "express_perkg_usd": 16.35,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          4,
          7
        ],
        "rail": [
          6,
          8
        ],
        "express": [
          2,
          4
        ],
        "lcl": [
          9,
          15
        ]
      },
      "mom_delta": {
        "sea_40gp": -11.44,
        "sea_20gp": -11.54,
        "air": 2.5,
        "express": 1.87,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          14500,
          14375,
          14300,
          16000,
          14450,
          9400,
          8325
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          12.3,
          12.2,
          12.2,
          12.75,
          12.25,
          10,
          10.25
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          19.65,
          19.55,
          19.55,
          20.4,
          19.6,
          16.05,
          16.35
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff adjustment",
            "icon": "alert",
            "status": "tighter",
            "text": "Trade policy uncertainty — supply chains restructuring"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "stable",
            "text": "Overcapacity driving rates down — negotiate aggressively"
          },
          {
            "label": "Capacity surplus",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume on transpacific"
          },
          {
            "label": "Nearshoring trend",
            "icon": "info",
            "status": "normal",
            "text": "More sourcing shifting to Mexico and Southeast Asia"
          }
        ]
      }
    },
    {
      "slug": "dominican-republic",
      "rates": {
        "sea_20gp_usd": [
          4650,
          5700
        ],
        "sea_40gp_usd": [
          7500,
          9150
        ],
        "sea_lcl_usd_cbm": 325,
        "air_perkg_usd": 10.25,
        "express_perkg_usd": 16.35,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          25,
          32
        ],
        "air": [
          3,
          6
        ],
        "rail": [
          6,
          9
        ],
        "express": [
          2,
          4
        ],
        "lcl": [
          10,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": -11.44,
        "sea_20gp": -11.54,
        "air": 2.5,
        "express": 1.87,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          14500,
          14375,
          14300,
          16000,
          14450,
          9400,
          8325
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          12.3,
          12.2,
          12.2,
          12.75,
          12.25,
          10,
          10.25
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          19.65,
          19.55,
          19.55,
          20.4,
          19.6,
          16.05,
          16.35
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff adjustment",
            "icon": "alert",
            "status": "tighter",
            "text": "Trade policy uncertainty — supply chains restructuring"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "stable",
            "text": "Overcapacity driving rates down — negotiate aggressively"
          },
          {
            "label": "Capacity surplus",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume on transpacific"
          },
          {
            "label": "Nearshoring trend",
            "icon": "info",
            "status": "normal",
            "text": "More sourcing shifting to Mexico and Southeast Asia"
          }
        ]
      }
    },
    {
      "slug": "ecuador",
      "rates": {
        "sea_20gp_usd": [
          1700,
          2100
        ],
        "sea_40gp_usd": [
          2700,
          3300
        ],
        "sea_lcl_usd_cbm": 134,
        "air_perkg_usd": 9,
        "express_perkg_usd": 14.4,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          9,
          18
        ]
      },
      "mom_delta": {
        "sea_40gp": -6.98,
        "sea_20gp": -7.32,
        "air": -1.64,
        "express": -2.04,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225,
          3225,
          3000
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9,
          9.15,
          9
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85,
          14.7,
          14.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      }
    },
    {
      "slug": "el-salvador",
      "rates": {
        "sea_20gp_usd": [
          1850,
          2250
        ],
        "sea_40gp_usd": [
          2950,
          3600
        ],
        "sea_lcl_usd_cbm": 138,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.55,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          20,
          28
        ],
        "air": [
          2,
          4
        ],
        "rail": [
          5,
          8
        ],
        "express": [
          2,
          5
        ],
        "lcl": [
          11,
          18
        ]
      },
      "mom_delta": {
        "sea_40gp": -11.49,
        "sea_20gp": -11.83,
        "air": 2.11,
        "express": 1.97,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff adjustment",
            "icon": "alert",
            "status": "tighter",
            "text": "Trade policy uncertainty — supply chains restructuring"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "stable",
            "text": "Overcapacity driving rates down — negotiate aggressively"
          },
          {
            "label": "Capacity surplus",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume on transpacific"
          },
          {
            "label": "Nearshoring trend",
            "icon": "info",
            "status": "normal",
            "text": "More sourcing shifting to Mexico and Southeast Asia"
          }
        ]
      }
    },
    {
      "slug": "guatemala",
      "rates": {
        "sea_20gp_usd": [
          1850,
          2250
        ],
        "sea_40gp_usd": [
          2950,
          3600
        ],
        "sea_lcl_usd_cbm": 138,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.55,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          20,
          28
        ],
        "air": [
          3,
          4
        ],
        "rail": [
          5,
          6
        ],
        "express": [
          3,
          5
        ],
        "lcl": [
          9,
          17
        ]
      },
      "mom_delta": {
        "sea_40gp": -11.49,
        "sea_20gp": -11.83,
        "air": 2.11,
        "express": 1.97,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff adjustment",
            "icon": "alert",
            "status": "tighter",
            "text": "Trade policy uncertainty — supply chains restructuring"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "stable",
            "text": "Overcapacity driving rates down — negotiate aggressively"
          },
          {
            "label": "Capacity surplus",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume on transpacific"
          },
          {
            "label": "Nearshoring trend",
            "icon": "info",
            "status": "normal",
            "text": "More sourcing shifting to Mexico and Southeast Asia"
          }
        ]
      }
    },
    {
      "slug": "guyana",
      "rates": {
        "sea_20gp_usd": [
          1550,
          1900
        ],
        "sea_40gp_usd": [
          2500,
          3050
        ],
        "sea_lcl_usd_cbm": 114,
        "air_perkg_usd": 9.4,
        "express_perkg_usd": 15.05,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          30,
          38
        ],
        "air": [
          4,
          6
        ],
        "rail": null,
        "express": [
          3,
          5
        ],
        "lcl": [
          12,
          19
        ]
      },
      "mom_delta": {
        "sea_40gp": -5.93,
        "sea_20gp": -5.48,
        "air": -2.08,
        "express": -1.95,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825,
          2950,
          2775
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35,
          9.6,
          9.4
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55,
          15.35,
          15.05
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      }
    },
    {
      "slug": "haiti",
      "rates": {
        "sea_20gp_usd": [
          4650,
          5700
        ],
        "sea_40gp_usd": [
          7500,
          9150
        ],
        "sea_lcl_usd_cbm": 325,
        "air_perkg_usd": 10.25,
        "express_perkg_usd": 16.35,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          10,
          15
        ],
        "air": [
          2,
          3
        ],
        "rail": [
          6,
          8
        ],
        "express": [
          2,
          4
        ],
        "lcl": [
          11,
          19
        ]
      },
      "mom_delta": {
        "sea_40gp": -11.44,
        "sea_20gp": -11.54,
        "air": 2.5,
        "express": 1.87,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          14500,
          14375,
          14300,
          16000,
          14450,
          9400,
          8325
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          12.3,
          12.2,
          12.2,
          12.75,
          12.25,
          10,
          10.25
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          19.65,
          19.55,
          19.55,
          20.4,
          19.6,
          16.05,
          16.35
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff adjustment",
            "icon": "alert",
            "status": "tighter",
            "text": "Trade policy uncertainty — supply chains restructuring"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "stable",
            "text": "Overcapacity driving rates down — negotiate aggressively"
          },
          {
            "label": "Capacity surplus",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume on transpacific"
          },
          {
            "label": "Nearshoring trend",
            "icon": "info",
            "status": "normal",
            "text": "More sourcing shifting to Mexico and Southeast Asia"
          }
        ]
      }
    },
    {
      "slug": "honduras",
      "rates": {
        "sea_20gp_usd": [
          1850,
          2250
        ],
        "sea_40gp_usd": [
          2950,
          3600
        ],
        "sea_lcl_usd_cbm": 138,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.55,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          20,
          28
        ],
        "air": [
          3,
          4
        ],
        "rail": [
          6,
          9
        ],
        "express": [
          3,
          5
        ],
        "lcl": [
          11,
          19
        ]
      },
      "mom_delta": {
        "sea_40gp": -11.49,
        "sea_20gp": -11.83,
        "air": 2.11,
        "express": 1.97,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff adjustment",
            "icon": "alert",
            "status": "tighter",
            "text": "Trade policy uncertainty — supply chains restructuring"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "stable",
            "text": "Overcapacity driving rates down — negotiate aggressively"
          },
          {
            "label": "Capacity surplus",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume on transpacific"
          },
          {
            "label": "Nearshoring trend",
            "icon": "info",
            "status": "normal",
            "text": "More sourcing shifting to Mexico and Southeast Asia"
          }
        ]
      }
    },
    {
      "slug": "jamaica",
      "rates": {
        "sea_20gp_usd": [
          4650,
          5700
        ],
        "sea_40gp_usd": [
          7500,
          9150
        ],
        "sea_lcl_usd_cbm": 325,
        "air_perkg_usd": 10.25,
        "express_perkg_usd": 16.35,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          25,
          32
        ],
        "air": [
          3,
          6
        ],
        "rail": [
          5,
          9
        ],
        "express": [
          2,
          4
        ],
        "lcl": [
          10,
          18
        ]
      },
      "mom_delta": {
        "sea_40gp": -11.44,
        "sea_20gp": -11.54,
        "air": 2.5,
        "express": 1.87,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          14500,
          14375,
          14300,
          16000,
          14450,
          9400,
          8325
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          12.3,
          12.2,
          12.2,
          12.75,
          12.25,
          10,
          10.25
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          19.65,
          19.55,
          19.55,
          20.4,
          19.6,
          16.05,
          16.35
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff adjustment",
            "icon": "alert",
            "status": "tighter",
            "text": "Trade policy uncertainty — supply chains restructuring"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "stable",
            "text": "Overcapacity driving rates down — negotiate aggressively"
          },
          {
            "label": "Capacity surplus",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume on transpacific"
          },
          {
            "label": "Nearshoring trend",
            "icon": "info",
            "status": "normal",
            "text": "More sourcing shifting to Mexico and Southeast Asia"
          }
        ]
      }
    },
    {
      "slug": "mexico",
      "rates": {
        "sea_20gp_usd": [
          1850,
          2250
        ],
        "sea_40gp_usd": [
          2950,
          3600
        ],
        "sea_lcl_usd_cbm": 138,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.55,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          18,
          25
        ],
        "air": [
          3,
          4
        ],
        "rail": [
          6,
          9
        ],
        "express": [
          3,
          5
        ],
        "lcl": [
          11,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": -11.49,
        "sea_20gp": -11.83,
        "air": 2.11,
        "express": 1.97,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff adjustment",
            "icon": "alert",
            "status": "tighter",
            "text": "Trade policy uncertainty — supply chains restructuring"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "stable",
            "text": "Overcapacity driving rates down — negotiate aggressively"
          },
          {
            "label": "Capacity surplus",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume on transpacific"
          },
          {
            "label": "Nearshoring trend",
            "icon": "info",
            "status": "normal",
            "text": "More sourcing shifting to Mexico and Southeast Asia"
          }
        ]
      }
    },
    {
      "slug": "nicaragua",
      "rates": {
        "sea_20gp_usd": [
          1850,
          2250
        ],
        "sea_40gp_usd": [
          2950,
          3600
        ],
        "sea_lcl_usd_cbm": 138,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.55,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          20,
          28
        ],
        "air": [
          3,
          4
        ],
        "rail": [
          5,
          8
        ],
        "express": [
          3,
          5
        ],
        "lcl": [
          10,
          17
        ]
      },
      "mom_delta": {
        "sea_40gp": -11.49,
        "sea_20gp": -11.83,
        "air": 2.11,
        "express": 1.97,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff adjustment",
            "icon": "alert",
            "status": "tighter",
            "text": "Trade policy uncertainty — supply chains restructuring"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "stable",
            "text": "Overcapacity driving rates down — negotiate aggressively"
          },
          {
            "label": "Capacity surplus",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume on transpacific"
          },
          {
            "label": "Nearshoring trend",
            "icon": "info",
            "status": "normal",
            "text": "More sourcing shifting to Mexico and Southeast Asia"
          }
        ]
      }
    },
    {
      "slug": "panama",
      "rates": {
        "sea_20gp_usd": [
          1850,
          2250
        ],
        "sea_40gp_usd": [
          2950,
          3600
        ],
        "sea_lcl_usd_cbm": 138,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.55,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          18,
          25
        ],
        "air": [
          2,
          4
        ],
        "rail": [
          6,
          7
        ],
        "express": [
          2,
          5
        ],
        "lcl": [
          11,
          18
        ]
      },
      "mom_delta": {
        "sea_40gp": -11.49,
        "sea_20gp": -11.83,
        "air": 2.11,
        "express": 1.97,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff adjustment",
            "icon": "alert",
            "status": "tighter",
            "text": "Trade policy uncertainty — supply chains restructuring"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "stable",
            "text": "Overcapacity driving rates down — negotiate aggressively"
          },
          {
            "label": "Capacity surplus",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume on transpacific"
          },
          {
            "label": "Nearshoring trend",
            "icon": "info",
            "status": "normal",
            "text": "More sourcing shifting to Mexico and Southeast Asia"
          }
        ]
      }
    },
    {
      "slug": "paraguay",
      "rates": {
        "sea_20gp_usd": [
          1550,
          1900
        ],
        "sea_40gp_usd": [
          2500,
          3050
        ],
        "sea_lcl_usd_cbm": 114,
        "air_perkg_usd": 9.4,
        "express_perkg_usd": 15.05,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          35,
          42
        ],
        "air": [
          4,
          6
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          11,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": -5.93,
        "sea_20gp": -5.48,
        "air": -2.08,
        "express": -1.95,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825,
          2950,
          2775
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35,
          9.6,
          9.4
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55,
          15.35,
          15.05
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      }
    },
    {
      "slug": "peru",
      "rates": {
        "sea_20gp_usd": [
          1550,
          1900
        ],
        "sea_40gp_usd": [
          2500,
          3050
        ],
        "sea_lcl_usd_cbm": 114,
        "air_perkg_usd": 9.4,
        "express_perkg_usd": 15.05,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          4
        ],
        "lcl": [
          11,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": -5.93,
        "sea_20gp": -5.48,
        "air": -2.08,
        "express": -1.95,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825,
          2950,
          2775
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35,
          9.6,
          9.4
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55,
          15.35,
          15.05
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      }
    },
    {
      "slug": "portugal",
      "rates": {
        "sea_20gp_usd": [
          2450,
          3000
        ],
        "sea_40gp_usd": [
          3950,
          4800
        ],
        "sea_lcl_usd_cbm": 49,
        "air_perkg_usd": 7.75,
        "express_perkg_usd": 12.4,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          25,
          26
        ],
        "air": [
          5,
          7
        ],
        "rail": [
          12,
          13
        ],
        "express": [
          5,
          8
        ],
        "lcl": [
          26,
          30
        ]
      },
      "mom_delta": {
        "sea_40gp": -20.45,
        "sea_20gp": -21.01,
        "air": -7.74,
        "express": -7.46,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          7325,
          7050,
          8275,
          8550,
          6825,
          5500,
          4375
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          9.45,
          9.3,
          10,
          10.15,
          9.15,
          8.4,
          7.75
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          15.1,
          14.9,
          16,
          16.25,
          14.65,
          13.4,
          12.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate decline",
            "icon": "chart",
            "status": "stable",
            "text": "Rates continuing downward — buyer's market for European imports"
          },
          {
            "label": "Red Sea",
            "icon": "alert",
            "status": "tighter",
            "text": "Cape routing ongoing — transit time premium stable"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "New vessel deliveries increasing capacity — rates under pressure"
          },
          {
            "label": "EU ETS cost",
            "icon": "info",
            "status": "normal",
            "text": "EU Emissions Trading System surcharges now standard on European routes"
          }
        ]
      }
    },
    {
      "slug": "spain",
      "rates": {
        "sea_20gp_usd": [
          3150,
          3850
        ],
        "sea_40gp_usd": [
          4750,
          5800
        ],
        "sea_lcl_usd_cbm": 128,
        "air_perkg_usd": 8.15,
        "express_perkg_usd": 13.05,
        "rail_20gp_usd": [
          4450,
          5450
        ],
        "rail_40gp_usd": [
          6500,
          7950
        ],
        "rail_lcl_usd_cbm": 225
      },
      "transit_days": {
        "sea": [
          25,
          31
        ],
        "air": [
          5,
          7
        ],
        "rail": [
          13,
          18
        ],
        "express": [
          5,
          8
        ],
        "lcl": [
          26,
          35
        ]
      },
      "mom_delta": {
        "sea_40gp": -20.08,
        "sea_20gp": -20,
        "air": -7.39,
        "express": -7.45,
        "rail_40gp": -1.7
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          8800,
          8500,
          9950,
          10275,
          8175,
          6600,
          5275
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          9.95,
          9.8,
          10.55,
          10.7,
          9.65,
          8.8,
          8.15
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          15.9,
          15.65,
          16.85,
          17.15,
          15.4,
          14.1,
          13.05
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate decline",
            "icon": "chart",
            "status": "stable",
            "text": "Rates continuing downward — buyer's market for European imports"
          },
          {
            "label": "Red Sea",
            "icon": "alert",
            "status": "tighter",
            "text": "Cape routing ongoing — transit time premium stable"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "New vessel deliveries increasing capacity — rates under pressure"
          },
          {
            "label": "EU ETS cost",
            "icon": "info",
            "status": "normal",
            "text": "EU Emissions Trading System surcharges now standard on European routes"
          }
        ]
      }
    },
    {
      "slug": "suriname",
      "rates": {
        "sea_20gp_usd": [
          1550,
          1900
        ],
        "sea_40gp_usd": [
          2500,
          3050
        ],
        "sea_lcl_usd_cbm": 114,
        "air_perkg_usd": 9.4,
        "express_perkg_usd": 15.05,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          30,
          38
        ],
        "air": [
          4,
          6
        ],
        "rail": null,
        "express": [
          3,
          5
        ],
        "lcl": [
          11,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": -5.93,
        "sea_20gp": -5.48,
        "air": -2.08,
        "express": -1.95,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825,
          2950,
          2775
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35,
          9.6,
          9.4
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55,
          15.35,
          15.05
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      }
    },
    {
      "slug": "trinidad-and-tobago",
      "rates": {
        "sea_20gp_usd": [
          4650,
          5700
        ],
        "sea_40gp_usd": [
          7500,
          9150
        ],
        "sea_lcl_usd_cbm": 325,
        "air_perkg_usd": 10.25,
        "express_perkg_usd": 16.35,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          9,
          13
        ],
        "air": [
          3,
          4
        ],
        "rail": [
          6,
          9
        ],
        "express": [
          3,
          5
        ],
        "lcl": [
          10,
          17
        ]
      },
      "mom_delta": {
        "sea_40gp": -11.44,
        "sea_20gp": -11.54,
        "air": 2.5,
        "express": 1.87,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          14500,
          14375,
          14300,
          16000,
          14450,
          9400,
          8325
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          12.3,
          12.2,
          12.2,
          12.75,
          12.25,
          10,
          10.25
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          19.65,
          19.55,
          19.55,
          20.4,
          19.6,
          16.05,
          16.35
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff adjustment",
            "icon": "alert",
            "status": "tighter",
            "text": "Trade policy uncertainty — supply chains restructuring"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "stable",
            "text": "Overcapacity driving rates down — negotiate aggressively"
          },
          {
            "label": "Capacity surplus",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume on transpacific"
          },
          {
            "label": "Nearshoring trend",
            "icon": "info",
            "status": "normal",
            "text": "More sourcing shifting to Mexico and Southeast Asia"
          }
        ]
      }
    },
    {
      "slug": "uruguay",
      "rates": {
        "sea_20gp_usd": [
          1400,
          1750
        ],
        "sea_40gp_usd": [
          2250,
          2750
        ],
        "sea_lcl_usd_cbm": 110,
        "air_perkg_usd": 11,
        "express_perkg_usd": 17.65,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          32,
          40
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          10,
          15
        ]
      },
      "mom_delta": {
        "sea_40gp": -6.54,
        "sea_20gp": -5.97,
        "air": -1.79,
        "express": -1.67,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          3550,
          3675,
          3825,
          4000,
          3500,
          2675,
          2500
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          12.15,
          12.3,
          12.45,
          12.65,
          12.1,
          11.2,
          11
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          19.45,
          19.65,
          19.95,
          20.25,
          19.4,
          17.95,
          17.65
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      }
    },
    {
      "slug": "venezuela",
      "rates": {
        "sea_20gp_usd": [
          1550,
          1900
        ],
        "sea_40gp_usd": [
          2500,
          3050
        ],
        "sea_lcl_usd_cbm": 114,
        "air_perkg_usd": 9.4,
        "express_perkg_usd": 15.05,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          11,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": -5.93,
        "sea_20gp": -5.48,
        "air": -2.08,
        "express": -1.95,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825,
          2950,
          2775
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35,
          9.6,
          9.4
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55,
          15.35,
          15.05
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      }
    }
  ],
  "pool_lanes": [
    {
      "id": "china-brazil",
      "country_slug": "brazil",
      "country_name": "Brazil",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Ningbo (sea via Santos)",
      "narrative_angle": "Largest LATAM gateway — Santos congestion + China auto manufacturing investment surge",
      "search_demand": "H",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America East Coast (FBX)",
      "country_guide_path": "/country-guides/freight-from-china-to-brazil/",
      "rates": {
        "sea_20gp_usd": [
          1450,
          1750
        ],
        "sea_40gp_usd": [
          2250,
          2750
        ],
        "sea_lcl_usd_cbm": 76,
        "air_perkg_usd": 9,
        "express_perkg_usd": 14.4,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          30,
          38
        ],
        "air": [
          3,
          4
        ],
        "rail": null,
        "express": [
          3,
          5
        ],
        "lcl": [
          9,
          17
        ]
      },
      "mom_delta": {
        "sea_40gp": -6.54,
        "sea_20gp": -7.25,
        "air": -1.64,
        "express": -2.04,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          3550,
          3675,
          3825,
          4000,
          3500,
          2675,
          2500
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9,
          9.15,
          9
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85,
          14.7,
          14.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-mexico",
      "country_slug": "mexico",
      "country_name": "Mexico",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Shenzhen (sea via Manzanillo)",
      "narrative_angle": "Nearshoring beneficiary — Manzanillo + Lazaro Cardenas + US-Mexico trade corridor",
      "search_demand": "H",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → North America West Coast (FBX, partial proxy)",
      "country_guide_path": "/freight-china-mexico/",
      "rates": {
        "sea_20gp_usd": [
          1850,
          2250
        ],
        "sea_40gp_usd": [
          2950,
          3600
        ],
        "sea_lcl_usd_cbm": 138,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.55,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          18,
          25
        ],
        "air": [
          3,
          4
        ],
        "rail": [
          6,
          9
        ],
        "express": [
          3,
          5
        ],
        "lcl": [
          11,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": -11.49,
        "sea_20gp": -11.83,
        "air": 2.11,
        "express": 1.97,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff adjustment",
            "icon": "alert",
            "status": "tighter",
            "text": "Trade policy uncertainty — supply chains restructuring"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "stable",
            "text": "Overcapacity driving rates down — negotiate aggressively"
          },
          {
            "label": "Capacity surplus",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume on transpacific"
          },
          {
            "label": "Nearshoring trend",
            "icon": "info",
            "status": "normal",
            "text": "More sourcing shifting to Mexico and Southeast Asia"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-chile",
      "country_slug": "chile",
      "country_name": "Chile",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Shanghai (sea via Valparaiso)",
      "narrative_angle": "Copper exporter / lithium triangle gateway via Valparaiso",
      "search_demand": "M",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America West Coast (FBX)",
      "country_guide_path": null,
      "rates": {
        "sea_20gp_usd": [
          1700,
          2100
        ],
        "sea_40gp_usd": [
          2700,
          3300
        ],
        "sea_lcl_usd_cbm": 134,
        "air_perkg_usd": 6.8,
        "express_perkg_usd": 10.9,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          10,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": -6.98,
        "sea_20gp": -7.32,
        "air": -2.16,
        "express": -1.8,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225,
          3225,
          3000
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          7.5,
          7.6,
          7.7,
          7.85,
          7.5,
          6.95,
          6.8
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          12.05,
          12.15,
          12.3,
          12.5,
          12,
          11.1,
          10.9
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-peru",
      "country_slug": "peru",
      "country_name": "Peru",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Shanghai (sea via Chancay/Callao)",
      "narrative_angle": "Chancay megaport just opened — first Chinese-built deep-sea hub on Pacific coast",
      "search_demand": "H",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America West Coast (FBX)",
      "country_guide_path": "/shipping-from-china-to-peru/",
      "rates": {
        "sea_20gp_usd": [
          1550,
          1900
        ],
        "sea_40gp_usd": [
          2500,
          3050
        ],
        "sea_lcl_usd_cbm": 114,
        "air_perkg_usd": 9.4,
        "express_perkg_usd": 15.05,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          4
        ],
        "lcl": [
          11,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": -5.93,
        "sea_20gp": -5.48,
        "air": -2.08,
        "express": -1.95,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825,
          2950,
          2775
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35,
          9.6,
          9.4
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55,
          15.35,
          15.05
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-colombia",
      "country_slug": "colombia",
      "country_name": "Colombia",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Shenzhen (sea via Buenaventura)",
      "narrative_angle": "Buenaventura main gateway, Caribbean access via Cartagena",
      "search_demand": "M",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America West Coast (FBX)",
      "country_guide_path": "/freight-china-colombia/",
      "rates": {
        "sea_20gp_usd": [
          1700,
          2100
        ],
        "sea_40gp_usd": [
          2700,
          3300
        ],
        "sea_lcl_usd_cbm": 134,
        "air_perkg_usd": 9,
        "express_perkg_usd": 14.4,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          25,
          32
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          11,
          17
        ]
      },
      "mom_delta": {
        "sea_40gp": -6.98,
        "sea_20gp": -7.32,
        "air": -1.64,
        "express": -2.04,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225,
          3225,
          3000
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9,
          9.15,
          9
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85,
          14.7,
          14.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-ecuador",
      "country_slug": "ecuador",
      "country_name": "Ecuador",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Shanghai (sea via Guayaquil)",
      "narrative_angle": "Banana exporter, USD-economy, Guayaquil dredging",
      "search_demand": "L",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America West Coast (FBX)",
      "country_guide_path": "/freight-china-ecuador/",
      "rates": {
        "sea_20gp_usd": [
          1700,
          2100
        ],
        "sea_40gp_usd": [
          2700,
          3300
        ],
        "sea_lcl_usd_cbm": 134,
        "air_perkg_usd": 9,
        "express_perkg_usd": 14.4,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          9,
          18
        ]
      },
      "mom_delta": {
        "sea_40gp": -6.98,
        "sea_20gp": -7.32,
        "air": -1.64,
        "express": -2.04,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225,
          3225,
          3000
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9,
          9.15,
          9
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85,
          14.7,
          14.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-argentina",
      "country_slug": "argentina",
      "country_name": "Argentina",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Ningbo (sea via Buenos Aires)",
      "narrative_angle": "Buenos Aires gateway — commodity exporter, FX-volatile demand cycles",
      "search_demand": "M",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America East Coast (FBX)",
      "country_guide_path": null,
      "rates": {
        "sea_20gp_usd": [
          1350,
          1650
        ],
        "sea_40gp_usd": [
          2150,
          2650
        ],
        "sea_lcl_usd_cbm": 96,
        "air_perkg_usd": 9.2,
        "express_perkg_usd": 14.75,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          32,
          40
        ],
        "air": [
          3,
          4
        ],
        "rail": null,
        "express": [
          3,
          5
        ],
        "lcl": [
          11,
          18
        ]
      },
      "mom_delta": {
        "sea_40gp": -7.69,
        "sea_20gp": -7.69,
        "air": -2.13,
        "express": -1.67,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          3400,
          3500,
          3675,
          3850,
          3375,
          2600,
          2400
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          10.15,
          10.25,
          10.4,
          10.6,
          10.15,
          9.4,
          9.2
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          16.25,
          16.45,
          16.65,
          16.95,
          16.2,
          15,
          14.75
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate soft",
            "icon": "chart",
            "status": "stable",
            "text": "Rates at multi-month lows — good time to ship"
          },
          {
            "label": "Carrier competition",
            "icon": "container",
            "status": "stable",
            "text": "Multiple options available — compare quotes"
          },
          {
            "label": "Harvest exports",
            "icon": "info",
            "status": "normal",
            "text": "Agricultural export season keeping some reefer space tight"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-spain",
      "country_slug": "spain",
      "country_name": "Spain",
      "cluster": "iberian-gateway",
      "primary_mode": "sea",
      "recommended_origin": "Shanghai (sea via Algeciras / Valencia)",
      "narrative_angle": "Algeciras / Valencia hub for Iberia + North Africa transshipment",
      "search_demand": "H",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → North Europe / Med (FBX, Med proxy)",
      "country_guide_path": null,
      "rates": {
        "sea_20gp_usd": [
          3150,
          3850
        ],
        "sea_40gp_usd": [
          4750,
          5800
        ],
        "sea_lcl_usd_cbm": 128,
        "air_perkg_usd": 8.15,
        "express_perkg_usd": 13.05,
        "rail_20gp_usd": [
          4450,
          5450
        ],
        "rail_40gp_usd": [
          6500,
          7950
        ],
        "rail_lcl_usd_cbm": 225
      },
      "transit_days": {
        "sea": [
          25,
          31
        ],
        "air": [
          5,
          7
        ],
        "rail": [
          13,
          18
        ],
        "express": [
          5,
          8
        ],
        "lcl": [
          26,
          35
        ]
      },
      "mom_delta": {
        "sea_40gp": -20.08,
        "sea_20gp": -20,
        "air": -7.39,
        "express": -7.45,
        "rail_40gp": -1.7
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          8800,
          8500,
          9950,
          10275,
          8175,
          6600,
          5275
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          9.95,
          9.8,
          10.55,
          10.7,
          9.65,
          8.8,
          8.15
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          15.9,
          15.65,
          16.85,
          17.15,
          15.4,
          14.1,
          13.05
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate decline",
            "icon": "chart",
            "status": "stable",
            "text": "Rates continuing downward — buyer's market for European imports"
          },
          {
            "label": "Red Sea",
            "icon": "alert",
            "status": "tighter",
            "text": "Cape routing ongoing — transit time premium stable"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "New vessel deliveries increasing capacity — rates under pressure"
          },
          {
            "label": "EU ETS cost",
            "icon": "info",
            "status": "normal",
            "text": "EU Emissions Trading System surcharges now standard on European routes"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-portugal",
      "country_slug": "portugal",
      "country_name": "Portugal",
      "cluster": "iberian-gateway",
      "primary_mode": "sea",
      "recommended_origin": "Shanghai (sea via Sines / Lisbon)",
      "narrative_angle": "Sines deepwater port, Atlantic gateway for re-export to Africa + Americas",
      "search_demand": "M",
      "fbx_drewry_overlap": false,
      "country_guide_path": null,
      "rates": {
        "sea_20gp_usd": [
          2450,
          3000
        ],
        "sea_40gp_usd": [
          3950,
          4800
        ],
        "sea_lcl_usd_cbm": 49,
        "air_perkg_usd": 7.75,
        "express_perkg_usd": 12.4,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          25,
          26
        ],
        "air": [
          5,
          7
        ],
        "rail": [
          12,
          13
        ],
        "express": [
          5,
          8
        ],
        "lcl": [
          26,
          30
        ]
      },
      "mom_delta": {
        "sea_40gp": -20.45,
        "sea_20gp": -21.01,
        "air": -7.74,
        "express": -7.46,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          7325,
          7050,
          8275,
          8550,
          6825,
          5500,
          4375
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          9.45,
          9.3,
          10,
          10.15,
          9.15,
          8.4,
          7.75
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          15.1,
          14.9,
          16,
          16.25,
          14.65,
          13.4,
          12.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate decline",
            "icon": "chart",
            "status": "stable",
            "text": "Rates continuing downward — buyer's market for European imports"
          },
          {
            "label": "Red Sea",
            "icon": "alert",
            "status": "tighter",
            "text": "Cape routing ongoing — transit time premium stable"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "New vessel deliveries increasing capacity — rates under pressure"
          },
          {
            "label": "EU ETS cost",
            "icon": "info",
            "status": "normal",
            "text": "EU Emissions Trading System surcharges now standard on European routes"
          }
        ]
      },
      "narrative_draft": null
    }
  ],
  "featured": [
    {
      "lane_id": "china-peru",
      "country_slug": "peru",
      "country_name": "Peru",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_up",
      "selection_value_pct": -5.93,
      "primary_mode": "sea",
      "narrative_angle": "Chancay megaport just opened — first Chinese-built deep-sea hub on Pacific coast",
      "narrative_draft": null
    },
    {
      "lane_id": "china-brazil",
      "country_slug": "brazil",
      "country_name": "Brazil",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_up",
      "selection_value_pct": -6.54,
      "primary_mode": "sea",
      "narrative_angle": "Largest LATAM gateway — Santos congestion + China auto manufacturing investment surge",
      "narrative_draft": null
    },
    {
      "lane_id": "china-chile",
      "country_slug": "chile",
      "country_name": "Chile",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_up",
      "selection_value_pct": -6.98,
      "primary_mode": "sea",
      "narrative_angle": "Copper exporter / lithium triangle gateway via Valparaiso",
      "narrative_draft": null
    },
    {
      "lane_id": "china-portugal",
      "country_slug": "portugal",
      "country_name": "Portugal",
      "cluster": "iberian-gateway",
      "selection_reason": "top_mover_down",
      "selection_value_pct": -20.45,
      "primary_mode": "sea",
      "narrative_angle": "Sines deepwater port, Atlantic gateway for re-export to Africa + Americas",
      "narrative_draft": null
    },
    {
      "lane_id": "china-spain",
      "country_slug": "spain",
      "country_name": "Spain",
      "cluster": "iberian-gateway",
      "selection_reason": "top_mover_down",
      "selection_value_pct": -20.08,
      "primary_mode": "sea",
      "narrative_angle": "Algeciras / Valencia hub for Iberia + North Africa transshipment",
      "narrative_draft": null
    },
    {
      "lane_id": "china-mexico",
      "country_slug": "mexico",
      "country_name": "Mexico",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_down",
      "selection_value_pct": -11.49,
      "primary_mode": "sea",
      "narrative_angle": "Nearshoring beneficiary — Manzanillo + Lazaro Cardenas + US-Mexico trade corridor",
      "narrative_draft": null
    }
  ],
  "calibration": {
    "methodology": "Lane Tracker publishes a single-forwarder benchmark. Where SINO's lanes overlap with FBX (12 routes E-W) or Drewry WCI (8 routes), we publish a delta vs the public index. For the ~14-16 emerging-markets lanes with no public benchmark (Middle Corridor, East Africa, MENA secondary, SE Asia secondary, Caribbean), no comparable data exists publicly.",
    "overlap_lanes": [
      {
        "lane_id": "china-brazil",
        "country_name": "Brazil",
        "fbx_drewry_route": "China → South America East Coast (FBX)",
        "sino_midpoint_sea_40gp_usd": 2500,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      },
      {
        "lane_id": "china-mexico",
        "country_name": "Mexico",
        "fbx_drewry_route": "China → North America West Coast (FBX, partial proxy)",
        "sino_midpoint_sea_40gp_usd": 3275,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      },
      {
        "lane_id": "china-chile",
        "country_name": "Chile",
        "fbx_drewry_route": "China → South America West Coast (FBX)",
        "sino_midpoint_sea_40gp_usd": 3000,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      },
      {
        "lane_id": "china-peru",
        "country_name": "Peru",
        "fbx_drewry_route": "China → South America West Coast (FBX)",
        "sino_midpoint_sea_40gp_usd": 2775,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      },
      {
        "lane_id": "china-colombia",
        "country_name": "Colombia",
        "fbx_drewry_route": "China → South America West Coast (FBX)",
        "sino_midpoint_sea_40gp_usd": 3000,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      },
      {
        "lane_id": "china-ecuador",
        "country_name": "Ecuador",
        "fbx_drewry_route": "China → South America West Coast (FBX)",
        "sino_midpoint_sea_40gp_usd": 3000,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      },
      {
        "lane_id": "china-argentina",
        "country_name": "Argentina",
        "fbx_drewry_route": "China → South America East Coast (FBX)",
        "sino_midpoint_sea_40gp_usd": 2400,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      },
      {
        "lane_id": "china-spain",
        "country_name": "Spain",
        "fbx_drewry_route": "China → North Europe / Med (FBX, Med proxy)",
        "sino_midpoint_sea_40gp_usd": 5275,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      }
    ],
    "no_benchmark_lanes_count": 1
  },
  "commentary": {
    "month": "2025-04",
    "author": "SINO Shipping desk",
    "title": "Iberia keeps falling, LATAM searches for a floor",
    "lede": "April splits the pool. Iberia takes a third consecutive -20% leg as Algeciras transshipment volumes collapse. The LATAM cluster decelerates to single-digit declines, hunting for support.",
    "paragraphs": [
      "China → Portugal sea 40GP shed 20.45% to USD 3,950–4,800 and China → Spain -20.08% to USD 4,750–5,800. The Iberian gateway is now down roughly 50% from the December peak across three consecutive months. Algeciras transshipment to North Africa and Atlantic re-export thinned as European import demand stayed weak through Easter — the cycle has not yet found a floor.",
      "The LATAM cluster decelerated sharply. Pacific Alliance lanes — Chile, Colombia, Ecuador — each shed 6.98%, Peru -5.93%, Brazil -6.54%, Argentina -7.69%. After three months of double-digit declines the cluster appears to be reaching support. The single-block behaviour persists: seven months running, no lane-specific divergence in the Andean trio.",
      "Mexico decelerated to -11.49% — still the steepest LATAM move but well off the March collapse — to USD 2,950–3,600. The lane crossed below the Pacific Alliance baseline for the first time in the back-history. Manzanillo demand softened on lighter nearshoring forward orders into a soft Q2 US consumption read."
    ],
    "pull_quote": {
      "stat": "-20.45%",
      "caption": "CHINA → PORTUGAL, SEA 40GP, MOM",
      "context": "third consecutive month at this pace — Iberia down ~50% from December peak"
    },
    "watch_next": [
      "Iberia floor — whether May breaks the -20% pattern or extends to a fourth leg.",
      "Mexico vs Pacific Alliance ranking — first month Mexico prints below the cluster, a structural signal.",
      "Brazil agribusiness export window — Santos berth dwell into May should support inbound rates.",
      "Pacific Alliance single-block run — seven months and counting; Chancay opening in July is the first plausible disruptor."
    ]
  },
  "story": null,
  "counts": {
    "countries": 26,
    "pool_lanes": 9,
    "featured": 6,
    "overlap_lanes": 8
  }
}