{
  "version": "1.0.0",
  "month": "2025-11",
  "published": "2025-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": [
          1350,
          1650
        ],
        "sea_40gp_usd": [
          2150,
          2600
        ],
        "sea_lcl_usd_cbm": 96,
        "air_perkg_usd": 9.2,
        "express_perkg_usd": 14.7,
        "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": 13.1,
        "sea_20gp": 15.38,
        "air": 3.37,
        "express": 3.16,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          3675,
          3850,
          3375,
          2600,
          2400,
          2500,
          3375,
          2825,
          2350,
          2400,
          2100,
          2375
        ],
        "air_perkg_usd": [
          10.4,
          10.6,
          10.15,
          9.4,
          9.2,
          9.3,
          10.25,
          9.6,
          9.15,
          9.2,
          8.9,
          9.2
        ],
        "express_perkg_usd": [
          16.65,
          16.95,
          16.2,
          15,
          14.75,
          14.85,
          16.35,
          15.35,
          14.65,
          14.75,
          14.25,
          14.7
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      }
    },
    {
      "slug": "bolivia",
      "rates": {
        "sea_20gp_usd": [
          1500,
          1850
        ],
        "sea_40gp_usd": [
          2450,
          3000
        ],
        "sea_lcl_usd_cbm": 114,
        "air_perkg_usd": 9.4,
        "express_perkg_usd": 15,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          35,
          42
        ],
        "air": [
          4,
          6
        ],
        "rail": null,
        "express": [
          3,
          5
        ],
        "lcl": [
          11,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": 14.74,
        "sea_20gp": 13.56,
        "air": 3.3,
        "express": 3.09,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          4175,
          4375,
          3825,
          2950,
          2775,
          2825,
          3825,
          3225,
          2675,
          2725,
          2375,
          2725
        ],
        "air_perkg_usd": [
          10.65,
          10.8,
          10.35,
          9.6,
          9.4,
          9.5,
          10.45,
          9.8,
          9.35,
          9.4,
          9.1,
          9.4
        ],
        "express_perkg_usd": [
          17.05,
          17.3,
          16.55,
          15.35,
          15.05,
          15.15,
          16.7,
          15.7,
          15,
          15.05,
          14.55,
          15
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      }
    },
    {
      "slug": "brazil",
      "rates": {
        "sea_20gp_usd": [
          1450,
          1750
        ],
        "sea_40gp_usd": [
          2250,
          2750
        ],
        "sea_lcl_usd_cbm": 76,
        "air_perkg_usd": 9,
        "express_perkg_usd": 14.4,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          30,
          38
        ],
        "air": [
          3,
          4
        ],
        "rail": null,
        "express": [
          3,
          5
        ],
        "lcl": [
          9,
          17
        ]
      },
      "mom_delta": {
        "sea_40gp": 14.94,
        "sea_20gp": 14.29,
        "air": 3.45,
        "express": 3.23,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          3825,
          4000,
          3500,
          2675,
          2500,
          2575,
          3475,
          2950,
          2450,
          2500,
          2175,
          2500
        ],
        "air_perkg_usd": [
          10.2,
          10.35,
          9.9,
          9.15,
          9,
          9.05,
          10,
          9.4,
          8.95,
          9,
          8.7,
          9
        ],
        "express_perkg_usd": [
          16.3,
          16.55,
          15.85,
          14.7,
          14.4,
          14.5,
          16,
          15.05,
          14.35,
          14.4,
          13.95,
          14.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      }
    },
    {
      "slug": "chile",
      "rates": {
        "sea_20gp_usd": [
          1700,
          2050
        ],
        "sea_40gp_usd": [
          2700,
          3300
        ],
        "sea_lcl_usd_cbm": 134,
        "air_perkg_usd": 6.8,
        "express_perkg_usd": 10.85,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          10,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": 15.38,
        "sea_20gp": 13.64,
        "air": 3.03,
        "express": 3.33,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          4600,
          4825,
          4225,
          3225,
          3000,
          3100,
          4200,
          3550,
          2950,
          3000,
          2600,
          3000
        ],
        "air_perkg_usd": [
          7.7,
          7.85,
          7.5,
          6.95,
          6.8,
          6.85,
          7.55,
          7.1,
          6.75,
          6.8,
          6.6,
          6.8
        ],
        "express_perkg_usd": [
          12.3,
          12.5,
          12,
          11.1,
          10.9,
          10.95,
          12.1,
          11.35,
          10.85,
          10.9,
          10.5,
          10.85
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      }
    },
    {
      "slug": "colombia",
      "rates": {
        "sea_20gp_usd": [
          1700,
          2050
        ],
        "sea_40gp_usd": [
          2700,
          3300
        ],
        "sea_lcl_usd_cbm": 134,
        "air_perkg_usd": 9,
        "express_perkg_usd": 14.4,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          25,
          32
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          11,
          17
        ]
      },
      "mom_delta": {
        "sea_40gp": 15.38,
        "sea_20gp": 13.64,
        "air": 3.45,
        "express": 3.23,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          4600,
          4825,
          4225,
          3225,
          3000,
          3100,
          4200,
          3550,
          2950,
          3000,
          2600,
          3000
        ],
        "air_perkg_usd": [
          10.2,
          10.35,
          9.9,
          9.15,
          9,
          9.05,
          10,
          9.4,
          8.95,
          9,
          8.7,
          9
        ],
        "express_perkg_usd": [
          16.3,
          16.55,
          15.85,
          14.7,
          14.4,
          14.5,
          16,
          15.05,
          14.35,
          14.4,
          13.95,
          14.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      }
    },
    {
      "slug": "costa-rica",
      "rates": {
        "sea_20gp_usd": [
          1950,
          2400
        ],
        "sea_40gp_usd": [
          3100,
          3850
        ],
        "sea_lcl_usd_cbm": 141,
        "air_perkg_usd": 9.9,
        "express_perkg_usd": 15.8,
        "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": 34.95,
        "sea_20gp": 33.85,
        "air": 8.2,
        "express": 7.85,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          5650,
          6325,
          5700,
          3700,
          3275,
          3225,
          4350,
          4050,
          2625,
          2950,
          2575,
          3475
        ],
        "air_perkg_usd": [
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7,
          12,
          10.35,
          9.1,
          9.45,
          9.15,
          9.9
        ],
        "express_perkg_usd": [
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5,
          19.2,
          16.55,
          14.55,
          15.15,
          14.65,
          15.8
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI mixed",
            "icon": "chart",
            "status": "tighter",
            "text": "November GRIs partially successful — rates firming unevenly"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          },
          {
            "label": "Tariff shifts",
            "icon": "info",
            "status": "normal",
            "text": "Trade patterns adjusting — some nearshoring to Mexico"
          }
        ]
      }
    },
    {
      "slug": "cuba",
      "rates": {
        "sea_20gp_usd": [
          4950,
          6050
        ],
        "sea_40gp_usd": [
          7950,
          9700
        ],
        "sea_lcl_usd_cbm": 331,
        "air_perkg_usd": 10.4,
        "express_perkg_usd": 16.65,
        "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": 34.73,
        "sea_20gp": 34.15,
        "air": 7.77,
        "express": 7.77,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          14300,
          16000,
          14450,
          9400,
          8325,
          8200,
          11075,
          10300,
          6700,
          7450,
          6550,
          8825
        ],
        "air_perkg_usd": [
          12.2,
          12.75,
          12.25,
          10,
          10.25,
          10.2,
          12.65,
          10.9,
          9.6,
          9.95,
          9.65,
          10.4
        ],
        "express_perkg_usd": [
          19.55,
          20.4,
          19.6,
          16.05,
          16.35,
          16.3,
          20.25,
          17.4,
          15.35,
          15.95,
          15.45,
          16.65
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI mixed",
            "icon": "chart",
            "status": "tighter",
            "text": "November GRIs partially successful — rates firming unevenly"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          },
          {
            "label": "Tariff shifts",
            "icon": "info",
            "status": "normal",
            "text": "Trade patterns adjusting — some nearshoring to Mexico"
          }
        ]
      }
    },
    {
      "slug": "dominican-republic",
      "rates": {
        "sea_20gp_usd": [
          4950,
          6050
        ],
        "sea_40gp_usd": [
          7950,
          9700
        ],
        "sea_lcl_usd_cbm": 331,
        "air_perkg_usd": 10.4,
        "express_perkg_usd": 16.65,
        "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": 34.73,
        "sea_20gp": 34.15,
        "air": 7.77,
        "express": 7.77,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          14300,
          16000,
          14450,
          9400,
          8325,
          8200,
          11075,
          10300,
          6700,
          7450,
          6550,
          8825
        ],
        "air_perkg_usd": [
          12.2,
          12.75,
          12.25,
          10,
          10.25,
          10.2,
          12.65,
          10.9,
          9.6,
          9.95,
          9.65,
          10.4
        ],
        "express_perkg_usd": [
          19.55,
          20.4,
          19.6,
          16.05,
          16.35,
          16.3,
          20.25,
          17.4,
          15.35,
          15.95,
          15.45,
          16.65
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI mixed",
            "icon": "chart",
            "status": "tighter",
            "text": "November GRIs partially successful — rates firming unevenly"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          },
          {
            "label": "Tariff shifts",
            "icon": "info",
            "status": "normal",
            "text": "Trade patterns adjusting — some nearshoring to Mexico"
          }
        ]
      }
    },
    {
      "slug": "ecuador",
      "rates": {
        "sea_20gp_usd": [
          1700,
          2050
        ],
        "sea_40gp_usd": [
          2700,
          3300
        ],
        "sea_lcl_usd_cbm": 134,
        "air_perkg_usd": 9,
        "express_perkg_usd": 14.4,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          9,
          18
        ]
      },
      "mom_delta": {
        "sea_40gp": 15.38,
        "sea_20gp": 13.64,
        "air": 3.45,
        "express": 3.23,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          4600,
          4825,
          4225,
          3225,
          3000,
          3100,
          4200,
          3550,
          2950,
          3000,
          2600,
          3000
        ],
        "air_perkg_usd": [
          10.2,
          10.35,
          9.9,
          9.15,
          9,
          9.05,
          10,
          9.4,
          8.95,
          9,
          8.7,
          9
        ],
        "express_perkg_usd": [
          16.3,
          16.55,
          15.85,
          14.7,
          14.4,
          14.5,
          16,
          15.05,
          14.35,
          14.4,
          13.95,
          14.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      }
    },
    {
      "slug": "el-salvador",
      "rates": {
        "sea_20gp_usd": [
          1950,
          2400
        ],
        "sea_40gp_usd": [
          3100,
          3850
        ],
        "sea_lcl_usd_cbm": 141,
        "air_perkg_usd": 9.9,
        "express_perkg_usd": 15.8,
        "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": 34.95,
        "sea_20gp": 33.85,
        "air": 8.2,
        "express": 7.85,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          5650,
          6325,
          5700,
          3700,
          3275,
          3225,
          4350,
          4050,
          2625,
          2950,
          2575,
          3475
        ],
        "air_perkg_usd": [
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7,
          12,
          10.35,
          9.1,
          9.45,
          9.15,
          9.9
        ],
        "express_perkg_usd": [
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5,
          19.2,
          16.55,
          14.55,
          15.15,
          14.65,
          15.8
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI mixed",
            "icon": "chart",
            "status": "tighter",
            "text": "November GRIs partially successful — rates firming unevenly"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          },
          {
            "label": "Tariff shifts",
            "icon": "info",
            "status": "normal",
            "text": "Trade patterns adjusting — some nearshoring to Mexico"
          }
        ]
      }
    },
    {
      "slug": "guatemala",
      "rates": {
        "sea_20gp_usd": [
          1950,
          2400
        ],
        "sea_40gp_usd": [
          3100,
          3850
        ],
        "sea_lcl_usd_cbm": 141,
        "air_perkg_usd": 9.9,
        "express_perkg_usd": 15.8,
        "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": 34.95,
        "sea_20gp": 33.85,
        "air": 8.2,
        "express": 7.85,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          5650,
          6325,
          5700,
          3700,
          3275,
          3225,
          4350,
          4050,
          2625,
          2950,
          2575,
          3475
        ],
        "air_perkg_usd": [
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7,
          12,
          10.35,
          9.1,
          9.45,
          9.15,
          9.9
        ],
        "express_perkg_usd": [
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5,
          19.2,
          16.55,
          14.55,
          15.15,
          14.65,
          15.8
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI mixed",
            "icon": "chart",
            "status": "tighter",
            "text": "November GRIs partially successful — rates firming unevenly"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          },
          {
            "label": "Tariff shifts",
            "icon": "info",
            "status": "normal",
            "text": "Trade patterns adjusting — some nearshoring to Mexico"
          }
        ]
      }
    },
    {
      "slug": "guyana",
      "rates": {
        "sea_20gp_usd": [
          1500,
          1850
        ],
        "sea_40gp_usd": [
          2450,
          3000
        ],
        "sea_lcl_usd_cbm": 114,
        "air_perkg_usd": 9.4,
        "express_perkg_usd": 15,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          30,
          38
        ],
        "air": [
          4,
          6
        ],
        "rail": null,
        "express": [
          3,
          5
        ],
        "lcl": [
          12,
          19
        ]
      },
      "mom_delta": {
        "sea_40gp": 14.74,
        "sea_20gp": 13.56,
        "air": 3.3,
        "express": 3.09,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          4175,
          4375,
          3825,
          2950,
          2775,
          2825,
          3825,
          3225,
          2675,
          2725,
          2375,
          2725
        ],
        "air_perkg_usd": [
          10.65,
          10.8,
          10.35,
          9.6,
          9.4,
          9.5,
          10.45,
          9.8,
          9.35,
          9.4,
          9.1,
          9.4
        ],
        "express_perkg_usd": [
          17.05,
          17.3,
          16.55,
          15.35,
          15.05,
          15.15,
          16.7,
          15.7,
          15,
          15.05,
          14.55,
          15
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      }
    },
    {
      "slug": "haiti",
      "rates": {
        "sea_20gp_usd": [
          4950,
          6050
        ],
        "sea_40gp_usd": [
          7950,
          9700
        ],
        "sea_lcl_usd_cbm": 331,
        "air_perkg_usd": 10.4,
        "express_perkg_usd": 16.65,
        "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": 34.73,
        "sea_20gp": 34.15,
        "air": 7.77,
        "express": 7.77,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          14300,
          16000,
          14450,
          9400,
          8325,
          8200,
          11075,
          10300,
          6700,
          7450,
          6550,
          8825
        ],
        "air_perkg_usd": [
          12.2,
          12.75,
          12.25,
          10,
          10.25,
          10.2,
          12.65,
          10.9,
          9.6,
          9.95,
          9.65,
          10.4
        ],
        "express_perkg_usd": [
          19.55,
          20.4,
          19.6,
          16.05,
          16.35,
          16.3,
          20.25,
          17.4,
          15.35,
          15.95,
          15.45,
          16.65
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI mixed",
            "icon": "chart",
            "status": "tighter",
            "text": "November GRIs partially successful — rates firming unevenly"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          },
          {
            "label": "Tariff shifts",
            "icon": "info",
            "status": "normal",
            "text": "Trade patterns adjusting — some nearshoring to Mexico"
          }
        ]
      }
    },
    {
      "slug": "honduras",
      "rates": {
        "sea_20gp_usd": [
          1950,
          2400
        ],
        "sea_40gp_usd": [
          3100,
          3850
        ],
        "sea_lcl_usd_cbm": 141,
        "air_perkg_usd": 9.9,
        "express_perkg_usd": 15.8,
        "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": 34.95,
        "sea_20gp": 33.85,
        "air": 8.2,
        "express": 7.85,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          5650,
          6325,
          5700,
          3700,
          3275,
          3225,
          4350,
          4050,
          2625,
          2950,
          2575,
          3475
        ],
        "air_perkg_usd": [
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7,
          12,
          10.35,
          9.1,
          9.45,
          9.15,
          9.9
        ],
        "express_perkg_usd": [
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5,
          19.2,
          16.55,
          14.55,
          15.15,
          14.65,
          15.8
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI mixed",
            "icon": "chart",
            "status": "tighter",
            "text": "November GRIs partially successful — rates firming unevenly"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          },
          {
            "label": "Tariff shifts",
            "icon": "info",
            "status": "normal",
            "text": "Trade patterns adjusting — some nearshoring to Mexico"
          }
        ]
      }
    },
    {
      "slug": "jamaica",
      "rates": {
        "sea_20gp_usd": [
          4950,
          6050
        ],
        "sea_40gp_usd": [
          7950,
          9700
        ],
        "sea_lcl_usd_cbm": 331,
        "air_perkg_usd": 10.4,
        "express_perkg_usd": 16.65,
        "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": 34.73,
        "sea_20gp": 34.15,
        "air": 7.77,
        "express": 7.77,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          14300,
          16000,
          14450,
          9400,
          8325,
          8200,
          11075,
          10300,
          6700,
          7450,
          6550,
          8825
        ],
        "air_perkg_usd": [
          12.2,
          12.75,
          12.25,
          10,
          10.25,
          10.2,
          12.65,
          10.9,
          9.6,
          9.95,
          9.65,
          10.4
        ],
        "express_perkg_usd": [
          19.55,
          20.4,
          19.6,
          16.05,
          16.35,
          16.3,
          20.25,
          17.4,
          15.35,
          15.95,
          15.45,
          16.65
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI mixed",
            "icon": "chart",
            "status": "tighter",
            "text": "November GRIs partially successful — rates firming unevenly"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          },
          {
            "label": "Tariff shifts",
            "icon": "info",
            "status": "normal",
            "text": "Trade patterns adjusting — some nearshoring to Mexico"
          }
        ]
      }
    },
    {
      "slug": "mexico",
      "rates": {
        "sea_20gp_usd": [
          1950,
          2400
        ],
        "sea_40gp_usd": [
          3100,
          3850
        ],
        "sea_lcl_usd_cbm": 141,
        "air_perkg_usd": 9.9,
        "express_perkg_usd": 15.8,
        "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": 34.95,
        "sea_20gp": 33.85,
        "air": 8.2,
        "express": 7.85,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          5650,
          6325,
          5700,
          3700,
          3275,
          3225,
          4350,
          4050,
          2625,
          2950,
          2575,
          3475
        ],
        "air_perkg_usd": [
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7,
          12,
          10.35,
          9.1,
          9.45,
          9.15,
          9.9
        ],
        "express_perkg_usd": [
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5,
          19.2,
          16.55,
          14.55,
          15.15,
          14.65,
          15.8
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI mixed",
            "icon": "chart",
            "status": "tighter",
            "text": "November GRIs partially successful — rates firming unevenly"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          },
          {
            "label": "Tariff shifts",
            "icon": "info",
            "status": "normal",
            "text": "Trade patterns adjusting — some nearshoring to Mexico"
          }
        ]
      }
    },
    {
      "slug": "nicaragua",
      "rates": {
        "sea_20gp_usd": [
          1950,
          2400
        ],
        "sea_40gp_usd": [
          3100,
          3850
        ],
        "sea_lcl_usd_cbm": 141,
        "air_perkg_usd": 9.9,
        "express_perkg_usd": 15.8,
        "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": 34.95,
        "sea_20gp": 33.85,
        "air": 8.2,
        "express": 7.85,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          5650,
          6325,
          5700,
          3700,
          3275,
          3225,
          4350,
          4050,
          2625,
          2950,
          2575,
          3475
        ],
        "air_perkg_usd": [
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7,
          12,
          10.35,
          9.1,
          9.45,
          9.15,
          9.9
        ],
        "express_perkg_usd": [
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5,
          19.2,
          16.55,
          14.55,
          15.15,
          14.65,
          15.8
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI mixed",
            "icon": "chart",
            "status": "tighter",
            "text": "November GRIs partially successful — rates firming unevenly"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          },
          {
            "label": "Tariff shifts",
            "icon": "info",
            "status": "normal",
            "text": "Trade patterns adjusting — some nearshoring to Mexico"
          }
        ]
      }
    },
    {
      "slug": "panama",
      "rates": {
        "sea_20gp_usd": [
          1950,
          2400
        ],
        "sea_40gp_usd": [
          3100,
          3850
        ],
        "sea_lcl_usd_cbm": 141,
        "air_perkg_usd": 9.9,
        "express_perkg_usd": 15.8,
        "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": 34.95,
        "sea_20gp": 33.85,
        "air": 8.2,
        "express": 7.85,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          5650,
          6325,
          5700,
          3700,
          3275,
          3225,
          4350,
          4050,
          2625,
          2950,
          2575,
          3475
        ],
        "air_perkg_usd": [
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7,
          12,
          10.35,
          9.1,
          9.45,
          9.15,
          9.9
        ],
        "express_perkg_usd": [
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5,
          19.2,
          16.55,
          14.55,
          15.15,
          14.65,
          15.8
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI mixed",
            "icon": "chart",
            "status": "tighter",
            "text": "November GRIs partially successful — rates firming unevenly"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          },
          {
            "label": "Tariff shifts",
            "icon": "info",
            "status": "normal",
            "text": "Trade patterns adjusting — some nearshoring to Mexico"
          }
        ]
      }
    },
    {
      "slug": "paraguay",
      "rates": {
        "sea_20gp_usd": [
          1500,
          1850
        ],
        "sea_40gp_usd": [
          2450,
          3000
        ],
        "sea_lcl_usd_cbm": 114,
        "air_perkg_usd": 9.4,
        "express_perkg_usd": 15,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          35,
          42
        ],
        "air": [
          4,
          6
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          11,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": 14.74,
        "sea_20gp": 13.56,
        "air": 3.3,
        "express": 3.09,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          4175,
          4375,
          3825,
          2950,
          2775,
          2825,
          3825,
          3225,
          2675,
          2725,
          2375,
          2725
        ],
        "air_perkg_usd": [
          10.65,
          10.8,
          10.35,
          9.6,
          9.4,
          9.5,
          10.45,
          9.8,
          9.35,
          9.4,
          9.1,
          9.4
        ],
        "express_perkg_usd": [
          17.05,
          17.3,
          16.55,
          15.35,
          15.05,
          15.15,
          16.7,
          15.7,
          15,
          15.05,
          14.55,
          15
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      }
    },
    {
      "slug": "peru",
      "rates": {
        "sea_20gp_usd": [
          1500,
          1850
        ],
        "sea_40gp_usd": [
          2450,
          3000
        ],
        "sea_lcl_usd_cbm": 114,
        "air_perkg_usd": 9.4,
        "express_perkg_usd": 15,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          4
        ],
        "lcl": [
          11,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": 14.74,
        "sea_20gp": 13.56,
        "air": 3.3,
        "express": 3.09,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          4175,
          4375,
          3825,
          2950,
          2775,
          2825,
          3825,
          3225,
          2675,
          2725,
          2375,
          2725
        ],
        "air_perkg_usd": [
          10.65,
          10.8,
          10.35,
          9.6,
          9.4,
          9.5,
          10.45,
          9.8,
          9.35,
          9.4,
          9.1,
          9.4
        ],
        "express_perkg_usd": [
          17.05,
          17.3,
          16.55,
          15.35,
          15.05,
          15.15,
          16.7,
          15.7,
          15,
          15.05,
          14.55,
          15
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      }
    },
    {
      "slug": "portugal",
      "rates": {
        "sea_20gp_usd": [
          2200,
          2650
        ],
        "sea_40gp_usd": [
          3500,
          4250
        ],
        "sea_lcl_usd_cbm": 47,
        "air_perkg_usd": 7.45,
        "express_perkg_usd": 11.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": 10.71,
        "sea_20gp": 10.23,
        "air": 2.76,
        "express": 3.03,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          8275,
          8550,
          6825,
          5500,
          4375,
          4725,
          6375,
          6050,
          4875,
          4675,
          3500,
          3875
        ],
        "air_perkg_usd": [
          10,
          10.15,
          9.15,
          8.4,
          7.75,
          7.95,
          9,
          8.7,
          8,
          7.9,
          7.25,
          7.45
        ],
        "express_perkg_usd": [
          16,
          16.25,
          14.65,
          13.4,
          12.4,
          12.7,
          14.45,
          13.95,
          12.85,
          12.65,
          11.55,
          11.9
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI push",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing November rate increases — partial success"
          },
          {
            "label": "Red Sea status",
            "icon": "info",
            "status": "normal",
            "text": "Cape routing normalized — transit premium absorbed"
          },
          {
            "label": "Holiday demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Q4 e-commerce and holiday imports lifting volumes"
          },
          {
            "label": "Air e-commerce",
            "icon": "airplane",
            "status": "tighter",
            "text": "Online shopping boom tightening air space from Asia"
          }
        ]
      }
    },
    {
      "slug": "spain",
      "rates": {
        "sea_20gp_usd": [
          2800,
          3400
        ],
        "sea_40gp_usd": [
          4200,
          5150
        ],
        "sea_lcl_usd_cbm": 123,
        "air_perkg_usd": 7.85,
        "express_perkg_usd": 12.55,
        "rail_20gp_usd": [
          4400,
          5400
        ],
        "rail_40gp_usd": [
          6450,
          7850
        ],
        "rail_lcl_usd_cbm": 223
      },
      "transit_days": {
        "sea": [
          25,
          31
        ],
        "air": [
          5,
          7
        ],
        "rail": [
          13,
          18
        ],
        "express": [
          5,
          8
        ],
        "lcl": [
          26,
          35
        ]
      },
      "mom_delta": {
        "sea_40gp": 10.65,
        "sea_20gp": 10.71,
        "air": 3.29,
        "express": 2.87,
        "rail_40gp": 0.7
      },
      "series_12mo": {
        "sea_40gp_usd": [
          9950,
          10275,
          8175,
          6600,
          5275,
          5675,
          7675,
          7275,
          5850,
          5600,
          4225,
          4675
        ],
        "air_perkg_usd": [
          10.55,
          10.7,
          9.65,
          8.8,
          8.15,
          8.35,
          9.5,
          9.15,
          8.45,
          8.3,
          7.6,
          7.85
        ],
        "express_perkg_usd": [
          16.85,
          17.15,
          15.4,
          14.1,
          13.05,
          13.35,
          15.2,
          14.65,
          13.5,
          13.3,
          12.2,
          12.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI push",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing November rate increases — partial success"
          },
          {
            "label": "Red Sea status",
            "icon": "info",
            "status": "normal",
            "text": "Cape routing normalized — transit premium absorbed"
          },
          {
            "label": "Holiday demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Q4 e-commerce and holiday imports lifting volumes"
          },
          {
            "label": "Air e-commerce",
            "icon": "airplane",
            "status": "tighter",
            "text": "Online shopping boom tightening air space from Asia"
          }
        ]
      }
    },
    {
      "slug": "suriname",
      "rates": {
        "sea_20gp_usd": [
          1500,
          1850
        ],
        "sea_40gp_usd": [
          2450,
          3000
        ],
        "sea_lcl_usd_cbm": 114,
        "air_perkg_usd": 9.4,
        "express_perkg_usd": 15,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          30,
          38
        ],
        "air": [
          4,
          6
        ],
        "rail": null,
        "express": [
          3,
          5
        ],
        "lcl": [
          11,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": 14.74,
        "sea_20gp": 13.56,
        "air": 3.3,
        "express": 3.09,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          4175,
          4375,
          3825,
          2950,
          2775,
          2825,
          3825,
          3225,
          2675,
          2725,
          2375,
          2725
        ],
        "air_perkg_usd": [
          10.65,
          10.8,
          10.35,
          9.6,
          9.4,
          9.5,
          10.45,
          9.8,
          9.35,
          9.4,
          9.1,
          9.4
        ],
        "express_perkg_usd": [
          17.05,
          17.3,
          16.55,
          15.35,
          15.05,
          15.15,
          16.7,
          15.7,
          15,
          15.05,
          14.55,
          15
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      }
    },
    {
      "slug": "trinidad-and-tobago",
      "rates": {
        "sea_20gp_usd": [
          4950,
          6050
        ],
        "sea_40gp_usd": [
          7950,
          9700
        ],
        "sea_lcl_usd_cbm": 331,
        "air_perkg_usd": 10.4,
        "express_perkg_usd": 16.65,
        "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": 34.73,
        "sea_20gp": 34.15,
        "air": 7.77,
        "express": 7.77,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          14300,
          16000,
          14450,
          9400,
          8325,
          8200,
          11075,
          10300,
          6700,
          7450,
          6550,
          8825
        ],
        "air_perkg_usd": [
          12.2,
          12.75,
          12.25,
          10,
          10.25,
          10.2,
          12.65,
          10.9,
          9.6,
          9.95,
          9.65,
          10.4
        ],
        "express_perkg_usd": [
          19.55,
          20.4,
          19.6,
          16.05,
          16.35,
          16.3,
          20.25,
          17.4,
          15.35,
          15.95,
          15.45,
          16.65
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI mixed",
            "icon": "chart",
            "status": "tighter",
            "text": "November GRIs partially successful — rates firming unevenly"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          },
          {
            "label": "Tariff shifts",
            "icon": "info",
            "status": "normal",
            "text": "Trade patterns adjusting — some nearshoring to Mexico"
          }
        ]
      }
    },
    {
      "slug": "uruguay",
      "rates": {
        "sea_20gp_usd": [
          1400,
          1700
        ],
        "sea_40gp_usd": [
          2250,
          2750
        ],
        "sea_lcl_usd_cbm": 110,
        "air_perkg_usd": 11,
        "express_perkg_usd": 17.55,
        "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": 14.94,
        "sea_20gp": 14.81,
        "air": 3.29,
        "express": 3.24,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          3825,
          4000,
          3500,
          2675,
          2500,
          2575,
          3475,
          2950,
          2450,
          2500,
          2175,
          2500
        ],
        "air_perkg_usd": [
          12.45,
          12.65,
          12.1,
          11.2,
          11,
          11.1,
          12.25,
          11.5,
          10.95,
          11,
          10.65,
          11
        ],
        "express_perkg_usd": [
          19.95,
          20.25,
          19.4,
          17.95,
          17.65,
          17.75,
          19.55,
          18.4,
          17.55,
          17.6,
          17,
          17.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      }
    },
    {
      "slug": "venezuela",
      "rates": {
        "sea_20gp_usd": [
          1500,
          1850
        ],
        "sea_40gp_usd": [
          2450,
          3000
        ],
        "sea_lcl_usd_cbm": 114,
        "air_perkg_usd": 9.4,
        "express_perkg_usd": 15,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          11,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": 14.74,
        "sea_20gp": 13.56,
        "air": 3.3,
        "express": 3.09,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          4175,
          4375,
          3825,
          2950,
          2775,
          2825,
          3825,
          3225,
          2675,
          2725,
          2375,
          2725
        ],
        "air_perkg_usd": [
          10.65,
          10.8,
          10.35,
          9.6,
          9.4,
          9.5,
          10.45,
          9.8,
          9.35,
          9.4,
          9.1,
          9.4
        ],
        "express_perkg_usd": [
          17.05,
          17.3,
          16.55,
          15.35,
          15.05,
          15.15,
          16.7,
          15.7,
          15,
          15.05,
          14.55,
          15
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      }
    }
  ],
  "pool_lanes": [
    {
      "id": "china-brazil",
      "country_slug": "brazil",
      "country_name": "Brazil",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Ningbo (sea via Santos)",
      "narrative_angle": "Largest LATAM gateway — Santos congestion + China auto manufacturing investment surge",
      "search_demand": "H",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America East Coast (FBX)",
      "country_guide_path": "/country-guides/freight-from-china-to-brazil/",
      "rates": {
        "sea_20gp_usd": [
          1450,
          1750
        ],
        "sea_40gp_usd": [
          2250,
          2750
        ],
        "sea_lcl_usd_cbm": 76,
        "air_perkg_usd": 9,
        "express_perkg_usd": 14.4,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          30,
          38
        ],
        "air": [
          3,
          4
        ],
        "rail": null,
        "express": [
          3,
          5
        ],
        "lcl": [
          9,
          17
        ]
      },
      "mom_delta": {
        "sea_40gp": 14.94,
        "sea_20gp": 14.29,
        "air": 3.45,
        "express": 3.23,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          3825,
          4000,
          3500,
          2675,
          2500,
          2575,
          3475,
          2950,
          2450,
          2500,
          2175,
          2500
        ],
        "air_perkg_usd": [
          10.2,
          10.35,
          9.9,
          9.15,
          9,
          9.05,
          10,
          9.4,
          8.95,
          9,
          8.7,
          9
        ],
        "express_perkg_usd": [
          16.3,
          16.55,
          15.85,
          14.7,
          14.4,
          14.5,
          16,
          15.05,
          14.35,
          14.4,
          13.95,
          14.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      },
      "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": [
          1950,
          2400
        ],
        "sea_40gp_usd": [
          3100,
          3850
        ],
        "sea_lcl_usd_cbm": 141,
        "air_perkg_usd": 9.9,
        "express_perkg_usd": 15.8,
        "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": 34.95,
        "sea_20gp": 33.85,
        "air": 8.2,
        "express": 7.85,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          5650,
          6325,
          5700,
          3700,
          3275,
          3225,
          4350,
          4050,
          2625,
          2950,
          2575,
          3475
        ],
        "air_perkg_usd": [
          11.6,
          12.1,
          11.65,
          9.5,
          9.7,
          9.7,
          12,
          10.35,
          9.1,
          9.45,
          9.15,
          9.9
        ],
        "express_perkg_usd": [
          18.55,
          19.4,
          18.6,
          15.25,
          15.55,
          15.5,
          19.2,
          16.55,
          14.55,
          15.15,
          14.65,
          15.8
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI mixed",
            "icon": "chart",
            "status": "tighter",
            "text": "November GRIs partially successful — rates firming unevenly"
          },
          {
            "label": "Holiday rush",
            "icon": "calendar",
            "status": "tighter",
            "text": "Last-minute holiday cargo filling capacity"
          },
          {
            "label": "Tariff shifts",
            "icon": "info",
            "status": "normal",
            "text": "Trade patterns adjusting — some nearshoring to Mexico"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-chile",
      "country_slug": "chile",
      "country_name": "Chile",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Shanghai (sea via Valparaiso)",
      "narrative_angle": "Copper exporter / lithium triangle gateway via Valparaiso",
      "search_demand": "M",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America West Coast (FBX)",
      "country_guide_path": null,
      "rates": {
        "sea_20gp_usd": [
          1700,
          2050
        ],
        "sea_40gp_usd": [
          2700,
          3300
        ],
        "sea_lcl_usd_cbm": 134,
        "air_perkg_usd": 6.8,
        "express_perkg_usd": 10.85,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          10,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": 15.38,
        "sea_20gp": 13.64,
        "air": 3.03,
        "express": 3.33,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          4600,
          4825,
          4225,
          3225,
          3000,
          3100,
          4200,
          3550,
          2950,
          3000,
          2600,
          3000
        ],
        "air_perkg_usd": [
          7.7,
          7.85,
          7.5,
          6.95,
          6.8,
          6.85,
          7.55,
          7.1,
          6.75,
          6.8,
          6.6,
          6.8
        ],
        "express_perkg_usd": [
          12.3,
          12.5,
          12,
          11.1,
          10.9,
          10.95,
          12.1,
          11.35,
          10.85,
          10.9,
          10.5,
          10.85
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      },
      "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": [
          1500,
          1850
        ],
        "sea_40gp_usd": [
          2450,
          3000
        ],
        "sea_lcl_usd_cbm": 114,
        "air_perkg_usd": 9.4,
        "express_perkg_usd": 15,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          4
        ],
        "lcl": [
          11,
          16
        ]
      },
      "mom_delta": {
        "sea_40gp": 14.74,
        "sea_20gp": 13.56,
        "air": 3.3,
        "express": 3.09,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          4175,
          4375,
          3825,
          2950,
          2775,
          2825,
          3825,
          3225,
          2675,
          2725,
          2375,
          2725
        ],
        "air_perkg_usd": [
          10.65,
          10.8,
          10.35,
          9.6,
          9.4,
          9.5,
          10.45,
          9.8,
          9.35,
          9.4,
          9.1,
          9.4
        ],
        "express_perkg_usd": [
          17.05,
          17.3,
          16.55,
          15.35,
          15.05,
          15.15,
          16.7,
          15.7,
          15,
          15.05,
          14.55,
          15
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-colombia",
      "country_slug": "colombia",
      "country_name": "Colombia",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Shenzhen (sea via Buenaventura)",
      "narrative_angle": "Buenaventura main gateway, Caribbean access via Cartagena",
      "search_demand": "M",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America West Coast (FBX)",
      "country_guide_path": "/freight-china-colombia/",
      "rates": {
        "sea_20gp_usd": [
          1700,
          2050
        ],
        "sea_40gp_usd": [
          2700,
          3300
        ],
        "sea_lcl_usd_cbm": 134,
        "air_perkg_usd": 9,
        "express_perkg_usd": 14.4,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          25,
          32
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          11,
          17
        ]
      },
      "mom_delta": {
        "sea_40gp": 15.38,
        "sea_20gp": 13.64,
        "air": 3.45,
        "express": 3.23,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          4600,
          4825,
          4225,
          3225,
          3000,
          3100,
          4200,
          3550,
          2950,
          3000,
          2600,
          3000
        ],
        "air_perkg_usd": [
          10.2,
          10.35,
          9.9,
          9.15,
          9,
          9.05,
          10,
          9.4,
          8.95,
          9,
          8.7,
          9
        ],
        "express_perkg_usd": [
          16.3,
          16.55,
          15.85,
          14.7,
          14.4,
          14.5,
          16,
          15.05,
          14.35,
          14.4,
          13.95,
          14.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-ecuador",
      "country_slug": "ecuador",
      "country_name": "Ecuador",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Shanghai (sea via Guayaquil)",
      "narrative_angle": "Banana exporter, USD-economy, Guayaquil dredging",
      "search_demand": "L",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America West Coast (FBX)",
      "country_guide_path": "/freight-china-ecuador/",
      "rates": {
        "sea_20gp_usd": [
          1700,
          2050
        ],
        "sea_40gp_usd": [
          2700,
          3300
        ],
        "sea_lcl_usd_cbm": 134,
        "air_perkg_usd": 9,
        "express_perkg_usd": 14.4,
        "rail_20gp_usd": null,
        "rail_40gp_usd": null,
        "rail_lcl_usd_cbm": null
      },
      "transit_days": {
        "sea": [
          28,
          35
        ],
        "air": [
          3,
          5
        ],
        "rail": null,
        "express": [
          2,
          5
        ],
        "lcl": [
          9,
          18
        ]
      },
      "mom_delta": {
        "sea_40gp": 15.38,
        "sea_20gp": 13.64,
        "air": 3.45,
        "express": 3.23,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          4600,
          4825,
          4225,
          3225,
          3000,
          3100,
          4200,
          3550,
          2950,
          3000,
          2600,
          3000
        ],
        "air_perkg_usd": [
          10.2,
          10.35,
          9.9,
          9.15,
          9,
          9.05,
          10,
          9.4,
          8.95,
          9,
          8.7,
          9
        ],
        "express_perkg_usd": [
          16.3,
          16.55,
          15.85,
          14.7,
          14.4,
          14.5,
          16,
          15.05,
          14.35,
          14.4,
          13.95,
          14.4
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      },
      "narrative_draft": null
    },
    {
      "id": "china-argentina",
      "country_slug": "argentina",
      "country_name": "Argentina",
      "cluster": "latam-nearshoring",
      "primary_mode": "sea",
      "recommended_origin": "Ningbo (sea via Buenos Aires)",
      "narrative_angle": "Buenos Aires gateway — commodity exporter, FX-volatile demand cycles",
      "search_demand": "M",
      "fbx_drewry_overlap": true,
      "fbx_drewry_route": "China → South America East Coast (FBX)",
      "country_guide_path": null,
      "rates": {
        "sea_20gp_usd": [
          1350,
          1650
        ],
        "sea_40gp_usd": [
          2150,
          2600
        ],
        "sea_lcl_usd_cbm": 96,
        "air_perkg_usd": 9.2,
        "express_perkg_usd": 14.7,
        "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": 13.1,
        "sea_20gp": 15.38,
        "air": 3.37,
        "express": 3.16,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          3675,
          3850,
          3375,
          2600,
          2400,
          2500,
          3375,
          2825,
          2350,
          2400,
          2100,
          2375
        ],
        "air_perkg_usd": [
          10.4,
          10.6,
          10.15,
          9.4,
          9.2,
          9.3,
          10.25,
          9.6,
          9.15,
          9.2,
          8.9,
          9.2
        ],
        "express_perkg_usd": [
          16.65,
          16.95,
          16.2,
          15,
          14.75,
          14.85,
          16.35,
          15.35,
          14.65,
          14.75,
          14.25,
          14.7
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "Rate firming",
            "icon": "chart",
            "status": "tighter",
            "text": "GRI attempts pushing rates up on some lanes"
          },
          {
            "label": "Perishables",
            "icon": "container",
            "status": "tighter",
            "text": "Cold-chain exports tightening space on west coast routes"
          }
        ]
      },
      "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": [
          2800,
          3400
        ],
        "sea_40gp_usd": [
          4200,
          5150
        ],
        "sea_lcl_usd_cbm": 123,
        "air_perkg_usd": 7.85,
        "express_perkg_usd": 12.55,
        "rail_20gp_usd": [
          4400,
          5400
        ],
        "rail_40gp_usd": [
          6450,
          7850
        ],
        "rail_lcl_usd_cbm": 223
      },
      "transit_days": {
        "sea": [
          25,
          31
        ],
        "air": [
          5,
          7
        ],
        "rail": [
          13,
          18
        ],
        "express": [
          5,
          8
        ],
        "lcl": [
          26,
          35
        ]
      },
      "mom_delta": {
        "sea_40gp": 10.65,
        "sea_20gp": 10.71,
        "air": 3.29,
        "express": 2.87,
        "rail_40gp": 0.7
      },
      "series_12mo": {
        "sea_40gp_usd": [
          9950,
          10275,
          8175,
          6600,
          5275,
          5675,
          7675,
          7275,
          5850,
          5600,
          4225,
          4675
        ],
        "air_perkg_usd": [
          10.55,
          10.7,
          9.65,
          8.8,
          8.15,
          8.35,
          9.5,
          9.15,
          8.45,
          8.3,
          7.6,
          7.85
        ],
        "express_perkg_usd": [
          16.85,
          17.15,
          15.4,
          14.1,
          13.05,
          13.35,
          15.2,
          14.65,
          13.5,
          13.3,
          12.2,
          12.55
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI push",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing November rate increases — partial success"
          },
          {
            "label": "Red Sea status",
            "icon": "info",
            "status": "normal",
            "text": "Cape routing normalized — transit premium absorbed"
          },
          {
            "label": "Holiday demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Q4 e-commerce and holiday imports lifting volumes"
          },
          {
            "label": "Air e-commerce",
            "icon": "airplane",
            "status": "tighter",
            "text": "Online shopping boom tightening air space from Asia"
          }
        ]
      },
      "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": [
          2200,
          2650
        ],
        "sea_40gp_usd": [
          3500,
          4250
        ],
        "sea_lcl_usd_cbm": 47,
        "air_perkg_usd": 7.45,
        "express_perkg_usd": 11.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": 10.71,
        "sea_20gp": 10.23,
        "air": 2.76,
        "express": 3.03,
        "rail_40gp": null
      },
      "series_12mo": {
        "sea_40gp_usd": [
          8275,
          8550,
          6825,
          5500,
          4375,
          4725,
          6375,
          6050,
          4875,
          4675,
          3500,
          3875
        ],
        "air_perkg_usd": [
          10,
          10.15,
          9.15,
          8.4,
          7.75,
          7.95,
          9,
          8.7,
          8,
          7.9,
          7.25,
          7.45
        ],
        "express_perkg_usd": [
          16,
          16.25,
          14.65,
          13.4,
          12.4,
          12.7,
          14.45,
          13.95,
          12.85,
          12.65,
          11.55,
          11.9
        ]
      },
      "market_snapshot": {
        "items": [
          {
            "label": "GRI push",
            "icon": "chart",
            "status": "tighter",
            "text": "Carriers implementing November rate increases — partial success"
          },
          {
            "label": "Red Sea status",
            "icon": "info",
            "status": "normal",
            "text": "Cape routing normalized — transit premium absorbed"
          },
          {
            "label": "Holiday demand",
            "icon": "calendar",
            "status": "tighter",
            "text": "Q4 e-commerce and holiday imports lifting volumes"
          },
          {
            "label": "Air e-commerce",
            "icon": "airplane",
            "status": "tighter",
            "text": "Online shopping boom tightening air space from Asia"
          }
        ]
      },
      "narrative_draft": null
    }
  ],
  "featured": [
    {
      "lane_id": "china-mexico",
      "country_slug": "mexico",
      "country_name": "Mexico",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_up",
      "selection_value_pct": 34.95,
      "primary_mode": "sea",
      "narrative_angle": "Nearshoring beneficiary — Manzanillo + Lazaro Cardenas + US-Mexico trade corridor",
      "narrative_draft": null
    },
    {
      "lane_id": "china-chile",
      "country_slug": "chile",
      "country_name": "Chile",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_up",
      "selection_value_pct": 15.38,
      "primary_mode": "sea",
      "narrative_angle": "Copper exporter / lithium triangle gateway via Valparaiso",
      "narrative_draft": null
    },
    {
      "lane_id": "china-colombia",
      "country_slug": "colombia",
      "country_name": "Colombia",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_up",
      "selection_value_pct": 15.38,
      "primary_mode": "sea",
      "narrative_angle": "Buenaventura main gateway, Caribbean access via Cartagena",
      "narrative_draft": null
    },
    {
      "lane_id": "china-spain",
      "country_slug": "spain",
      "country_name": "Spain",
      "cluster": "iberian-gateway",
      "selection_reason": "top_mover_down",
      "selection_value_pct": 10.65,
      "primary_mode": "sea",
      "narrative_angle": "Algeciras / Valencia hub for Iberia + North Africa transshipment",
      "narrative_draft": null
    },
    {
      "lane_id": "china-portugal",
      "country_slug": "portugal",
      "country_name": "Portugal",
      "cluster": "iberian-gateway",
      "selection_reason": "top_mover_down",
      "selection_value_pct": 10.71,
      "primary_mode": "sea",
      "narrative_angle": "Sines deepwater port, Atlantic gateway for re-export to Africa + Americas",
      "narrative_draft": null
    },
    {
      "lane_id": "china-argentina",
      "country_slug": "argentina",
      "country_name": "Argentina",
      "cluster": "latam-nearshoring",
      "selection_reason": "top_mover_down",
      "selection_value_pct": 13.1,
      "primary_mode": "sea",
      "narrative_angle": "Buenos Aires gateway — commodity exporter, FX-volatile demand cycles",
      "narrative_draft": null
    },
    {
      "lane_id": "china-brazil",
      "country_slug": "brazil",
      "country_name": "Brazil",
      "cluster": "latam-nearshoring",
      "selection_reason": "narrative_event",
      "selection_value_pct": 14.94,
      "primary_mode": "sea",
      "narrative_angle": "Largest LATAM gateway — Santos congestion + China auto manufacturing investment surge",
      "narrative_draft": null
    },
    {
      "lane_id": "china-peru",
      "country_slug": "peru",
      "country_name": "Peru",
      "cluster": "latam-nearshoring",
      "selection_reason": "narrative_event",
      "selection_value_pct": 14.74,
      "primary_mode": "sea",
      "narrative_angle": "Chancay megaport just opened — first Chinese-built deep-sea hub on Pacific coast",
      "narrative_draft": null
    }
  ],
  "calibration": {
    "methodology": "Lane Tracker publishes a single-forwarder benchmark. Where SINO's lanes overlap with FBX (12 routes E-W) or Drewry WCI (8 routes), we publish a delta vs the public index. For the ~14-16 emerging-markets lanes with no public benchmark (Middle Corridor, East Africa, MENA secondary, SE Asia secondary, Caribbean), no comparable data exists publicly.",
    "overlap_lanes": [
      {
        "lane_id": "china-brazil",
        "country_name": "Brazil",
        "fbx_drewry_route": "China → South America East Coast (FBX)",
        "sino_midpoint_sea_40gp_usd": 2500,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      },
      {
        "lane_id": "china-mexico",
        "country_name": "Mexico",
        "fbx_drewry_route": "China → North America West Coast (FBX, partial proxy)",
        "sino_midpoint_sea_40gp_usd": 3475,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      },
      {
        "lane_id": "china-chile",
        "country_name": "Chile",
        "fbx_drewry_route": "China → South America West Coast (FBX)",
        "sino_midpoint_sea_40gp_usd": 3000,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      },
      {
        "lane_id": "china-peru",
        "country_name": "Peru",
        "fbx_drewry_route": "China → South America West Coast (FBX)",
        "sino_midpoint_sea_40gp_usd": 2725,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      },
      {
        "lane_id": "china-colombia",
        "country_name": "Colombia",
        "fbx_drewry_route": "China → South America West Coast (FBX)",
        "sino_midpoint_sea_40gp_usd": 3000,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      },
      {
        "lane_id": "china-ecuador",
        "country_name": "Ecuador",
        "fbx_drewry_route": "China → South America West Coast (FBX)",
        "sino_midpoint_sea_40gp_usd": 3000,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      },
      {
        "lane_id": "china-argentina",
        "country_name": "Argentina",
        "fbx_drewry_route": "China → South America East Coast (FBX)",
        "sino_midpoint_sea_40gp_usd": 2375,
        "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": 4675,
        "public_index_value_usd": null,
        "delta_pct": null,
        "note": "Public index values fetched manually at publish time (TODO: automate via FBX API + Drewry widget scrape)."
      }
    ],
    "no_benchmark_lanes_count": 1
  },
  "commentary": {
    "month": "2025-11",
    "author": "SINO Shipping desk",
    "title": "Mexico breaks out 35%, the pool firms across",
    "lede": "November flips the cycle. Mexico adds 35% in a single print — the second 35% positive move on the lane this year — the LATAM cluster firms 14–15%, Iberia rebounds 10–11%.",
    "paragraphs": [
      "China → Mexico sea 40GP rose 34.95% to USD 3,100–3,850 — the top mover by a wide margin and a near-perfect mirror of the August collapse. Manzanillo demand re-firmed sharply on US pre-Christmas restocking and tariff frontloading into the year-end policy window. The lane reclaims the LATAM premium it lost in April.",
      "The LATAM cluster firmed in tight bands. Pacific Alliance lanes — Chile, Colombia, Ecuador — each added 15.38%, Brazil +14.94% to USD 2,250–2,750, Peru +14.74%, Argentina +13.10%. Fourteen months of single-block movement holds through the rebound. The 35% Mexico move pulled the cluster up but did not break the Andean correlation.",
      "Iberia rebounded too, but more slowly. China → Portugal +10.71% to USD 3,500–4,250 and China → Spain +10.65% to USD 4,200–5,150. The gateway recovered roughly half of October's 25% collapse — Algeciras transshipment volumes rebuilt as European post-Black Friday restocking flowed. Cumulative since June is now -45%, still well off the December peak."
    ],
    "pull_quote": {
      "stat": "+34.95%",
      "caption": "CHINA → MEXICO, SEA 40GP, MOM",
      "context": "second 35% positive move on the lane in 2025 — tariff cycle running hot"
    },
    "watch_next": [
      "Mexico December continuation — third tariff frontload cycle this year; destocking risk into January.",
      "Iberia recovery extension — half the October collapse recovered; December typically firms on Christmas tail.",
      "Pacific Alliance block — fourteen months; Chancay first scheduled deep-sea services delayed signals are absent from the print.",
      "Brazil pre-Christmas peak — Santos congestion building; December should compound the firm move."
    ]
  },
  "story": null,
  "counts": {
    "countries": 26,
    "pool_lanes": 9,
    "featured": 8,
    "overlap_lanes": 8
  }
}