{
  "version": "1.0.0",
  "month": "2025-02",
  "published": "2025-02-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": [
          1900,
          2300
        ],
        "sea_40gp_usd": [
          3050,
          3700
        ],
        "sea_lcl_usd_cbm": 108,
        "air_perkg_usd": 10.15,
        "express_perkg_usd": 16.2,
        "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": -12.34,
        "sea_20gp": -12.5,
        "air": -4.25,
        "express": -4.42,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3400,
          3500,
          3675,
          3850,
          3375
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.15,
          10.25,
          10.4,
          10.6,
          10.15
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.25,
          16.45,
          16.65,
          16.95,
          16.2
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      }
    },
    {
      "slug": "bolivia",
      "rates": {
        "sea_20gp_usd": [
          2150,
          2650
        ],
        "sea_40gp_usd": [
          3450,
          4200
        ],
        "sea_lcl_usd_cbm": 128,
        "air_perkg_usd": 10.35,
        "express_perkg_usd": 16.55,
        "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": -12.57,
        "sea_20gp": -11.93,
        "air": -4.17,
        "express": -4.34,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      }
    },
    {
      "slug": "brazil",
      "rates": {
        "sea_20gp_usd": [
          2000,
          2450
        ],
        "sea_40gp_usd": [
          3150,
          3850
        ],
        "sea_lcl_usd_cbm": 85,
        "air_perkg_usd": 9.9,
        "express_perkg_usd": 15.85,
        "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": -12.5,
        "sea_20gp": -12.75,
        "air": -4.35,
        "express": -4.23,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3550,
          3675,
          3825,
          4000,
          3500
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      }
    },
    {
      "slug": "chile",
      "rates": {
        "sea_20gp_usd": [
          2400,
          2900
        ],
        "sea_40gp_usd": [
          3800,
          4650
        ],
        "sea_lcl_usd_cbm": 150,
        "air_perkg_usd": 7.5,
        "express_perkg_usd": 12,
        "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": -12.44,
        "sea_20gp": -13.11,
        "air": -4.46,
        "express": -4,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          7.5,
          7.6,
          7.7,
          7.85,
          7.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.05,
          12.15,
          12.3,
          12.5,
          12
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      }
    },
    {
      "slug": "colombia",
      "rates": {
        "sea_20gp_usd": [
          2400,
          2900
        ],
        "sea_40gp_usd": [
          3800,
          4650
        ],
        "sea_lcl_usd_cbm": 150,
        "air_perkg_usd": 9.9,
        "express_perkg_usd": 15.85,
        "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": -12.44,
        "sea_20gp": -13.11,
        "air": -4.35,
        "express": -4.23,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      }
    },
    {
      "slug": "costa-rica",
      "rates": {
        "sea_20gp_usd": [
          3250,
          3950
        ],
        "sea_40gp_usd": [
          5150,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.65,
        "express_perkg_usd": 18.6,
        "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": -9.88,
        "sea_20gp": -8.86,
        "air": -3.72,
        "express": -4.12,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Demand slump",
            "icon": "chart",
            "status": "stable",
            "text": "Post-tariff rush hangover — volumes normalizing"
          },
          {
            "label": "Rate correction",
            "icon": "chart",
            "status": "stable",
            "text": "Significant rate drops — lock in favorable contracts"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume — negotiate aggressively"
          },
          {
            "label": "Tariff adjustment",
            "icon": "info",
            "status": "normal",
            "text": "Market absorbing new tariff reality — supply chains adapting"
          }
        ]
      }
    },
    {
      "slug": "cuba",
      "rates": {
        "sea_20gp_usd": [
          8100,
          9950
        ],
        "sea_40gp_usd": [
          13000,
          15900
        ],
        "sea_lcl_usd_cbm": 401,
        "air_perkg_usd": 12.25,
        "express_perkg_usd": 19.6,
        "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": -9.69,
        "sea_20gp": -9.75,
        "air": -3.92,
        "express": -3.92,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          14500,
          14375,
          14300,
          16000,
          14450
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.3,
          12.2,
          12.2,
          12.75,
          12.25
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          19.65,
          19.55,
          19.55,
          20.4,
          19.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Demand slump",
            "icon": "chart",
            "status": "stable",
            "text": "Post-tariff rush hangover — volumes normalizing"
          },
          {
            "label": "Rate correction",
            "icon": "chart",
            "status": "stable",
            "text": "Significant rate drops — lock in favorable contracts"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume — negotiate aggressively"
          },
          {
            "label": "Tariff adjustment",
            "icon": "info",
            "status": "normal",
            "text": "Market absorbing new tariff reality — supply chains adapting"
          }
        ]
      }
    },
    {
      "slug": "dominican-republic",
      "rates": {
        "sea_20gp_usd": [
          8100,
          9950
        ],
        "sea_40gp_usd": [
          13000,
          15900
        ],
        "sea_lcl_usd_cbm": 401,
        "air_perkg_usd": 12.25,
        "express_perkg_usd": 19.6,
        "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": -9.69,
        "sea_20gp": -9.75,
        "air": -3.92,
        "express": -3.92,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          14500,
          14375,
          14300,
          16000,
          14450
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.3,
          12.2,
          12.2,
          12.75,
          12.25
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          19.65,
          19.55,
          19.55,
          20.4,
          19.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Demand slump",
            "icon": "chart",
            "status": "stable",
            "text": "Post-tariff rush hangover — volumes normalizing"
          },
          {
            "label": "Rate correction",
            "icon": "chart",
            "status": "stable",
            "text": "Significant rate drops — lock in favorable contracts"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume — negotiate aggressively"
          },
          {
            "label": "Tariff adjustment",
            "icon": "info",
            "status": "normal",
            "text": "Market absorbing new tariff reality — supply chains adapting"
          }
        ]
      }
    },
    {
      "slug": "ecuador",
      "rates": {
        "sea_20gp_usd": [
          2400,
          2900
        ],
        "sea_40gp_usd": [
          3800,
          4650
        ],
        "sea_lcl_usd_cbm": 150,
        "air_perkg_usd": 9.9,
        "express_perkg_usd": 15.85,
        "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": -12.44,
        "sea_20gp": -13.11,
        "air": -4.35,
        "express": -4.23,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      }
    },
    {
      "slug": "el-salvador",
      "rates": {
        "sea_20gp_usd": [
          3250,
          3950
        ],
        "sea_40gp_usd": [
          5150,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.65,
        "express_perkg_usd": 18.6,
        "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": -9.88,
        "sea_20gp": -8.86,
        "air": -3.72,
        "express": -4.12,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Demand slump",
            "icon": "chart",
            "status": "stable",
            "text": "Post-tariff rush hangover — volumes normalizing"
          },
          {
            "label": "Rate correction",
            "icon": "chart",
            "status": "stable",
            "text": "Significant rate drops — lock in favorable contracts"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume — negotiate aggressively"
          },
          {
            "label": "Tariff adjustment",
            "icon": "info",
            "status": "normal",
            "text": "Market absorbing new tariff reality — supply chains adapting"
          }
        ]
      }
    },
    {
      "slug": "guatemala",
      "rates": {
        "sea_20gp_usd": [
          3250,
          3950
        ],
        "sea_40gp_usd": [
          5150,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.65,
        "express_perkg_usd": 18.6,
        "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": -9.88,
        "sea_20gp": -8.86,
        "air": -3.72,
        "express": -4.12,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Demand slump",
            "icon": "chart",
            "status": "stable",
            "text": "Post-tariff rush hangover — volumes normalizing"
          },
          {
            "label": "Rate correction",
            "icon": "chart",
            "status": "stable",
            "text": "Significant rate drops — lock in favorable contracts"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume — negotiate aggressively"
          },
          {
            "label": "Tariff adjustment",
            "icon": "info",
            "status": "normal",
            "text": "Market absorbing new tariff reality — supply chains adapting"
          }
        ]
      }
    },
    {
      "slug": "guyana",
      "rates": {
        "sea_20gp_usd": [
          2150,
          2650
        ],
        "sea_40gp_usd": [
          3450,
          4200
        ],
        "sea_lcl_usd_cbm": 128,
        "air_perkg_usd": 10.35,
        "express_perkg_usd": 16.55,
        "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": -12.57,
        "sea_20gp": -11.93,
        "air": -4.17,
        "express": -4.34,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      }
    },
    {
      "slug": "haiti",
      "rates": {
        "sea_20gp_usd": [
          8100,
          9950
        ],
        "sea_40gp_usd": [
          13000,
          15900
        ],
        "sea_lcl_usd_cbm": 401,
        "air_perkg_usd": 12.25,
        "express_perkg_usd": 19.6,
        "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": -9.69,
        "sea_20gp": -9.75,
        "air": -3.92,
        "express": -3.92,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          14500,
          14375,
          14300,
          16000,
          14450
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.3,
          12.2,
          12.2,
          12.75,
          12.25
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          19.65,
          19.55,
          19.55,
          20.4,
          19.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Demand slump",
            "icon": "chart",
            "status": "stable",
            "text": "Post-tariff rush hangover — volumes normalizing"
          },
          {
            "label": "Rate correction",
            "icon": "chart",
            "status": "stable",
            "text": "Significant rate drops — lock in favorable contracts"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume — negotiate aggressively"
          },
          {
            "label": "Tariff adjustment",
            "icon": "info",
            "status": "normal",
            "text": "Market absorbing new tariff reality — supply chains adapting"
          }
        ]
      }
    },
    {
      "slug": "honduras",
      "rates": {
        "sea_20gp_usd": [
          3250,
          3950
        ],
        "sea_40gp_usd": [
          5150,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.65,
        "express_perkg_usd": 18.6,
        "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": -9.88,
        "sea_20gp": -8.86,
        "air": -3.72,
        "express": -4.12,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Demand slump",
            "icon": "chart",
            "status": "stable",
            "text": "Post-tariff rush hangover — volumes normalizing"
          },
          {
            "label": "Rate correction",
            "icon": "chart",
            "status": "stable",
            "text": "Significant rate drops — lock in favorable contracts"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume — negotiate aggressively"
          },
          {
            "label": "Tariff adjustment",
            "icon": "info",
            "status": "normal",
            "text": "Market absorbing new tariff reality — supply chains adapting"
          }
        ]
      }
    },
    {
      "slug": "jamaica",
      "rates": {
        "sea_20gp_usd": [
          8100,
          9950
        ],
        "sea_40gp_usd": [
          13000,
          15900
        ],
        "sea_lcl_usd_cbm": 401,
        "air_perkg_usd": 12.25,
        "express_perkg_usd": 19.6,
        "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": -9.69,
        "sea_20gp": -9.75,
        "air": -3.92,
        "express": -3.92,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          14500,
          14375,
          14300,
          16000,
          14450
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.3,
          12.2,
          12.2,
          12.75,
          12.25
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          19.65,
          19.55,
          19.55,
          20.4,
          19.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Demand slump",
            "icon": "chart",
            "status": "stable",
            "text": "Post-tariff rush hangover — volumes normalizing"
          },
          {
            "label": "Rate correction",
            "icon": "chart",
            "status": "stable",
            "text": "Significant rate drops — lock in favorable contracts"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume — negotiate aggressively"
          },
          {
            "label": "Tariff adjustment",
            "icon": "info",
            "status": "normal",
            "text": "Market absorbing new tariff reality — supply chains adapting"
          }
        ]
      }
    },
    {
      "slug": "mexico",
      "rates": {
        "sea_20gp_usd": [
          3250,
          3950
        ],
        "sea_40gp_usd": [
          5150,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.65,
        "express_perkg_usd": 18.6,
        "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": -9.88,
        "sea_20gp": -8.86,
        "air": -3.72,
        "express": -4.12,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Demand slump",
            "icon": "chart",
            "status": "stable",
            "text": "Post-tariff rush hangover — volumes normalizing"
          },
          {
            "label": "Rate correction",
            "icon": "chart",
            "status": "stable",
            "text": "Significant rate drops — lock in favorable contracts"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume — negotiate aggressively"
          },
          {
            "label": "Tariff adjustment",
            "icon": "info",
            "status": "normal",
            "text": "Market absorbing new tariff reality — supply chains adapting"
          }
        ]
      }
    },
    {
      "slug": "nicaragua",
      "rates": {
        "sea_20gp_usd": [
          3250,
          3950
        ],
        "sea_40gp_usd": [
          5150,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.65,
        "express_perkg_usd": 18.6,
        "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": -9.88,
        "sea_20gp": -8.86,
        "air": -3.72,
        "express": -4.12,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Demand slump",
            "icon": "chart",
            "status": "stable",
            "text": "Post-tariff rush hangover — volumes normalizing"
          },
          {
            "label": "Rate correction",
            "icon": "chart",
            "status": "stable",
            "text": "Significant rate drops — lock in favorable contracts"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume — negotiate aggressively"
          },
          {
            "label": "Tariff adjustment",
            "icon": "info",
            "status": "normal",
            "text": "Market absorbing new tariff reality — supply chains adapting"
          }
        ]
      }
    },
    {
      "slug": "panama",
      "rates": {
        "sea_20gp_usd": [
          3250,
          3950
        ],
        "sea_40gp_usd": [
          5150,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.65,
        "express_perkg_usd": 18.6,
        "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": -9.88,
        "sea_20gp": -8.86,
        "air": -3.72,
        "express": -4.12,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Demand slump",
            "icon": "chart",
            "status": "stable",
            "text": "Post-tariff rush hangover — volumes normalizing"
          },
          {
            "label": "Rate correction",
            "icon": "chart",
            "status": "stable",
            "text": "Significant rate drops — lock in favorable contracts"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume — negotiate aggressively"
          },
          {
            "label": "Tariff adjustment",
            "icon": "info",
            "status": "normal",
            "text": "Market absorbing new tariff reality — supply chains adapting"
          }
        ]
      }
    },
    {
      "slug": "paraguay",
      "rates": {
        "sea_20gp_usd": [
          2150,
          2650
        ],
        "sea_40gp_usd": [
          3450,
          4200
        ],
        "sea_lcl_usd_cbm": 128,
        "air_perkg_usd": 10.35,
        "express_perkg_usd": 16.55,
        "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": -12.57,
        "sea_20gp": -11.93,
        "air": -4.17,
        "express": -4.34,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      }
    },
    {
      "slug": "peru",
      "rates": {
        "sea_20gp_usd": [
          2150,
          2650
        ],
        "sea_40gp_usd": [
          3450,
          4200
        ],
        "sea_lcl_usd_cbm": 128,
        "air_perkg_usd": 10.35,
        "express_perkg_usd": 16.55,
        "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": -12.57,
        "sea_20gp": -11.93,
        "air": -4.17,
        "express": -4.34,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      }
    },
    {
      "slug": "portugal",
      "rates": {
        "sea_20gp_usd": [
          3850,
          4700
        ],
        "sea_40gp_usd": [
          6150,
          7500
        ],
        "sea_lcl_usd_cbm": 60,
        "air_perkg_usd": 9.15,
        "express_perkg_usd": 14.65,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          25,
          26
        ],
        "air": [
          5,
          7
        ],
        "rail": [
          12,
          13
        ],
        "express": [
          5,
          8
        ],
        "lcl": [
          26,
          30
        ]
      },
      "mom_delta": {
        "sea_40gp": -20.18,
        "sea_20gp": -20.09,
        "air": -9.85,
        "express": -9.85,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          7325,
          7050,
          8275,
          8550,
          6825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.45,
          9.3,
          10,
          10.15,
          9.15
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.1,
          14.9,
          16,
          16.25,
          14.65
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Post-LNY drop",
            "icon": "chart",
            "status": "stable",
            "text": "Rates falling as factories reopen slowly — negotiate now"
          },
          {
            "label": "Red Sea",
            "icon": "alert",
            "status": "tighter",
            "text": "Cape routing continues but demand-side easing rates"
          },
          {
            "label": "Buyer's window",
            "icon": "info",
            "status": "stable",
            "text": "Best negotiation opportunity in months — push for discounts"
          },
          {
            "label": "Equipment",
            "icon": "container",
            "status": "stable",
            "text": "Container availability improving as demand drops"
          }
        ]
      }
    },
    {
      "slug": "spain",
      "rates": {
        "sea_20gp_usd": [
          4900,
          5950
        ],
        "sea_40gp_usd": [
          7350,
          9000
        ],
        "sea_lcl_usd_cbm": 156,
        "air_perkg_usd": 9.65,
        "express_perkg_usd": 15.4,
        "rail_20gp_usd": [
          4650,
          5650
        ],
        "rail_40gp_usd": [
          6750,
          8250
        ],
        "rail_lcl_usd_cbm": 234
      },
      "transit_days": {
        "sea": [
          25,
          31
        ],
        "air": [
          5,
          7
        ],
        "rail": [
          13,
          18
        ],
        "express": [
          5,
          8
        ],
        "lcl": [
          26,
          35
        ]
      },
      "mom_delta": {
        "sea_40gp": -20.44,
        "sea_20gp": -20.22,
        "air": -9.81,
        "express": -10.2,
        "rail_40gp": -2.91
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          8800,
          8500,
          9950,
          10275,
          8175
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          9.8,
          10.55,
          10.7,
          9.65
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          15.65,
          16.85,
          17.15,
          15.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Post-LNY drop",
            "icon": "chart",
            "status": "stable",
            "text": "Rates falling as factories reopen slowly — negotiate now"
          },
          {
            "label": "Red Sea",
            "icon": "alert",
            "status": "tighter",
            "text": "Cape routing continues but demand-side easing rates"
          },
          {
            "label": "Buyer's window",
            "icon": "info",
            "status": "stable",
            "text": "Best negotiation opportunity in months — push for discounts"
          },
          {
            "label": "Equipment",
            "icon": "container",
            "status": "stable",
            "text": "Container availability improving as demand drops"
          }
        ]
      }
    },
    {
      "slug": "suriname",
      "rates": {
        "sea_20gp_usd": [
          2150,
          2650
        ],
        "sea_40gp_usd": [
          3450,
          4200
        ],
        "sea_lcl_usd_cbm": 128,
        "air_perkg_usd": 10.35,
        "express_perkg_usd": 16.55,
        "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": -12.57,
        "sea_20gp": -11.93,
        "air": -4.17,
        "express": -4.34,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      }
    },
    {
      "slug": "trinidad-and-tobago",
      "rates": {
        "sea_20gp_usd": [
          8100,
          9950
        ],
        "sea_40gp_usd": [
          13000,
          15900
        ],
        "sea_lcl_usd_cbm": 401,
        "air_perkg_usd": 12.25,
        "express_perkg_usd": 19.6,
        "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": -9.69,
        "sea_20gp": -9.75,
        "air": -3.92,
        "express": -3.92,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          14500,
          14375,
          14300,
          16000,
          14450
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.3,
          12.2,
          12.2,
          12.75,
          12.25
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          19.65,
          19.55,
          19.55,
          20.4,
          19.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Demand slump",
            "icon": "chart",
            "status": "stable",
            "text": "Post-tariff rush hangover — volumes normalizing"
          },
          {
            "label": "Rate correction",
            "icon": "chart",
            "status": "stable",
            "text": "Significant rate drops — lock in favorable contracts"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume — negotiate aggressively"
          },
          {
            "label": "Tariff adjustment",
            "icon": "info",
            "status": "normal",
            "text": "Market absorbing new tariff reality — supply chains adapting"
          }
        ]
      }
    },
    {
      "slug": "uruguay",
      "rates": {
        "sea_20gp_usd": [
          1950,
          2400
        ],
        "sea_40gp_usd": [
          3150,
          3850
        ],
        "sea_lcl_usd_cbm": 123,
        "air_perkg_usd": 12.1,
        "express_perkg_usd": 19.4,
        "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": -12.5,
        "sea_20gp": -13,
        "air": -4.35,
        "express": -4.2,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3550,
          3675,
          3825,
          4000,
          3500
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.15,
          12.3,
          12.45,
          12.65,
          12.1
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          19.45,
          19.65,
          19.95,
          20.25,
          19.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      }
    },
    {
      "slug": "venezuela",
      "rates": {
        "sea_20gp_usd": [
          2150,
          2650
        ],
        "sea_40gp_usd": [
          3450,
          4200
        ],
        "sea_lcl_usd_cbm": 128,
        "air_perkg_usd": 10.35,
        "express_perkg_usd": 16.55,
        "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": -12.57,
        "sea_20gp": -11.93,
        "air": -4.17,
        "express": -4.34,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      }
    }
  ],
  "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": [
          2000,
          2450
        ],
        "sea_40gp_usd": [
          3150,
          3850
        ],
        "sea_lcl_usd_cbm": 85,
        "air_perkg_usd": 9.9,
        "express_perkg_usd": 15.85,
        "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": -12.5,
        "sea_20gp": -12.75,
        "air": -4.35,
        "express": -4.23,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3550,
          3675,
          3825,
          4000,
          3500
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      },
      "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": [
          3250,
          3950
        ],
        "sea_40gp_usd": [
          5150,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.65,
        "express_perkg_usd": 18.6,
        "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": -9.88,
        "sea_20gp": -8.86,
        "air": -3.72,
        "express": -4.12,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675,
          5650,
          6325,
          5700
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6,
          11.6,
          12.1,
          11.65
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6,
          18.55,
          19.4,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Demand slump",
            "icon": "chart",
            "status": "stable",
            "text": "Post-tariff rush hangover — volumes normalizing"
          },
          {
            "label": "Rate correction",
            "icon": "chart",
            "status": "stable",
            "text": "Significant rate drops — lock in favorable contracts"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carriers competing for volume — negotiate aggressively"
          },
          {
            "label": "Tariff adjustment",
            "icon": "info",
            "status": "normal",
            "text": "Market absorbing new tariff reality — supply chains adapting"
          }
        ]
      },
      "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": [
          2400,
          2900
        ],
        "sea_40gp_usd": [
          3800,
          4650
        ],
        "sea_lcl_usd_cbm": 150,
        "air_perkg_usd": 7.5,
        "express_perkg_usd": 12,
        "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": -12.44,
        "sea_20gp": -13.11,
        "air": -4.46,
        "express": -4,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          7.5,
          7.6,
          7.7,
          7.85,
          7.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.05,
          12.15,
          12.3,
          12.5,
          12
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      },
      "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": [
          2150,
          2650
        ],
        "sea_40gp_usd": [
          3450,
          4200
        ],
        "sea_lcl_usd_cbm": 128,
        "air_perkg_usd": 10.35,
        "express_perkg_usd": 16.55,
        "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": -12.57,
        "sea_20gp": -11.93,
        "air": -4.17,
        "express": -4.34,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3900,
          4000,
          4175,
          4375,
          3825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5,
          10.65,
          10.8,
          10.35
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8,
          17.05,
          17.3,
          16.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      },
      "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": [
          2400,
          2900
        ],
        "sea_40gp_usd": [
          3800,
          4650
        ],
        "sea_lcl_usd_cbm": 150,
        "air_perkg_usd": 9.9,
        "express_perkg_usd": 15.85,
        "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": -12.44,
        "sea_20gp": -13.11,
        "air": -4.35,
        "express": -4.23,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      },
      "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": [
          2400,
          2900
        ],
        "sea_40gp_usd": [
          3800,
          4650
        ],
        "sea_lcl_usd_cbm": 150,
        "air_perkg_usd": 9.9,
        "express_perkg_usd": 15.85,
        "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": -12.44,
        "sea_20gp": -13.11,
        "air": -4.35,
        "express": -4.23,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          4275,
          4400,
          4600,
          4825,
          4225
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05,
          10.2,
          10.35,
          9.9
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1,
          16.3,
          16.55,
          15.85
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      },
      "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": [
          1900,
          2300
        ],
        "sea_40gp_usd": [
          3050,
          3700
        ],
        "sea_lcl_usd_cbm": 108,
        "air_perkg_usd": 10.15,
        "express_perkg_usd": 16.2,
        "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": -12.34,
        "sea_20gp": -12.5,
        "air": -4.25,
        "express": -4.42,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3400,
          3500,
          3675,
          3850,
          3375
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.15,
          10.25,
          10.4,
          10.6,
          10.15
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.25,
          16.45,
          16.65,
          16.95,
          16.2
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Seasonal lull",
            "icon": "chart",
            "status": "stable",
            "text": "Post-holiday demand drop — rates declining"
          },
          {
            "label": "Overcapacity",
            "icon": "container",
            "status": "stable",
            "text": "Carrier competition driving better rates"
          },
          {
            "label": "Negotiate now",
            "icon": "info",
            "status": "stable",
            "text": "Lock in contracts while rates are soft"
          }
        ]
      },
      "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": [
          4900,
          5950
        ],
        "sea_40gp_usd": [
          7350,
          9000
        ],
        "sea_lcl_usd_cbm": 156,
        "air_perkg_usd": 9.65,
        "express_perkg_usd": 15.4,
        "rail_20gp_usd": [
          4650,
          5650
        ],
        "rail_40gp_usd": [
          6750,
          8250
        ],
        "rail_lcl_usd_cbm": 234
      },
      "transit_days": {
        "sea": [
          25,
          31
        ],
        "air": [
          5,
          7
        ],
        "rail": [
          13,
          18
        ],
        "express": [
          5,
          8
        ],
        "lcl": [
          26,
          35
        ]
      },
      "mom_delta": {
        "sea_40gp": -20.44,
        "sea_20gp": -20.22,
        "air": -9.81,
        "express": -10.2,
        "rail_40gp": -2.91
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          8800,
          8500,
          9950,
          10275,
          8175
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          9.8,
          10.55,
          10.7,
          9.65
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          15.65,
          16.85,
          17.15,
          15.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Post-LNY drop",
            "icon": "chart",
            "status": "stable",
            "text": "Rates falling as factories reopen slowly — negotiate now"
          },
          {
            "label": "Red Sea",
            "icon": "alert",
            "status": "tighter",
            "text": "Cape routing continues but demand-side easing rates"
          },
          {
            "label": "Buyer's window",
            "icon": "info",
            "status": "stable",
            "text": "Best negotiation opportunity in months — push for discounts"
          },
          {
            "label": "Equipment",
            "icon": "container",
            "status": "stable",
            "text": "Container availability improving as demand drops"
          }
        ]
      },
      "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": [
          3850,
          4700
        ],
        "sea_40gp_usd": [
          6150,
          7500
        ],
        "sea_lcl_usd_cbm": 60,
        "air_perkg_usd": 9.15,
        "express_perkg_usd": 14.65,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          25,
          26
        ],
        "air": [
          5,
          7
        ],
        "rail": [
          12,
          13
        ],
        "express": [
          5,
          8
        ],
        "lcl": [
          26,
          30
        ]
      },
      "mom_delta": {
        "sea_40gp": -20.18,
        "sea_20gp": -20.09,
        "air": -9.85,
        "express": -9.85,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          7325,
          7050,
          8275,
          8550,
          6825
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.45,
          9.3,
          10,
          10.15,
          9.15
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.1,
          14.9,
          16,
          16.25,
          14.65
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Post-LNY drop",
            "icon": "chart",
            "status": "stable",
            "text": "Rates falling as factories reopen slowly — negotiate now"
          },
          {
            "label": "Red Sea",
            "icon": "alert",
            "status": "tighter",
            "text": "Cape routing continues but demand-side easing rates"
          },
          {
            "label": "Buyer's window",
            "icon": "info",
            "status": "stable",
            "text": "Best negotiation opportunity in months — push for discounts"
          },
          {
            "label": "Equipment",
            "icon": "container",
            "status": "stable",
            "text": "Container availability improving as demand drops"
          }
        ]
      },
      "narrative_draft": null
    }
  ],
  "featured": [
    {
      "lane_id": "china-mexico",
      "country_slug": "mexico",
      "country_name": "Mexico",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_up",
      "selection_value_pct": -9.88,
      "primary_mode": "sea",
      "narrative_angle": "Nearshoring beneficiary — Manzanillo + Lazaro Cardenas + US-Mexico trade corridor",
      "narrative_draft": null
    },
    {
      "lane_id": "china-argentina",
      "country_slug": "argentina",
      "country_name": "Argentina",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_up",
      "selection_value_pct": -12.34,
      "primary_mode": "sea",
      "narrative_angle": "Buenos Aires gateway — commodity exporter, FX-volatile demand cycles",
      "narrative_draft": null
    },
    {
      "lane_id": "china-chile",
      "country_slug": "chile",
      "country_name": "Chile",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_up",
      "selection_value_pct": -12.44,
      "primary_mode": "sea",
      "narrative_angle": "Copper exporter / lithium triangle gateway via Valparaiso",
      "narrative_draft": null
    },
    {
      "lane_id": "china-spain",
      "country_slug": "spain",
      "country_name": "Spain",
      "cluster": "iberian-gateway",
      "selection_reason": "top_mover_down",
      "selection_value_pct": -20.44,
      "primary_mode": "sea",
      "narrative_angle": "Algeciras / Valencia hub for Iberia + North Africa transshipment",
      "narrative_draft": null
    },
    {
      "lane_id": "china-portugal",
      "country_slug": "portugal",
      "country_name": "Portugal",
      "cluster": "iberian-gateway",
      "selection_reason": "top_mover_down",
      "selection_value_pct": -20.18,
      "primary_mode": "sea",
      "narrative_angle": "Sines deepwater port, Atlantic gateway for re-export to Africa + Americas",
      "narrative_draft": null
    },
    {
      "lane_id": "china-peru",
      "country_slug": "peru",
      "country_name": "Peru",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_down",
      "selection_value_pct": -12.57,
      "primary_mode": "sea",
      "narrative_angle": "Chancay megaport just opened — first Chinese-built deep-sea hub on Pacific coast",
      "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": 3500,
        "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": 5700,
        "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": 4225,
        "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": 3825,
        "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": 4225,
        "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": 4225,
        "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": 3375,
        "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": 8175,
        "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-02",
    "author": "SINO Shipping desk",
    "title": "Iberia sheds 20% as the post-LNY unwind starts",
    "lede": "February runs the Lunar New Year capacity playbook. Iberia gives back its Q4 premium in a single print, the LATAM cluster shed roughly 12%, Mexico softens 10%.",
    "paragraphs": [
      "China → Spain sea 40GP shed 20.44% to USD 7,350–9,000 and China → Portugal -20.18% to USD 6,150–7,500 — the largest moves in the pool. The Cape rerouting premium that had compounded through November and December unwound as Algeciras and Sines transshipment capacity rebuilt off the Lunar New Year intra-Asia trough. Two months of build, one month of correction.",
      "The LATAM Pacific Alliance cluster shed in lockstep. Chile, Colombia and Ecuador each printed -12.44%, Peru -12.57%, Argentina -12.34%. The cluster has moved as a single block for four months running — common bunker, common tonnage adjustment, no lane-specific differentiation visible yet. Brazil shed 12.5% to USD 3,150–3,850.",
      "Mexico softened less. China → Mexico printed -9.88% to USD 5,150–6,250 as the January tariff frontload partially destocked but the Manzanillo demand floor held against weaker Andean dynamics. The lane remains the most expensive LATAM corridor."
    ],
    "pull_quote": {
      "stat": "-20.4%",
      "caption": "CHINA → SPAIN, SEA 40GP, MOM",
      "context": "the Iberian gateway gives back its full Q4 firm — post-LNY capacity rebuilds"
    },
    "watch_next": [
      "Iberian floor — whether March extends the destocking or finds support around USD 7,000.",
      "Pacific Alliance unwind continuation — five months of single-pulse behaviour; the cluster should bottom into Q2.",
      "Mexico tariff cycle — the lighter destock signals real underlying demand, not just frontload.",
      "Chancay (Peru) operational maturity — first scheduled deep-sea services still six months out."
    ]
  },
  "story": null,
  "counts": {
    "countries": 26,
    "pool_lanes": 9,
    "featured": 6,
    "overlap_lanes": 8
  }
}