{
  "version": "1.0.0",
  "month": "2024-11",
  "published": "2024-11-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": [
          2000,
          2400
        ],
        "sea_40gp_usd": [
          3150,
          3850
        ],
        "sea_lcl_usd_cbm": 109,
        "air_perkg_usd": 10.25,
        "express_perkg_usd": 16.45,
        "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": 2.94,
        "sea_20gp": 3.53,
        "air": 0.99,
        "express": 1.23,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3400,
          3500
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.15,
          10.25
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.25,
          16.45
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      }
    },
    {
      "slug": "bolivia",
      "rates": {
        "sea_20gp_usd": [
          2250,
          2750
        ],
        "sea_40gp_usd": [
          3600,
          4400
        ],
        "sea_lcl_usd_cbm": 130,
        "air_perkg_usd": 10.5,
        "express_perkg_usd": 16.8,
        "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": 2.56,
        "sea_20gp": 4.17,
        "air": 0.96,
        "express": 0.9,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3900,
          4000
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      }
    },
    {
      "slug": "brazil",
      "rates": {
        "sea_20gp_usd": [
          2100,
          2600
        ],
        "sea_40gp_usd": [
          3300,
          4050
        ],
        "sea_lcl_usd_cbm": 87,
        "air_perkg_usd": 10.05,
        "express_perkg_usd": 16.1,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          30,
          38
        ],
        "air": [
          3,
          4
        ],
        "rail": null,
        "express": [
          3,
          5
        ],
        "lcl": [
          9,
          17
        ]
      },
      "mom_delta": {
        "sea_40gp": 3.52,
        "sea_20gp": 3.3,
        "air": 1.01,
        "express": 1.26,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3550,
          3675
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      }
    },
    {
      "slug": "chile",
      "rates": {
        "sea_20gp_usd": [
          2500,
          3050
        ],
        "sea_40gp_usd": [
          3950,
          4850
        ],
        "sea_lcl_usd_cbm": 153,
        "air_perkg_usd": 7.6,
        "express_perkg_usd": 12.15,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          10,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": 2.92,
        "sea_20gp": 3.74,
        "air": 1.33,
        "express": 0.83,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          4275,
          4400
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          7.5,
          7.6
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.05,
          12.15
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      }
    },
    {
      "slug": "colombia",
      "rates": {
        "sea_20gp_usd": [
          2500,
          3050
        ],
        "sea_40gp_usd": [
          3950,
          4850
        ],
        "sea_lcl_usd_cbm": 153,
        "air_perkg_usd": 10.05,
        "express_perkg_usd": 16.1,
        "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": 2.92,
        "sea_20gp": 3.74,
        "air": 1.01,
        "express": 1.26,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          4275,
          4400
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      }
    },
    {
      "slug": "costa-rica",
      "rates": {
        "sea_20gp_usd": [
          3200,
          3900
        ],
        "sea_40gp_usd": [
          5100,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.6,
        "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": -0.87,
        "sea_20gp": -1.39,
        "air": -0.43,
        "express": -0.27,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff watch",
            "icon": "alert",
            "status": "tighter",
            "text": "January 2025 tariff increases anticipated — frontloading demand"
          },
          {
            "label": "GRI applied",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing rate increases on transpacific"
          },
          {
            "label": "ILA update",
            "icon": "info",
            "status": "stable",
            "text": "Port labor talks ongoing — limited near-term disruption"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          }
        ]
      }
    },
    {
      "slug": "cuba",
      "rates": {
        "sea_20gp_usd": [
          8100,
          9850
        ],
        "sea_40gp_usd": [
          12950,
          15800
        ],
        "sea_lcl_usd_cbm": 400,
        "air_perkg_usd": 12.2,
        "express_perkg_usd": 19.55,
        "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": -0.86,
        "sea_20gp": -1.1,
        "air": -0.81,
        "express": -0.51,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          14500,
          14375
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.3,
          12.2
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          19.65,
          19.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff watch",
            "icon": "alert",
            "status": "tighter",
            "text": "January 2025 tariff increases anticipated — frontloading demand"
          },
          {
            "label": "GRI applied",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing rate increases on transpacific"
          },
          {
            "label": "ILA update",
            "icon": "info",
            "status": "stable",
            "text": "Port labor talks ongoing — limited near-term disruption"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          }
        ]
      }
    },
    {
      "slug": "dominican-republic",
      "rates": {
        "sea_20gp_usd": [
          8100,
          9850
        ],
        "sea_40gp_usd": [
          12950,
          15800
        ],
        "sea_lcl_usd_cbm": 400,
        "air_perkg_usd": 12.2,
        "express_perkg_usd": 19.55,
        "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": -0.86,
        "sea_20gp": -1.1,
        "air": -0.81,
        "express": -0.51,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          14500,
          14375
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.3,
          12.2
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          19.65,
          19.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff watch",
            "icon": "alert",
            "status": "tighter",
            "text": "January 2025 tariff increases anticipated — frontloading demand"
          },
          {
            "label": "GRI applied",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing rate increases on transpacific"
          },
          {
            "label": "ILA update",
            "icon": "info",
            "status": "stable",
            "text": "Port labor talks ongoing — limited near-term disruption"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          }
        ]
      }
    },
    {
      "slug": "ecuador",
      "rates": {
        "sea_20gp_usd": [
          2500,
          3050
        ],
        "sea_40gp_usd": [
          3950,
          4850
        ],
        "sea_lcl_usd_cbm": 153,
        "air_perkg_usd": 10.05,
        "express_perkg_usd": 16.1,
        "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": 2.92,
        "sea_20gp": 3.74,
        "air": 1.01,
        "express": 1.26,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          4275,
          4400
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      }
    },
    {
      "slug": "el-salvador",
      "rates": {
        "sea_20gp_usd": [
          3200,
          3900
        ],
        "sea_40gp_usd": [
          5100,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.6,
        "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": -0.87,
        "sea_20gp": -1.39,
        "air": -0.43,
        "express": -0.27,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff watch",
            "icon": "alert",
            "status": "tighter",
            "text": "January 2025 tariff increases anticipated — frontloading demand"
          },
          {
            "label": "GRI applied",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing rate increases on transpacific"
          },
          {
            "label": "ILA update",
            "icon": "info",
            "status": "stable",
            "text": "Port labor talks ongoing — limited near-term disruption"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          }
        ]
      }
    },
    {
      "slug": "guatemala",
      "rates": {
        "sea_20gp_usd": [
          3200,
          3900
        ],
        "sea_40gp_usd": [
          5100,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.6,
        "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": -0.87,
        "sea_20gp": -1.39,
        "air": -0.43,
        "express": -0.27,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff watch",
            "icon": "alert",
            "status": "tighter",
            "text": "January 2025 tariff increases anticipated — frontloading demand"
          },
          {
            "label": "GRI applied",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing rate increases on transpacific"
          },
          {
            "label": "ILA update",
            "icon": "info",
            "status": "stable",
            "text": "Port labor talks ongoing — limited near-term disruption"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          }
        ]
      }
    },
    {
      "slug": "guyana",
      "rates": {
        "sea_20gp_usd": [
          2250,
          2750
        ],
        "sea_40gp_usd": [
          3600,
          4400
        ],
        "sea_lcl_usd_cbm": 130,
        "air_perkg_usd": 10.5,
        "express_perkg_usd": 16.8,
        "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": 2.56,
        "sea_20gp": 4.17,
        "air": 0.96,
        "express": 0.9,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3900,
          4000
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      }
    },
    {
      "slug": "haiti",
      "rates": {
        "sea_20gp_usd": [
          8100,
          9850
        ],
        "sea_40gp_usd": [
          12950,
          15800
        ],
        "sea_lcl_usd_cbm": 400,
        "air_perkg_usd": 12.2,
        "express_perkg_usd": 19.55,
        "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": -0.86,
        "sea_20gp": -1.1,
        "air": -0.81,
        "express": -0.51,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          14500,
          14375
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.3,
          12.2
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          19.65,
          19.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff watch",
            "icon": "alert",
            "status": "tighter",
            "text": "January 2025 tariff increases anticipated — frontloading demand"
          },
          {
            "label": "GRI applied",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing rate increases on transpacific"
          },
          {
            "label": "ILA update",
            "icon": "info",
            "status": "stable",
            "text": "Port labor talks ongoing — limited near-term disruption"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          }
        ]
      }
    },
    {
      "slug": "honduras",
      "rates": {
        "sea_20gp_usd": [
          3200,
          3900
        ],
        "sea_40gp_usd": [
          5100,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.6,
        "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": -0.87,
        "sea_20gp": -1.39,
        "air": -0.43,
        "express": -0.27,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff watch",
            "icon": "alert",
            "status": "tighter",
            "text": "January 2025 tariff increases anticipated — frontloading demand"
          },
          {
            "label": "GRI applied",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing rate increases on transpacific"
          },
          {
            "label": "ILA update",
            "icon": "info",
            "status": "stable",
            "text": "Port labor talks ongoing — limited near-term disruption"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          }
        ]
      }
    },
    {
      "slug": "jamaica",
      "rates": {
        "sea_20gp_usd": [
          8100,
          9850
        ],
        "sea_40gp_usd": [
          12950,
          15800
        ],
        "sea_lcl_usd_cbm": 400,
        "air_perkg_usd": 12.2,
        "express_perkg_usd": 19.55,
        "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": -0.86,
        "sea_20gp": -1.1,
        "air": -0.81,
        "express": -0.51,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          14500,
          14375
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.3,
          12.2
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          19.65,
          19.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff watch",
            "icon": "alert",
            "status": "tighter",
            "text": "January 2025 tariff increases anticipated — frontloading demand"
          },
          {
            "label": "GRI applied",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing rate increases on transpacific"
          },
          {
            "label": "ILA update",
            "icon": "info",
            "status": "stable",
            "text": "Port labor talks ongoing — limited near-term disruption"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          }
        ]
      }
    },
    {
      "slug": "mexico",
      "rates": {
        "sea_20gp_usd": [
          3200,
          3900
        ],
        "sea_40gp_usd": [
          5100,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.6,
        "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": -0.87,
        "sea_20gp": -1.39,
        "air": -0.43,
        "express": -0.27,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff watch",
            "icon": "alert",
            "status": "tighter",
            "text": "January 2025 tariff increases anticipated — frontloading demand"
          },
          {
            "label": "GRI applied",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing rate increases on transpacific"
          },
          {
            "label": "ILA update",
            "icon": "info",
            "status": "stable",
            "text": "Port labor talks ongoing — limited near-term disruption"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          }
        ]
      }
    },
    {
      "slug": "nicaragua",
      "rates": {
        "sea_20gp_usd": [
          3200,
          3900
        ],
        "sea_40gp_usd": [
          5100,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.6,
        "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": -0.87,
        "sea_20gp": -1.39,
        "air": -0.43,
        "express": -0.27,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff watch",
            "icon": "alert",
            "status": "tighter",
            "text": "January 2025 tariff increases anticipated — frontloading demand"
          },
          {
            "label": "GRI applied",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing rate increases on transpacific"
          },
          {
            "label": "ILA update",
            "icon": "info",
            "status": "stable",
            "text": "Port labor talks ongoing — limited near-term disruption"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          }
        ]
      }
    },
    {
      "slug": "panama",
      "rates": {
        "sea_20gp_usd": [
          3200,
          3900
        ],
        "sea_40gp_usd": [
          5100,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.6,
        "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": -0.87,
        "sea_20gp": -1.39,
        "air": -0.43,
        "express": -0.27,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff watch",
            "icon": "alert",
            "status": "tighter",
            "text": "January 2025 tariff increases anticipated — frontloading demand"
          },
          {
            "label": "GRI applied",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing rate increases on transpacific"
          },
          {
            "label": "ILA update",
            "icon": "info",
            "status": "stable",
            "text": "Port labor talks ongoing — limited near-term disruption"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          }
        ]
      }
    },
    {
      "slug": "paraguay",
      "rates": {
        "sea_20gp_usd": [
          2250,
          2750
        ],
        "sea_40gp_usd": [
          3600,
          4400
        ],
        "sea_lcl_usd_cbm": 130,
        "air_perkg_usd": 10.5,
        "express_perkg_usd": 16.8,
        "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": 2.56,
        "sea_20gp": 4.17,
        "air": 0.96,
        "express": 0.9,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3900,
          4000
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      }
    },
    {
      "slug": "peru",
      "rates": {
        "sea_20gp_usd": [
          2250,
          2750
        ],
        "sea_40gp_usd": [
          3600,
          4400
        ],
        "sea_lcl_usd_cbm": 130,
        "air_perkg_usd": 10.5,
        "express_perkg_usd": 16.8,
        "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": 2.56,
        "sea_20gp": 4.17,
        "air": 0.96,
        "express": 0.9,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3900,
          4000
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      }
    },
    {
      "slug": "portugal",
      "rates": {
        "sea_20gp_usd": [
          4000,
          4850
        ],
        "sea_40gp_usd": [
          6350,
          7750
        ],
        "sea_lcl_usd_cbm": 61,
        "air_perkg_usd": 9.3,
        "express_perkg_usd": 14.9,
        "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": -3.75,
        "sea_20gp": -3.8,
        "air": -1.59,
        "express": -1.32,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          7325,
          7050
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.45,
          9.3
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.1,
          14.9
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Red Sea ongoing",
            "icon": "alert",
            "status": "tighter",
            "text": "Cape routing continues — surcharges baked into rates"
          },
          {
            "label": "GRI push",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers announcing November rate increases — book ahead"
          },
          {
            "label": "Pre-LNY demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Early booking wave for January/February shipments"
          },
          {
            "label": "Equipment",
            "icon": "container",
            "status": "tighter",
            "text": "Container availability tightening at Asian export hubs"
          }
        ]
      }
    },
    {
      "slug": "spain",
      "rates": {
        "sea_20gp_usd": [
          5050,
          6200
        ],
        "sea_40gp_usd": [
          7650,
          9350
        ],
        "sea_lcl_usd_cbm": 159,
        "air_perkg_usd": 9.8,
        "express_perkg_usd": 15.65,
        "rail_20gp_usd": [
          4650,
          5700
        ],
        "rail_40gp_usd": [
          6800,
          8300
        ],
        "rail_lcl_usd_cbm": 235
      },
      "transit_days": {
        "sea": [
          25,
          31
        ],
        "air": [
          5,
          7
        ],
        "rail": [
          13,
          18
        ],
        "express": [
          5,
          8
        ],
        "lcl": [
          26,
          35
        ]
      },
      "mom_delta": {
        "sea_40gp": -3.41,
        "sea_20gp": -3.43,
        "air": -1.51,
        "express": -1.57,
        "rail_40gp": 0
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          8800,
          8500
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          9.8
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          15.65
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Red Sea ongoing",
            "icon": "alert",
            "status": "tighter",
            "text": "Cape routing continues — surcharges baked into rates"
          },
          {
            "label": "GRI push",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers announcing November rate increases — book ahead"
          },
          {
            "label": "Pre-LNY demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Early booking wave for January/February shipments"
          },
          {
            "label": "Equipment",
            "icon": "container",
            "status": "tighter",
            "text": "Container availability tightening at Asian export hubs"
          }
        ]
      }
    },
    {
      "slug": "suriname",
      "rates": {
        "sea_20gp_usd": [
          2250,
          2750
        ],
        "sea_40gp_usd": [
          3600,
          4400
        ],
        "sea_lcl_usd_cbm": 130,
        "air_perkg_usd": 10.5,
        "express_perkg_usd": 16.8,
        "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": 2.56,
        "sea_20gp": 4.17,
        "air": 0.96,
        "express": 0.9,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3900,
          4000
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      }
    },
    {
      "slug": "trinidad-and-tobago",
      "rates": {
        "sea_20gp_usd": [
          8100,
          9850
        ],
        "sea_40gp_usd": [
          12950,
          15800
        ],
        "sea_lcl_usd_cbm": 400,
        "air_perkg_usd": 12.2,
        "express_perkg_usd": 19.55,
        "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": -0.86,
        "sea_20gp": -1.1,
        "air": -0.81,
        "express": -0.51,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          14500,
          14375
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.3,
          12.2
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          19.65,
          19.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff watch",
            "icon": "alert",
            "status": "tighter",
            "text": "January 2025 tariff increases anticipated — frontloading demand"
          },
          {
            "label": "GRI applied",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing rate increases on transpacific"
          },
          {
            "label": "ILA update",
            "icon": "info",
            "status": "stable",
            "text": "Port labor talks ongoing — limited near-term disruption"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          }
        ]
      }
    },
    {
      "slug": "uruguay",
      "rates": {
        "sea_20gp_usd": [
          2050,
          2550
        ],
        "sea_40gp_usd": [
          3300,
          4050
        ],
        "sea_lcl_usd_cbm": 125,
        "air_perkg_usd": 12.3,
        "express_perkg_usd": 19.65,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          32,
          40
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          10,
          15
        ]
      },
      "mom_delta": {
        "sea_40gp": 3.52,
        "sea_20gp": 3.37,
        "air": 1.23,
        "express": 1.03,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3550,
          3675
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.15,
          12.3
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          19.45,
          19.65
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      }
    },
    {
      "slug": "venezuela",
      "rates": {
        "sea_20gp_usd": [
          2250,
          2750
        ],
        "sea_40gp_usd": [
          3600,
          4400
        ],
        "sea_lcl_usd_cbm": 130,
        "air_perkg_usd": 10.5,
        "express_perkg_usd": 16.8,
        "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": 2.56,
        "sea_20gp": 4.17,
        "air": 0.96,
        "express": 0.9,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3900,
          4000
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      }
    }
  ],
  "pool_lanes": [
    {
      "id": "china-brazil",
      "country_slug": "brazil",
      "country_name": "Brazil",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Ningbo (sea via Santos)",
      "narrative_angle": "Largest LATAM gateway — Santos congestion + China auto manufacturing investment surge",
      "search_demand": "H",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America East Coast (FBX)",
      "country_guide_path": "/country-guides/freight-from-china-to-brazil/",
      "rates": {
        "sea_20gp_usd": [
          2100,
          2600
        ],
        "sea_40gp_usd": [
          3300,
          4050
        ],
        "sea_lcl_usd_cbm": 87,
        "air_perkg_usd": 10.05,
        "express_perkg_usd": 16.1,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          30,
          38
        ],
        "air": [
          3,
          4
        ],
        "rail": null,
        "express": [
          3,
          5
        ],
        "lcl": [
          9,
          17
        ]
      },
      "mom_delta": {
        "sea_40gp": 3.52,
        "sea_20gp": 3.3,
        "air": 1.01,
        "express": 1.26,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3550,
          3675
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-mexico",
      "country_slug": "mexico",
      "country_name": "Mexico",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Shenzhen (sea via Manzanillo)",
      "narrative_angle": "Nearshoring beneficiary — Manzanillo + Lazaro Cardenas + US-Mexico trade corridor",
      "search_demand": "H",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → North America West Coast (FBX, partial proxy)",
      "country_guide_path": "/freight-china-mexico/",
      "rates": {
        "sea_20gp_usd": [
          3200,
          3900
        ],
        "sea_40gp_usd": [
          5100,
          6250
        ],
        "sea_lcl_usd_cbm": 170,
        "air_perkg_usd": 11.6,
        "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": -0.87,
        "sea_20gp": -1.39,
        "air": -0.43,
        "express": -0.27,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          5725,
          5675
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          11.65,
          11.6
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          18.65,
          18.6
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Tariff watch",
            "icon": "alert",
            "status": "tighter",
            "text": "January 2025 tariff increases anticipated — frontloading demand"
          },
          {
            "label": "GRI applied",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing rate increases on transpacific"
          },
          {
            "label": "ILA update",
            "icon": "info",
            "status": "stable",
            "text": "Port labor talks ongoing — limited near-term disruption"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          }
        ]
      },
      "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": [
          2500,
          3050
        ],
        "sea_40gp_usd": [
          3950,
          4850
        ],
        "sea_lcl_usd_cbm": 153,
        "air_perkg_usd": 7.6,
        "express_perkg_usd": 12.15,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          10,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": 2.92,
        "sea_20gp": 3.74,
        "air": 1.33,
        "express": 0.83,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          4275,
          4400
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          7.5,
          7.6
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          12.05,
          12.15
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-peru",
      "country_slug": "peru",
      "country_name": "Peru",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Shanghai (sea via Chancay/Callao)",
      "narrative_angle": "Chancay megaport just opened — first Chinese-built deep-sea hub on Pacific coast",
      "search_demand": "H",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America West Coast (FBX)",
      "country_guide_path": "/shipping-from-china-to-peru/",
      "rates": {
        "sea_20gp_usd": [
          2250,
          2750
        ],
        "sea_40gp_usd": [
          3600,
          4400
        ],
        "sea_lcl_usd_cbm": 130,
        "air_perkg_usd": 10.5,
        "express_perkg_usd": 16.8,
        "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": 2.56,
        "sea_20gp": 4.17,
        "air": 0.96,
        "express": 0.9,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3900,
          4000
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.4,
          10.5
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.65,
          16.8
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-colombia",
      "country_slug": "colombia",
      "country_name": "Colombia",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Shenzhen (sea via Buenaventura)",
      "narrative_angle": "Buenaventura main gateway, Caribbean access via Cartagena",
      "search_demand": "M",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America West Coast (FBX)",
      "country_guide_path": "/freight-china-colombia/",
      "rates": {
        "sea_20gp_usd": [
          2500,
          3050
        ],
        "sea_40gp_usd": [
          3950,
          4850
        ],
        "sea_lcl_usd_cbm": 153,
        "air_perkg_usd": 10.05,
        "express_perkg_usd": 16.1,
        "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": 2.92,
        "sea_20gp": 3.74,
        "air": 1.01,
        "express": 1.26,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          4275,
          4400
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-ecuador",
      "country_slug": "ecuador",
      "country_name": "Ecuador",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Shanghai (sea via Guayaquil)",
      "narrative_angle": "Banana exporter, USD-economy, Guayaquil dredging",
      "search_demand": "L",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America West Coast (FBX)",
      "country_guide_path": "/freight-china-ecuador/",
      "rates": {
        "sea_20gp_usd": [
          2500,
          3050
        ],
        "sea_40gp_usd": [
          3950,
          4850
        ],
        "sea_lcl_usd_cbm": 153,
        "air_perkg_usd": 10.05,
        "express_perkg_usd": 16.1,
        "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": 2.92,
        "sea_20gp": 3.74,
        "air": 1.01,
        "express": 1.26,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          4275,
          4400
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          10.05
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          16.1
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-argentina",
      "country_slug": "argentina",
      "country_name": "Argentina",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Ningbo (sea via Buenos Aires)",
      "narrative_angle": "Buenos Aires gateway — commodity exporter, FX-volatile demand cycles",
      "search_demand": "M",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America East Coast (FBX)",
      "country_guide_path": null,
      "rates": {
        "sea_20gp_usd": [
          2000,
          2400
        ],
        "sea_40gp_usd": [
          3150,
          3850
        ],
        "sea_lcl_usd_cbm": 109,
        "air_perkg_usd": 10.25,
        "express_perkg_usd": 16.45,
        "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": 2.94,
        "sea_20gp": 3.53,
        "air": 0.99,
        "express": 1.23,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          3400,
          3500
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          10.15,
          10.25
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          16.25,
          16.45
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Year-end demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Import demand rising for holiday season across region"
          },
          {
            "label": "Rate pressure",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers pushing GRIs on Asia-South America lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports from Chile/Peru keeping space tight"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-spain",
      "country_slug": "spain",
      "country_name": "Spain",
      "cluster": "iberian-gateway",
      "primary_mode": "sea",
      "recommended_origin": "Shanghai (sea via Algeciras / Valencia)",
      "narrative_angle": "Algeciras / Valencia hub for Iberia + North Africa transshipment",
      "search_demand": "H",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → North Europe / Med (FBX, Med proxy)",
      "country_guide_path": null,
      "rates": {
        "sea_20gp_usd": [
          5050,
          6200
        ],
        "sea_40gp_usd": [
          7650,
          9350
        ],
        "sea_lcl_usd_cbm": 159,
        "air_perkg_usd": 9.8,
        "express_perkg_usd": 15.65,
        "rail_20gp_usd": [
          4650,
          5700
        ],
        "rail_40gp_usd": [
          6800,
          8300
        ],
        "rail_lcl_usd_cbm": 235
      },
      "transit_days": {
        "sea": [
          25,
          31
        ],
        "air": [
          5,
          7
        ],
        "rail": [
          13,
          18
        ],
        "express": [
          5,
          8
        ],
        "lcl": [
          26,
          35
        ]
      },
      "mom_delta": {
        "sea_40gp": -3.41,
        "sea_20gp": -3.43,
        "air": -1.51,
        "express": -1.57,
        "rail_40gp": 0
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          8800,
          8500
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.95,
          9.8
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.9,
          15.65
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Red Sea ongoing",
            "icon": "alert",
            "status": "tighter",
            "text": "Cape routing continues — surcharges baked into rates"
          },
          {
            "label": "GRI push",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers announcing November rate increases — book ahead"
          },
          {
            "label": "Pre-LNY demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Early booking wave for January/February shipments"
          },
          {
            "label": "Equipment",
            "icon": "container",
            "status": "tighter",
            "text": "Container availability tightening at Asian export hubs"
          }
        ]
      },
      "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": [
          4000,
          4850
        ],
        "sea_40gp_usd": [
          6350,
          7750
        ],
        "sea_lcl_usd_cbm": 61,
        "air_perkg_usd": 9.3,
        "express_perkg_usd": 14.9,
        "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": -3.75,
        "sea_20gp": -3.8,
        "air": -1.59,
        "express": -1.32,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          7325,
          7050
        ],
        "air_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          9.45,
          9.3
        ],
        "express_perkg_usd": [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          15.1,
          14.9
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Red Sea ongoing",
            "icon": "alert",
            "status": "tighter",
            "text": "Cape routing continues — surcharges baked into rates"
          },
          {
            "label": "GRI push",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers announcing November rate increases — book ahead"
          },
          {
            "label": "Pre-LNY demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Early booking wave for January/February shipments"
          },
          {
            "label": "Equipment",
            "icon": "container",
            "status": "tighter",
            "text": "Container availability tightening at Asian export hubs"
          }
        ]
      },
      "narrative_draft": null
    }
  ],
  "featured": [
    {
      "lane_id": "china-brazil",
      "country_slug": "brazil",
      "country_name": "Brazil",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_up",
      "selection_value_pct": 3.52,
      "primary_mode": "sea",
      "narrative_angle": "Largest LATAM gateway — Santos congestion + China auto manufacturing investment surge",
      "narrative_draft": null
    },
    {
      "lane_id": "china-argentina",
      "country_slug": "argentina",
      "country_name": "Argentina",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_up",
      "selection_value_pct": 2.94,
      "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": 2.92,
      "primary_mode": "sea",
      "narrative_angle": "Copper exporter / lithium triangle gateway via Valparaiso",
      "narrative_draft": null
    },
    {
      "lane_id": "china-portugal",
      "country_slug": "portugal",
      "country_name": "Portugal",
      "cluster": "iberian-gateway",
      "selection_reason": "top_mover_down",
      "selection_value_pct": -3.75,
      "primary_mode": "sea",
      "narrative_angle": "Sines deepwater port, Atlantic gateway for re-export to Africa + Americas",
      "narrative_draft": null
    },
    {
      "lane_id": "china-spain",
      "country_slug": "spain",
      "country_name": "Spain",
      "cluster": "iberian-gateway",
      "selection_reason": "top_mover_down",
      "selection_value_pct": -3.41,
      "primary_mode": "sea",
      "narrative_angle": "Algeciras / Valencia hub for Iberia + North Africa transshipment",
      "narrative_draft": null
    },
    {
      "lane_id": "china-mexico",
      "country_slug": "mexico",
      "country_name": "Mexico",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_down",
      "selection_value_pct": -0.87,
      "primary_mode": "sea",
      "narrative_angle": "Nearshoring beneficiary — Manzanillo + Lazaro Cardenas + US-Mexico trade corridor",
      "narrative_draft": null
    },
    {
      "lane_id": "china-peru",
      "country_slug": "peru",
      "country_name": "Peru",
      "cluster": "latam-nearshoring",
      "selection_reason": "narrative_event",
      "selection_value_pct": 2.56,
      "primary_mode": "sea",
      "narrative_angle": "Chancay megaport just opened — first Chinese-built deep-sea hub on Pacific coast",
      "narrative_draft": null
    },
    {
      "lane_id": "china-colombia",
      "country_slug": "colombia",
      "country_name": "Colombia",
      "cluster": "latam-nearshoring",
      "selection_reason": "narrative_event",
      "selection_value_pct": 2.92,
      "primary_mode": "sea",
      "narrative_angle": "Buenaventura main gateway, Caribbean access via Cartagena",
      "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": 3675,
        "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": 5675,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      },
      {
        "lane_id": "china-chile",
        "country_name": "Chile",
        "fbx_drewry_route": "China → South America West Coast (FBX)",
        "sino_midpoint_sea_40gp_usd": 4400,
        "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": 4000,
        "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": 4400,
        "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": 4400,
        "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": 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-spain",
        "country_name": "Spain",
        "fbx_drewry_route": "China → North Europe / Med (FBX, Med proxy)",
        "sino_midpoint_sea_40gp_usd": 8500,
        "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": "2024-11",
    "author": "SINO Shipping desk",
    "title": "Iberia softens, South America firms",
    "lede": "The first month-over-month read splits the pool cleanly: Iberia drifts down post-Christmas frontload, the South American lanes firm modestly into year-end demand. Mexico is flat.",
    "paragraphs": [
      "China → Brazil sea 40GP rose 3.52% to USD 3,300–4,050, the largest upward move in the pool. Argentina and the Pacific Alliance lanes — Chile, Colombia, Ecuador — each added between 2.9 and 3.0%, tracking a single Andean demand pulse rather than nine independent stories. Callao gained 2.56% as forward bookings priced in the Chancay megaport inauguration scheduled for this month.",
      "Iberia ran the opposite direction. China → Portugal shed 3.75% and China → Spain shed 3.41% as the inventory build ahead of the European Christmas window completed and forward orders thinned. Algeciras and Sines transshipment flows softened with the seasonal turn.",
      "Mexico sat between the two. China → Mexico printed -0.87% — effectively flat — as Manzanillo continued absorbing nearshoring demand against the post-frontload tonnage build. The lane is the highest absolute level in the LATAM cluster but is no longer accelerating."
    ],
    "pull_quote": {
      "stat": "+3.52%",
      "caption": "CHINA → BRAZIL, SEA 40GP, MOM",
      "context": "the top mover in the pool — Santos firming into Q4 demand"
    },
    "watch_next": [
      "Chancay (Peru) megaport opens this month — first reading on capacity reallocation between Callao and the new deep-sea hub.",
      "Iberian December cycle — Spain and Portugal typically find a floor before the new-year inventory pull begins.",
      "Mexico tariff signal — frontloading dynamics into Manzanillo as US policy timeline crystallises.",
      "Brazil agribusiness export window — Santos congestion on the inbound side if berth dwell extends."
    ]
  },
  "story": null,
  "counts": {
    "countries": 26,
    "pool_lanes": 9,
    "featured": 8,
    "overlap_lanes": 8
  }
}