/** Por peso: un monto base más un monto por cada kilo empezado. */
public record ByWeight(Money base, Money perKilo) implements ShippingRate {
    @Override
    public Money cost(Parcel parcel) {
        long kilos = (parcel.grams() + 999) / 1000;     // 1 g a 1000 g cuenta como 1 kilo
        return base.plus(perKilo.times(kilos));
    }
}
