{
  "version": "1.0.0",
  "month": "2025-05",
  "published": "2025-05-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": [
          1400,
          1700
        ],
        "sea_40gp_usd": [
          2250,
          2750
        ],
        "sea_lcl_usd_cbm": 97,
        "air_perkg_usd": 9.3,
        "express_perkg_usd": 14.85,
        "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": 4.17,
        "sea_20gp": 3.33,
        "air": 1.09,
        "express": 0.68,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          3400,
          3500,
          3675,
          3850,
          3375,
          2600,
          2400,
          2500
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          10.15,
          10.25,
          10.4,
          10.6,
          10.15,
          9.4,
          9.2,
          9.3
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          16.25,
          16.45,
          16.65,
          16.95,
          16.2,
          15,
          14.75,
          14.85
        ]
      },
      "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": [
          1600,
          1950
        ],
        "sea_40gp_usd": [
          2550,
          3100
        ],
        "sea_lcl_usd_cbm": 115,
        "air_perkg_usd": 9.5,
        "express_perkg_usd": 15.15,
        "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": 1.8,
        "sea_20gp": 2.9,
        "air": 1.06,
        "express": 0.66,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825,
          2950,
          2775,
          2825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35,
          9.6,
          9.4,
          9.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55,
          15.35,
          15.05,
          15.15
        ]
      },
      "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": [
          1500,
          1800
        ],
        "sea_40gp_usd": [
          2300,
          2850
        ],
        "sea_lcl_usd_cbm": 77,
        "air_perkg_usd": 9.05,
        "express_perkg_usd": 14.5,
        "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": 3,
        "sea_20gp": 3.13,
        "air": 0.56,
        "express": 0.69,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          3550,
          3675,
          3825,
          4000,
          3500,
          2675,
          2500,
          2575
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9,
          9.15,
          9,
          9.05
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85,
          14.7,
          14.4,
          14.5
        ]
      },
      "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": [
          1750,
          2150
        ],
        "sea_40gp_usd": [
          2800,
          3400
        ],
        "sea_lcl_usd_cbm": 135,
        "air_perkg_usd": 6.85,
        "express_perkg_usd": 10.95,
        "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": 3.33,
        "sea_20gp": 2.63,
        "air": 0.74,
        "express": 0.46,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225,
          3225,
          3000,
          3100
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          7.5,
          7.6,
          7.7,
          7.85,
          7.5,
          6.95,
          6.8,
          6.85
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          12.05,
          12.15,
          12.3,
          12.5,
          12,
          11.1,
          10.9,
          10.95
        ]
      },
      "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": [
          1750,
          2150
        ],
        "sea_40gp_usd": [
          2800,
          3400
        ],
        "sea_lcl_usd_cbm": 135,
        "air_perkg_usd": 9.05,
        "express_perkg_usd": 14.5,
        "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": 3.33,
        "sea_20gp": 2.63,
        "air": 0.56,
        "express": 0.69,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225,
          3225,
          3000,
          3100
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9,
          9.15,
          9,
          9.05
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85,
          14.7,
          14.4,
          14.5
        ]
      },
      "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": [
          2900,
          3550
        ],
        "sea_lcl_usd_cbm": 137,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.5,
        "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": -1.53,
        "sea_20gp": 0,
        "air": 0,
        "express": -0.32,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275,
          3225
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5
        ]
      },
      "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": [
          4600,
          5650
        ],
        "sea_40gp_usd": [
          7400,
          9000
        ],
        "sea_lcl_usd_cbm": 323,
        "air_perkg_usd": 10.2,
        "express_perkg_usd": 16.3,
        "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": -1.5,
        "sea_20gp": -0.97,
        "air": -0.49,
        "express": -0.31,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          14500,
          14375,
          14300,
          16000,
          14450,
          9400,
          8325,
          8200
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          12.3,
          12.2,
          12.2,
          12.75,
          12.25,
          10,
          10.25,
          10.2
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          19.65,
          19.55,
          19.55,
          20.4,
          19.6,
          16.05,
          16.35,
          16.3
        ]
      },
      "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": [
          4600,
          5650
        ],
        "sea_40gp_usd": [
          7400,
          9000
        ],
        "sea_lcl_usd_cbm": 323,
        "air_perkg_usd": 10.2,
        "express_perkg_usd": 16.3,
        "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": -1.5,
        "sea_20gp": -0.97,
        "air": -0.49,
        "express": -0.31,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          14500,
          14375,
          14300,
          16000,
          14450,
          9400,
          8325,
          8200
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          12.3,
          12.2,
          12.2,
          12.75,
          12.25,
          10,
          10.25,
          10.2
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          19.65,
          19.55,
          19.55,
          20.4,
          19.6,
          16.05,
          16.35,
          16.3
        ]
      },
      "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": [
          1750,
          2150
        ],
        "sea_40gp_usd": [
          2800,
          3400
        ],
        "sea_lcl_usd_cbm": 135,
        "air_perkg_usd": 9.05,
        "express_perkg_usd": 14.5,
        "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": 3.33,
        "sea_20gp": 2.63,
        "air": 0.56,
        "express": 0.69,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225,
          3225,
          3000,
          3100
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9,
          9.15,
          9,
          9.05
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85,
          14.7,
          14.4,
          14.5
        ]
      },
      "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": [
          2900,
          3550
        ],
        "sea_lcl_usd_cbm": 137,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.5,
        "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": -1.53,
        "sea_20gp": 0,
        "air": 0,
        "express": -0.32,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275,
          3225
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5
        ]
      },
      "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": [
          2900,
          3550
        ],
        "sea_lcl_usd_cbm": 137,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.5,
        "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": -1.53,
        "sea_20gp": 0,
        "air": 0,
        "express": -0.32,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275,
          3225
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5
        ]
      },
      "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": [
          1600,
          1950
        ],
        "sea_40gp_usd": [
          2550,
          3100
        ],
        "sea_lcl_usd_cbm": 115,
        "air_perkg_usd": 9.5,
        "express_perkg_usd": 15.15,
        "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": 1.8,
        "sea_20gp": 2.9,
        "air": 1.06,
        "express": 0.66,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825,
          2950,
          2775,
          2825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35,
          9.6,
          9.4,
          9.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55,
          15.35,
          15.05,
          15.15
        ]
      },
      "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": [
          4600,
          5650
        ],
        "sea_40gp_usd": [
          7400,
          9000
        ],
        "sea_lcl_usd_cbm": 323,
        "air_perkg_usd": 10.2,
        "express_perkg_usd": 16.3,
        "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": -1.5,
        "sea_20gp": -0.97,
        "air": -0.49,
        "express": -0.31,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          14500,
          14375,
          14300,
          16000,
          14450,
          9400,
          8325,
          8200
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          12.3,
          12.2,
          12.2,
          12.75,
          12.25,
          10,
          10.25,
          10.2
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          19.65,
          19.55,
          19.55,
          20.4,
          19.6,
          16.05,
          16.35,
          16.3
        ]
      },
      "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": [
          2900,
          3550
        ],
        "sea_lcl_usd_cbm": 137,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.5,
        "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": -1.53,
        "sea_20gp": 0,
        "air": 0,
        "express": -0.32,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275,
          3225
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5
        ]
      },
      "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": [
          4600,
          5650
        ],
        "sea_40gp_usd": [
          7400,
          9000
        ],
        "sea_lcl_usd_cbm": 323,
        "air_perkg_usd": 10.2,
        "express_perkg_usd": 16.3,
        "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": -1.5,
        "sea_20gp": -0.97,
        "air": -0.49,
        "express": -0.31,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          14500,
          14375,
          14300,
          16000,
          14450,
          9400,
          8325,
          8200
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          12.3,
          12.2,
          12.2,
          12.75,
          12.25,
          10,
          10.25,
          10.2
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          19.65,
          19.55,
          19.55,
          20.4,
          19.6,
          16.05,
          16.35,
          16.3
        ]
      },
      "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": [
          2900,
          3550
        ],
        "sea_lcl_usd_cbm": 137,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.5,
        "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": -1.53,
        "sea_20gp": 0,
        "air": 0,
        "express": -0.32,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275,
          3225
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5
        ]
      },
      "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": [
          2900,
          3550
        ],
        "sea_lcl_usd_cbm": 137,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.5,
        "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": -1.53,
        "sea_20gp": 0,
        "air": 0,
        "express": -0.32,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275,
          3225
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5
        ]
      },
      "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": [
          2900,
          3550
        ],
        "sea_lcl_usd_cbm": 137,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.5,
        "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": -1.53,
        "sea_20gp": 0,
        "air": 0,
        "express": -0.32,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275,
          3225
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5
        ]
      },
      "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": [
          1600,
          1950
        ],
        "sea_40gp_usd": [
          2550,
          3100
        ],
        "sea_lcl_usd_cbm": 115,
        "air_perkg_usd": 9.5,
        "express_perkg_usd": 15.15,
        "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": 1.8,
        "sea_20gp": 2.9,
        "air": 1.06,
        "express": 0.66,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825,
          2950,
          2775,
          2825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35,
          9.6,
          9.4,
          9.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55,
          15.35,
          15.05,
          15.15
        ]
      },
      "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": [
          1600,
          1950
        ],
        "sea_40gp_usd": [
          2550,
          3100
        ],
        "sea_lcl_usd_cbm": 115,
        "air_perkg_usd": 9.5,
        "express_perkg_usd": 15.15,
        "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": 1.8,
        "sea_20gp": 2.9,
        "air": 1.06,
        "express": 0.66,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825,
          2950,
          2775,
          2825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35,
          9.6,
          9.4,
          9.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55,
          15.35,
          15.05,
          15.15
        ]
      },
      "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": [
          2650,
          3250
        ],
        "sea_40gp_usd": [
          4250,
          5200
        ],
        "sea_lcl_usd_cbm": 51,
        "air_perkg_usd": 7.95,
        "express_perkg_usd": 12.7,
        "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": 8,
        "sea_20gp": 8.26,
        "air": 2.58,
        "express": 2.42,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          7325,
          7050,
          8275,
          8550,
          6825,
          5500,
          4375,
          4725
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          9.45,
          9.3,
          10,
          10.15,
          9.15,
          8.4,
          7.75,
          7.95
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          15.1,
          14.9,
          16,
          16.25,
          14.65,
          13.4,
          12.4,
          12.7
        ]
      },
      "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": [
          3350,
          4100
        ],
        "sea_40gp_usd": [
          5100,
          6250
        ],
        "sea_lcl_usd_cbm": 132,
        "air_perkg_usd": 8.35,
        "express_perkg_usd": 13.35,
        "rail_20gp_usd": [
          4500,
          5500
        ],
        "rail_40gp_usd": [
          6500,
          7950
        ],
        "rail_lcl_usd_cbm": 227
      },
      "transit_days": {
        "sea": [
          25,
          31
        ],
        "air": [
          5,
          7
        ],
        "rail": [
          13,
          18
        ],
        "express": [
          5,
          8
        ],
        "lcl": [
          26,
          35
        ]
      },
      "mom_delta": {
        "sea_40gp": 7.58,
        "sea_20gp": 6.43,
        "air": 2.45,
        "express": 2.3,
        "rail_40gp": 0
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          8800,
          8500,
          9950,
          10275,
          8175,
          6600,
          5275,
          5675
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          9.95,
          9.8,
          10.55,
          10.7,
          9.65,
          8.8,
          8.15,
          8.35
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          15.9,
          15.65,
          16.85,
          17.15,
          15.4,
          14.1,
          13.05,
          13.35
        ]
      },
      "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": [
          1600,
          1950
        ],
        "sea_40gp_usd": [
          2550,
          3100
        ],
        "sea_lcl_usd_cbm": 115,
        "air_perkg_usd": 9.5,
        "express_perkg_usd": 15.15,
        "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": 1.8,
        "sea_20gp": 2.9,
        "air": 1.06,
        "express": 0.66,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825,
          2950,
          2775,
          2825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35,
          9.6,
          9.4,
          9.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55,
          15.35,
          15.05,
          15.15
        ]
      },
      "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": [
          4600,
          5650
        ],
        "sea_40gp_usd": [
          7400,
          9000
        ],
        "sea_lcl_usd_cbm": 323,
        "air_perkg_usd": 10.2,
        "express_perkg_usd": 16.3,
        "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": -1.5,
        "sea_20gp": -0.97,
        "air": -0.49,
        "express": -0.31,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          14500,
          14375,
          14300,
          16000,
          14450,
          9400,
          8325,
          8200
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          12.3,
          12.2,
          12.2,
          12.75,
          12.25,
          10,
          10.25,
          10.2
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          19.65,
          19.55,
          19.55,
          20.4,
          19.6,
          16.05,
          16.35,
          16.3
        ]
      },
      "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": [
          1450,
          1800
        ],
        "sea_40gp_usd": [
          2300,
          2850
        ],
        "sea_lcl_usd_cbm": 111,
        "air_perkg_usd": 11.1,
        "express_perkg_usd": 17.75,
        "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": 3,
        "sea_20gp": 3.17,
        "air": 0.91,
        "express": 0.57,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          3550,
          3675,
          3825,
          4000,
          3500,
          2675,
          2500,
          2575
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          12.15,
          12.3,
          12.45,
          12.65,
          12.1,
          11.2,
          11,
          11.1
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          19.45,
          19.65,
          19.95,
          20.25,
          19.4,
          17.95,
          17.65,
          17.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": "venezuela",
      "rates": {
        "sea_20gp_usd": [
          1600,
          1950
        ],
        "sea_40gp_usd": [
          2550,
          3100
        ],
        "sea_lcl_usd_cbm": 115,
        "air_perkg_usd": 9.5,
        "express_perkg_usd": 15.15,
        "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": 1.8,
        "sea_20gp": 2.9,
        "air": 1.06,
        "express": 0.66,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825,
          2950,
          2775,
          2825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35,
          9.6,
          9.4,
          9.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55,
          15.35,
          15.05,
          15.15
        ]
      },
      "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": [
          1500,
          1800
        ],
        "sea_40gp_usd": [
          2300,
          2850
        ],
        "sea_lcl_usd_cbm": 77,
        "air_perkg_usd": 9.05,
        "express_perkg_usd": 14.5,
        "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": 3,
        "sea_20gp": 3.13,
        "air": 0.56,
        "express": 0.69,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          3550,
          3675,
          3825,
          4000,
          3500,
          2675,
          2500,
          2575
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9,
          9.15,
          9,
          9.05
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85,
          14.7,
          14.4,
          14.5
        ]
      },
      "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": [
          2900,
          3550
        ],
        "sea_lcl_usd_cbm": 137,
        "air_perkg_usd": 9.7,
        "express_perkg_usd": 15.5,
        "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": -1.53,
        "sea_20gp": 0,
        "air": 0,
        "express": -0.32,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700,
          3700,
          3275,
          3225
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5
        ]
      },
      "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": [
          1750,
          2150
        ],
        "sea_40gp_usd": [
          2800,
          3400
        ],
        "sea_lcl_usd_cbm": 135,
        "air_perkg_usd": 6.85,
        "express_perkg_usd": 10.95,
        "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": 3.33,
        "sea_20gp": 2.63,
        "air": 0.74,
        "express": 0.46,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225,
          3225,
          3000,
          3100
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          7.5,
          7.6,
          7.7,
          7.85,
          7.5,
          6.95,
          6.8,
          6.85
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          12.05,
          12.15,
          12.3,
          12.5,
          12,
          11.1,
          10.9,
          10.95
        ]
      },
      "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": [
          1600,
          1950
        ],
        "sea_40gp_usd": [
          2550,
          3100
        ],
        "sea_lcl_usd_cbm": 115,
        "air_perkg_usd": 9.5,
        "express_perkg_usd": 15.15,
        "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": 1.8,
        "sea_20gp": 2.9,
        "air": 1.06,
        "express": 0.66,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825,
          2950,
          2775,
          2825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35,
          9.6,
          9.4,
          9.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55,
          15.35,
          15.05,
          15.15
        ]
      },
      "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": [
          1750,
          2150
        ],
        "sea_40gp_usd": [
          2800,
          3400
        ],
        "sea_lcl_usd_cbm": 135,
        "air_perkg_usd": 9.05,
        "express_perkg_usd": 14.5,
        "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": 3.33,
        "sea_20gp": 2.63,
        "air": 0.56,
        "express": 0.69,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225,
          3225,
          3000,
          3100
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9,
          9.15,
          9,
          9.05
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85,
          14.7,
          14.4,
          14.5
        ]
      },
      "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": [
          1750,
          2150
        ],
        "sea_40gp_usd": [
          2800,
          3400
        ],
        "sea_lcl_usd_cbm": 135,
        "air_perkg_usd": 9.05,
        "express_perkg_usd": 14.5,
        "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": 3.33,
        "sea_20gp": 2.63,
        "air": 0.56,
        "express": 0.69,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225,
          3225,
          3000,
          3100
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9,
          9.15,
          9,
          9.05
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85,
          14.7,
          14.4,
          14.5
        ]
      },
      "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": [
          1400,
          1700
        ],
        "sea_40gp_usd": [
          2250,
          2750
        ],
        "sea_lcl_usd_cbm": 97,
        "air_perkg_usd": 9.3,
        "express_perkg_usd": 14.85,
        "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": 4.17,
        "sea_20gp": 3.33,
        "air": 1.09,
        "express": 0.68,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          3400,
          3500,
          3675,
          3850,
          3375,
          2600,
          2400,
          2500
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          10.15,
          10.25,
          10.4,
          10.6,
          10.15,
          9.4,
          9.2,
          9.3
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          16.25,
          16.45,
          16.65,
          16.95,
          16.2,
          15,
          14.75,
          14.85
        ]
      },
      "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": [
          3350,
          4100
        ],
        "sea_40gp_usd": [
          5100,
          6250
        ],
        "sea_lcl_usd_cbm": 132,
        "air_perkg_usd": 8.35,
        "express_perkg_usd": 13.35,
        "rail_20gp_usd": [
          4500,
          5500
        ],
        "rail_40gp_usd": [
          6500,
          7950
        ],
        "rail_lcl_usd_cbm": 227
      },
      "transit_days": {
        "sea": [
          25,
          31
        ],
        "air": [
          5,
          7
        ],
        "rail": [
          13,
          18
        ],
        "express": [
          5,
          8
        ],
        "lcl": [
          26,
          35
        ]
      },
      "mom_delta": {
        "sea_40gp": 7.58,
        "sea_20gp": 6.43,
        "air": 2.45,
        "express": 2.3,
        "rail_40gp": 0
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          8800,
          8500,
          9950,
          10275,
          8175,
          6600,
          5275,
          5675
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          9.95,
          9.8,
          10.55,
          10.7,
          9.65,
          8.8,
          8.15,
          8.35
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          15.9,
          15.65,
          16.85,
          17.15,
          15.4,
          14.1,
          13.05,
          13.35
        ]
      },
      "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": [
          2650,
          3250
        ],
        "sea_40gp_usd": [
          4250,
          5200
        ],
        "sea_lcl_usd_cbm": 51,
        "air_perkg_usd": 7.95,
        "express_perkg_usd": 12.7,
        "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": 8,
        "sea_20gp": 8.26,
        "air": 2.58,
        "express": 2.42,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          7325,
          7050,
          8275,
          8550,
          6825,
          5500,
          4375,
          4725
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          9.45,
          9.3,
          10,
          10.15,
          9.15,
          8.4,
          7.75,
          7.95
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          15.1,
          14.9,
          16,
          16.25,
          14.65,
          13.4,
          12.4,
          12.7
        ]
      },
      "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-portugal",
      "country_slug": "portugal",
      "country_name": "Portugal",
      "cluster": "iberian-gateway",
      "selection_reason": "top_mover_up",
      "selection_value_pct": 8,
      "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_up",
      "selection_value_pct": 7.58,
      "primary_mode": "sea",
      "narrative_angle": "Algeciras / Valencia hub for Iberia + North Africa transshipment",
      "narrative_draft": null
    },
    {
      "lane_id": "china-argentina",
      "country_slug": "argentina",
      "country_name": "Argentina",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_up",
      "selection_value_pct": 4.17,
      "primary_mode": "sea",
      "narrative_angle": "Buenos Aires gateway — commodity exporter, FX-volatile demand cycles",
      "narrative_draft": null
    },
    {
      "lane_id": "china-mexico",
      "country_slug": "mexico",
      "country_name": "Mexico",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_down",
      "selection_value_pct": -1.53,
      "primary_mode": "sea",
      "narrative_angle": "Nearshoring beneficiary — Manzanillo + Lazaro Cardenas + US-Mexico trade corridor",
      "narrative_draft": null
    },
    {
      "lane_id": "china-peru",
      "country_slug": "peru",
      "country_name": "Peru",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_down",
      "selection_value_pct": 1.8,
      "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_down",
      "selection_value_pct": 3,
      "primary_mode": "sea",
      "narrative_angle": "Largest LATAM gateway — Santos congestion + China auto manufacturing investment surge",
      "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": 2575,
        "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": 3225,
        "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": 3100,
        "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": 2825,
        "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": 3100,
        "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": 3100,
        "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": 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-spain",
        "country_name": "Spain",
        "fbx_drewry_route": "China → North Europe / Med (FBX, Med proxy)",
        "sino_midpoint_sea_40gp_usd": 5675,
        "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-05",
    "author": "SINO Shipping desk",
    "title": "Iberia rebounds 8%, LATAM finds a floor",
    "lede": "May reverses the four-month destocking cycle. Iberia firms back ~8% as Algeciras transshipment volumes reset, the LATAM cluster stabilises in low single digits, Mexico is still bleeding.",
    "paragraphs": [
      "China → Portugal sea 40GP rose 8.00% to USD 4,250–5,200 and China → Spain +7.58% to USD 5,100–6,250 — the largest upward moves in the pool and the first positive prints on the Iberian gateway since December. Algeciras and Sines transshipment rebuilt as European pre-summer forward orders for the back-to-school window began landing.",
      "The LATAM cluster stabilised. Argentina led at +4.17% to USD 2,250–2,750, the Pacific Alliance lanes — Chile, Colombia, Ecuador — each added 3.33%, Brazil +3.00% and Peru +1.80%. Eight months of cluster-block behaviour now hold through the inflection: no Andean lane has yet broken pattern. The bottoming process is symmetric to the destocking.",
      "Mexico remained the outlier. China → Mexico printed -1.53% to USD 2,900–3,550, the only negative move in the LATAM cluster this month. The lane is now firmly below the Pacific Alliance baseline — a structural inversion relative to the back-history baseline. Manzanillo demand has not recovered with the cluster."
    ],
    "pull_quote": {
      "stat": "+8.0%",
      "caption": "CHINA → PORTUGAL, SEA 40GP, MOM",
      "context": "Iberian gateway prints its first up-month since December"
    },
    "watch_next": [
      "Iberia June continuation — whether the rebound holds or stalls as the summer inventory cycle matures.",
      "Mexico inflection — third consecutive sub-cluster print; carrier capacity rationalisation likely.",
      "Pacific Alliance block — nine months of unified movement; Chancay first deep-sea services scheduled July.",
      "Brazil agribusiness peak — Santos congestion building into June; inbound rates should compound."
    ]
  },
  "story": null,
  "counts": {
    "countries": 26,
    "pool_lanes": 9,
    "featured": 6,
    "overlap_lanes": 8
  }
}